multica-ai/multica · error

execenv: hydrate codex skills: %w

Error message

execenv: hydrate codex skills: %w

What it means

Error "execenv: hydrate codex skills: %w" thrown in multica-ai/multica.

Source

Thrown at server/internal/daemon/execenv/execenv.go:497

	// session), which must never block dispatching this task.
	if params.LocalWorkDir == "" && params.Task.IssueID != "" {
		if err := WriteManagedEnvProvenance(envRoot, ManagedEnvProvenance{
			WorkspaceID: params.WorkspaceID,
			IssueID:     params.Task.IssueID,
			AgentID:     params.Task.AgentID,
		}); err != nil && logger != nil {
			logger.Warn("execenv: write managed env provenance failed (non-fatal); a follow-up may start a fresh session", "error", err)
		}
	}

	// For Codex, set up a per-task CODEX_HOME seeded from ~/.codex/ with skills.
	if params.Provider == "codex" {
		codexHome := filepath.Join(envRoot, codexHomeDirName)
		if err := prepareCodexHomeWithOpts(codexHome, CodexHomeOptions{CodexVersion: params.CodexVersion, IsLocalDirectory: params.LocalWorkDir != "" || params.LocalWorktree != nil, SessionStoreKey: codexSessionStoreKey(params.Profile, params.Task), CodexCustomArgs: params.CodexCustomArgs}, logger); err != nil {
			return nil, fmt.Errorf("execenv: prepare codex-home: %w", err)
		}
		if err := hydrateCodexSkills(codexHome, params.Task.AgentSkills, params.Task.DisabledRuntimeSkills, logger); err != nil {
			return nil, fmt.Errorf("execenv: hydrate codex skills: %w", err)
		}
		env.CodexHome = codexHome
	}

	if params.Provider == "claude" {
		settingsPath, err := prepareClaudeSkillSettings(envRoot, params.Task.DisabledRuntimeSkills, params.Task.AgentSkills)
		if err != nil {
			return nil, fmt.Errorf("execenv: prepare claude skill settings: %w", err)
		}
		env.ClaudeSettingsPath = settingsPath
	}

	// For Hermes, redirect HERMES_HOME to a per-task compatibility overlay ONLY
	// when the agent has skills bound. A skill-less Hermes task keeps the user's
	// real home and its original behavior untouched. The overlay makes the bound
	// skills visible — Hermes discovers skills only from its home, so the old
	// .agent_context/skills/ fallback was never read (issue #5242). See
	// hermes_home.go.

View on GitHub (pinned to 2c0912b6ec)

Solutions

  1. Inspect the wrapped error from codex skills hydration.

When it happens

Trigger: Thrown at server/internal/daemon/execenv/execenv.go:497 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/dfa21050ccdd9728. Report an issue: GitHub.