multica-ai/multica · error

start task failed: %w

Error message

start task failed: %w

What it means

Error "start task failed: %w" thrown in multica-ai/multica.

Source

Thrown at server/internal/daemon/daemon.go:6656

		if cerr := os.RemoveAll(taskTempDir); cerr != nil {
			taskLog.Warn("task temp dir cleanup failed", "path", taskTempDir, "error", cerr)
		}
	}()

	// Issue #3999 race A: now that env.WorkDir is on disk, transition the
	// server-side state machine dispatched (or waiting_local_directory) →
	// running. Calling StartTask before Prepare/Reuse let any consumer
	// that read status==running and resolved
	// /multica_workspaces/{ws}/{short-id}/workdir hit FileNotFoundError in
	// the microsecond window before os.MkdirAll ran.
	//
	// On error we return early so handleTask's existing FailTask +
	// taskfailure.Classify path records the failure with the same
	// "start task failed: <…>" string and the same failure_reason
	// taxonomy as before — see MUL-2946 for the classifier contract.
	if err := d.client.StartTask(prepareCtx, task.ID); err != nil {
		stopPrepareLease()
		return TaskResult{}, fmt.Errorf("start task failed: %w", err)
	}
	stopPrepareLease()
	prepareComplete = true
	cancelPrepare()
	_ = d.client.ReportProgress(ctx, task.ID, fmt.Sprintf("Launching %s", provider), 1, 2)

	reused := gateResumeToReusedWorkdir(&task, &taskCtx, env.WorkDir, sessionHomeReachable(provider, env, envReused), taskLog)
	// A reused workdir is necessary but not sufficient for a Codex resume: the
	// prior thread's rollout must actually be present in this task's CODEX_HOME
	// sessions (MUL-4424 isolates them). Drop the resume before the brief is
	// generated below if it isn't, so we never tell the agent it is continuing a
	// conversation Codex will silently restart from scratch.
	if reused {
		gateCodexResumeToRolloutPresence(&task, &taskCtx, provider, env.CodexHome, taskLog)
	}

	// Inject runtime-specific config (meta skill) so the agent discovers .agent_context/.
	runtimeBrief, err := execenv.InjectRuntimeConfig(env.WorkDir, provider, taskCtx)

View on GitHub (pinned to 2c0912b6ec)

Solutions

  1. Inspect the wrapped error for the underlying task start failure.

When it happens

Trigger: Thrown at server/internal/daemon/daemon.go:6656 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15). Data as JSON: /api/errors/9df6dc1048c00609. Report an issue: GitHub.