{"record":{"id":"2f86ed964ad57f56","repo":"musistudio/claude-code-router","slug":"profile-opencode-app-bot-worker-stderr-chunk","errorCode":null,"errorMessage":"[profile] OpenCode App bot worker stderr: ${chunk.toString(\"utf8\").trim()}","messagePattern":"\\[profile\\] OpenCode App bot worker stderr: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"packages/core/src/profiles/launch-service.ts","lineNumber":1424,"sourceCode":"    CCR_PROFILE_SURFACE: \"app\",\n    OPENCODE_CLIENT: \"cli\",\n    OPENCODE_CONFIG: configFile,\n    OPENCODE_CONFIG_CONTENT: inlineConfig\n  };\n  delete env.ELECTRON_NO_ATTACH_CONSOLE;\n\n  const child = spawn(nodeLaunch.command, [runtimeFile, \"opencode-bot-worker\", \"--workspace-name\", profile.name || profile.id], {\n    detached: false,\n    env,\n    stdio: [\"ignore\", \"ignore\", \"pipe\"],\n    windowsHide: true\n  });\n  openCodeAppBotWorker = child;\n  openCodeAppBotWorkerProfileId = profile.id;\n  openCodeAppBotWorkerSignature = launchSignature;\n  openCodeAppBotWorkerStateDir = botEnv.CCR_BOT_GATEWAY_STATE_DIR;\n  child.stderr?.on(\"data\", (chunk) => {\n    console.warn(`[profile] OpenCode App bot worker stderr: ${chunk.toString(\"utf8\").trim()}`);\n  });\n  child.once(\"exit\", (code, signal) => {\n    if (openCodeAppBotWorker === child) {\n      openCodeAppBotWorker = undefined;\n      openCodeAppBotWorkerProfileId = undefined;\n      openCodeAppBotWorkerSignature = undefined;\n      openCodeAppBotWorkerStateDir = undefined;\n    }\n    if (code && code !== 0) {\n      console.warn(`[profile] OpenCode App bot worker exited: code=${code}${signal ? ` signal=${signal}` : \"\"}`);\n    }\n  });\n  child.once(\"error\", (error) => {\n    if (openCodeAppBotWorker === child) {\n      openCodeAppBotWorker = undefined;\n      openCodeAppBotWorkerProfileId = undefined;\n      openCodeAppBotWorkerSignature = undefined;\n      openCodeAppBotWorkerStateDir = undefined;","sourceCodeStart":1406,"sourceCodeEnd":1442,"githubUrl":"https://github.com/musistudio/claude-code-router/blob/99f24806c6a2c660b16e53e95211c517448a6c90/packages/core/src/profiles/launch-service.ts#L1406-L1442","documentation":"Raw stderr passthrough from the spawned OpenCode App bot worker child process, identical in nature to the Claude variant: everything the worker prints on stderr is logged. Informational only; exit/error handlers manage the worker lifecycle.","triggerScenarios":"The OpenCode App bot gateway worker writes to stderr — internal error traces, warnings, or startup diagnostics.","commonSituations":"OpenCode CLI runtime warnings; worker crashing with a stack on stderr; deprecation noise from its dependencies.","solutions":["Inspect the stderr payload to determine whether it is fatal or noise.","Correlate with the worker's exit/error logs and the state dir under CCR_BOT_GATEWAY_STATE_DIR.","Update the OpenCode app/CLI if the warnings are a known fixed issue.","Benign deprecation output can be silenced with NODE_OPTIONS=--no-deprecation."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"null","typeGuard":"null","tryCatchPattern":"null","preventionTips":["Read stderr text to classify severity","Keep the OpenCode CLI updated","Silence benign deprecations via NODE_OPTIONS"],"tags":["child-process","stderr","bot-worker","opencode"],"backgroundTag":"child-process-stderr","analyzedSha":"99f24806c6a2c660b16e53e95211c517448a6c90","analyzedAt":"2026-08-27T04:11:01.184Z","schemaVersion":2},"datasetVersion":"2026-08-27T08:17:20.692Z"}