{"record":{"id":"746b2e2be2513914","repo":"musistudio/claude-code-router","slug":"opencode-app-profiles-must-be-opened-through-ccr-d","errorCode":null,"errorMessage":"OpenCode App profiles must be opened through CCR Desktop.","messagePattern":"OpenCode App profiles must be opened through CCR Desktop\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/core/src/profiles/launch-core.ts","lineNumber":142,"sourceCode":"    return buildOpenCodeLaunchPlan(configDir, profile, resolvedSurface, extraArgs);\n  }\n  if (profile.agent === \"kilo\") {\n    return buildKiloLaunchPlan(configDir, profile, resolvedSurface, extraArgs);\n  }\n  if (isCodexCompatibleAgent(profile.agent)) {\n    return buildCodexLaunchPlan(configDir, profile, resolvedSurface, extraArgs);\n  }\n  return buildClaudeCodeLaunchPlan(configDir, profile, resolvedSurface, extraArgs);\n}\n\nfunction buildOpenCodeLaunchPlan(\n  configDir: string,\n  profile: ProfileConfig,\n  surface: ProfileOpenSurface,\n  extraArgs: string[]\n): ProfileLaunchPlan {\n  if (surface !== \"cli\") {\n    throw new Error(\"OpenCode App profiles must be opened through CCR Desktop.\");\n  }\n  return {\n    args: extraArgs,\n    command: path.join(configDir, \"bin\", openCodeWrapperFilename(profile)),\n    env: {\n      CCR_PROFILE_SURFACE: \"cli\",\n      OPENCODE_CONFIG: resolveOpenCodeProfileConfigFile(configDir, profile)\n    },\n    profile,\n    surface\n  };\n}\n\nfunction buildKiloLaunchPlan(\n  configDir: string,\n  profile: ProfileConfig,\n  surface: ProfileOpenSurface,\n  extraArgs: string[]","sourceCodeStart":124,"sourceCodeEnd":160,"githubUrl":"https://github.com/musistudio/claude-code-router/blob/99f24806c6a2c660b16e53e95211c517448a6c90/packages/core/src/profiles/launch-core.ts#L124-L160","documentation":"Error \"OpenCode App profiles must be opened through CCR Desktop.\" thrown in musistudio/claude-code-router.","triggerScenarios":"Thrown at packages/core/src/profiles/launch-core.ts:142 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"99f24806c6a2c660b16e53e95211c517448a6c90","analyzedAt":"2026-08-27T04:11:01.184Z","schemaVersion":2},"datasetVersion":"2026-08-27T08:17:20.692Z"}