musistudio/claude-code-router · info

[profile] OpenCode App bot worker stderr: ${chunk.toString("

Error message

[profile] OpenCode App bot worker stderr: ${chunk.toString("utf8").trim()}

What it means

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.

Source

Thrown at packages/core/src/profiles/launch-service.ts:1424

    CCR_PROFILE_SURFACE: "app",
    OPENCODE_CLIENT: "cli",
    OPENCODE_CONFIG: configFile,
    OPENCODE_CONFIG_CONTENT: inlineConfig
  };
  delete env.ELECTRON_NO_ATTACH_CONSOLE;

  const child = spawn(nodeLaunch.command, [runtimeFile, "opencode-bot-worker", "--workspace-name", profile.name || profile.id], {
    detached: false,
    env,
    stdio: ["ignore", "ignore", "pipe"],
    windowsHide: true
  });
  openCodeAppBotWorker = child;
  openCodeAppBotWorkerProfileId = profile.id;
  openCodeAppBotWorkerSignature = launchSignature;
  openCodeAppBotWorkerStateDir = botEnv.CCR_BOT_GATEWAY_STATE_DIR;
  child.stderr?.on("data", (chunk) => {
    console.warn(`[profile] OpenCode App bot worker stderr: ${chunk.toString("utf8").trim()}`);
  });
  child.once("exit", (code, signal) => {
    if (openCodeAppBotWorker === child) {
      openCodeAppBotWorker = undefined;
      openCodeAppBotWorkerProfileId = undefined;
      openCodeAppBotWorkerSignature = undefined;
      openCodeAppBotWorkerStateDir = undefined;
    }
    if (code && code !== 0) {
      console.warn(`[profile] OpenCode App bot worker exited: code=${code}${signal ? ` signal=${signal}` : ""}`);
    }
  });
  child.once("error", (error) => {
    if (openCodeAppBotWorker === child) {
      openCodeAppBotWorker = undefined;
      openCodeAppBotWorkerProfileId = undefined;
      openCodeAppBotWorkerSignature = undefined;
      openCodeAppBotWorkerStateDir = undefined;

View on GitHub (pinned to 99f24806c6)

Solutions

  1. Inspect the stderr payload to determine whether it is fatal or noise.
  2. Correlate with the worker's exit/error logs and the state dir under CCR_BOT_GATEWAY_STATE_DIR.
  3. Update the OpenCode app/CLI if the warnings are a known fixed issue.
  4. Benign deprecation output can be silenced with NODE_OPTIONS=--no-deprecation.
Defensive patterns

Strategy: fallback

Validate before calling

null

Type guard

null

Try / catch

null

Prevention

When it happens

Trigger: The OpenCode App bot gateway worker writes to stderr — internal error traces, warnings, or startup diagnostics.

Common situations: OpenCode CLI runtime warnings; worker crashing with a stack on stderr; deprecation noise from its dependencies.

Related errors


AI-assisted analysis of musistudio/claude-code-router@99f24806c6 (2026-08-27). Data as JSON: /api/errors/2f86ed964ad57f56. Report an issue: GitHub.