argoproj/argo-workflows · error

failed to submit workflow: %w

Error message

failed to submit workflow: %w

What it means

The SubmitWorkflow gRPC call made by argo submit --from failed on the server side; the wrapped error is the server's rejection (validation failure, RBAC denial, cluster error) after all client-side option validation already passed.

Source

Thrown at cmd/argo/commands/submit.go:206

	if err := validateOptions([]wfv1.Workflow{tempwf}, submitOpts, cliOpts); err != nil {
		return err
	}
	if cliOpts.ScheduledTime != "" {
		_, err := time.Parse(time.RFC3339, cliOpts.ScheduledTime)
		if err != nil {
			return fmt.Errorf("scheduled-time contains invalid time.RFC3339 format. (e.g.: `2006-01-02T15:04:05-07:00`)")
		}
		submitOpts.Annotations = fmt.Sprintf("%s=%s", wfcommon.AnnotationKeyCronWfScheduledTime, cliOpts.ScheduledTime)
	}

	created, err := serviceClient.SubmitWorkflow(ctx, &workflowpkg.WorkflowSubmitRequest{
		Namespace:     namespace,
		ResourceKind:  kind,
		ResourceName:  name,
		SubmitOptions: submitOpts,
	})
	if err != nil {
		return fmt.Errorf("failed to submit workflow: %w", err)
	}

	if err = printWorkflow(created, common.GetFlags{Output: cliOpts.Output}); err != nil {
		return err
	}

	return common.WaitWatchOrLog(ctx, serviceClient, namespace, []string{created.Name}, *cliOpts)
}

func submitWorkflows(ctx context.Context, serviceClient workflowpkg.WorkflowServiceClient, namespace string, workflows []wfv1.Workflow, submitOpts *wfv1.SubmitOpts, cliOpts *common.CliSubmitOpts) error {
	if err := validateOptions(workflows, submitOpts, cliOpts); err != nil {
		return err
	}

	if len(workflows) == 0 {
		return errors.New("no workflow found in given files")
	}

View on GitHub (pinned to 35bff19146)

Solutions

  1. Inspect the wrapped server error message
  2. Lint the source resource (workflow template / cluster workflow template / cron workflow)
  3. Verify RBAC for submitting from that resource
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at cmd/argo/commands/submit.go:206 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of argoproj/argo-workflows@35bff19146 (2026-09-03). Data as JSON: /api/errors/0b19663f15ae49f0. Report an issue: GitHub.