{"record":{"id":"e9e1c0c1c10d68f9","repo":"musistudio/claude-code-router","slug":"claude-app-opening-is-available-from-the-ccr-deskt","errorCode":null,"errorMessage":"Claude App opening is available from the CCR desktop app.","messagePattern":"Claude App opening is available from the CCR desktop app\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/core/src/profiles/launch-core.ts","lineNumber":318,"sourceCode":"  return {\n    args: surface === \"app\" && extraArgs.length === 0 ? [\"app\"] : extraArgs,\n    command: launcher,\n    env: {\n      CCR_PROFILE_SURFACE: surface\n    },\n    profile,\n    surface\n  };\n}\n\nfunction buildClaudeCodeLaunchPlan(\n  configDir: string,\n  profile: ProfileConfig,\n  surface: ProfileOpenSurface,\n  extraArgs: string[]\n): ProfileLaunchPlan {\n  if (surface === \"app\") {\n    throw new Error(\"Claude App opening is available from the CCR desktop app.\");\n  }\n  const settingsFile = resolveClaudeCodeSettingsFile(configDir, profile);\n  const launcher = path.join(configDir, \"bin\", claudeCodeWrapperFilename(profile));\n  return {\n    args: extraArgs,\n    command: launcher,\n    env: {\n      CLAUDE_CONFIG_DIR: path.dirname(settingsFile),\n      CCR_PROFILE_SURFACE: surface,\n      ...claudeCodeProfileModelEnv(profile),\n      ...claudeCodeUtcTimezoneEnvOverride()\n    },\n    profile,\n    surface\n  };\n}\n\nfunction isCodexCompatibleAgent(agent: ProfileConfig[\"agent\"]): boolean {","sourceCodeStart":300,"sourceCodeEnd":336,"githubUrl":"https://github.com/musistudio/claude-code-router/blob/99f24806c6a2c660b16e53e95211c517448a6c90/packages/core/src/profiles/launch-core.ts#L300-L336","documentation":"Error \"Claude App opening is available from the CCR desktop app.\" thrown in musistudio/claude-code-router.","triggerScenarios":"Thrown at packages/core/src/profiles/launch-core.ts:318 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"}