{"record":{"id":"8a56b00b828c507d","repo":"multica-ai/multica","slug":"prepare-reasonix-state-home-w","errorCode":null,"errorMessage":"prepare reasonix state home: %w","messagePattern":"prepare reasonix state home: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/internal/daemon/daemon.go","lineNumber":6774,"sourceCode":"\t// wrapper-out-of-envRoot $include into ~/.openclaw/openclaw.json is\n\t// rejected and the run boots with no user-registered agents.\n\tif rootsValue, ok := composeOpenclawIncludeRoots(env.OpenclawIncludeRoot, os.Getenv(\"OPENCLAW_INCLUDE_ROOTS\")); ok {\n\t\tagentEnv[\"OPENCLAW_INCLUDE_ROOTS\"] = rootsValue\n\t}\n\t// Inject user-configured custom environment variables (e.g. ANTHROPIC_API_KEY,\n\t// ANTHROPIC_BASE_URL for router/proxy mode, or CLAUDE_CODE_USE_BEDROCK for\n\t// Bedrock). These are set per-agent via the agent settings UI.\n\t// Critical internal variables are blocklisted to prevent accidental or\n\t// malicious override of daemon-set values.\n\tvar agentCustomEnv map[string]string\n\tif task.Agent != nil {\n\t\tagentCustomEnv = task.Agent.CustomEnv\n\t}\n\tlayerCustomEnvAndHermesHome(agentEnv, agentCustomEnv, env.HermesHome, d.logger)\n\tif provider == \"reasonix\" {\n\t\treasonixStateHome, err := prepareReasonixTaskStateHome(d.cfg.Profile, task.RuntimeID, task.AgentID)\n\t\tif err != nil {\n\t\t\treturn TaskResult{}, fmt.Errorf(\"prepare reasonix state home: %w\", err)\n\t\t}\n\t\tagentEnv[\"REASONIX_STATE_HOME\"] = reasonixStateHome\n\t}\n\tif provider == \"dsh\" {\n\t\tdshSessionRoot, err := prepareDshTaskSessionRoot(d.cfg.Profile, task.RuntimeID, task.AgentID)\n\t\tif err != nil {\n\t\t\treturn TaskResult{}, fmt.Errorf(\"prepare dsh session root: %w\", err)\n\t\t}\n\t\tagentEnv[\"MULTICA_DSH_SESSION_ROOT\"] = dshSessionRoot\n\t\tagentEnv[\"DSH_TELEMETRY_DISABLED\"] = \"1\"\n\t}\n\tif err := configureCodexTaskShellEnvironment(provider, env.CodexHome, os.Environ(), agentEnv, agentCustomEnv, d.logger); err != nil {\n\t\treturn TaskResult{}, err\n\t}\n\t// Resolve the backend through the unified runtime resolver: built-in\n\t// runtime identities (e.g. \"omp\") dispatch through NewRuntime, protocol\n\t// families go through New. This is the single production boundary — the\n\t// daemon never calls agent.New or agent.NewRuntime directly, so the two","sourceCodeStart":6756,"sourceCodeEnd":6792,"githubUrl":"https://github.com/multica-ai/multica/blob/2c0912b6ec764b373d44eeea1e80f0d9f11ab417/server/internal/daemon/daemon.go#L6756-L6792","documentation":"Error \"prepare reasonix state home: %w\" thrown in multica-ai/multica.","triggerScenarios":"Thrown at server/internal/daemon/daemon.go:6774 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check permissions for the reasonix state home directory."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2c0912b6ec764b373d44eeea1e80f0d9f11ab417","analyzedAt":"2026-08-15T13:25:18.241Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}