musistudio/claude-code-router · error · Error
${appName} did not stay open for ${profile.name || profile.i
Error message
${appName} did not stay open for ${profile.name || profile.id}. ... Close any OpenCode App instance that was not opened by CCR, then try again. Command: ${entry.command} User data: ${entry.userDataDir} What it means
Error "${appName} did not stay open for ${profile.name || profile.id}. ... Close any OpenCode App instance that was not opened by CCR, then try again. Command: ${entry.command} User data: ${entry.userDataDir}" thrown in musistudio/claude-code-router.
Source
Thrown at packages/core/src/profiles/launch-service.ts:240
"Close it before opening an OpenCode App profile."
);
}
const launch = {
...launchOpenCodeAppProfile(
CONFIGDIR,
profile,
configResult.file,
configResult.inlineConfig,
botEnv
),
launchSignature
};
const entry = registerProfileApp(profile, "app", launch);
const started = await waitForStableProfileAppStart(entry, 12000, 1000);
if (!started) {
cleanupProfileAppEntry(profileRuntimeKey(profile.id, "app"), entry);
sendProfileProcessSignal(entry.pid, "SIGTERM");
throw new Error([
`${appName} did not stay open for ${profile.name || profile.id}.`,
...(entry.spawnError ? [`Error: ${entry.spawnError}`] : []),
"Close any OpenCode App instance that was not opened by CCR, then try again.",
`Command: ${entry.command}`,
`User data: ${entry.userDataDir}`
].join(" "));
}
activateProfileAppWindow(entry);
startOpenCodeAppBotWorker(
profileGatewayConfig,
profile,
configResult.file,
configResult.inlineConfig,
launchSignature
);
return {
message: `Opened ${appName} with ${profile.name || profile.id}.`,
profileId: profile.id,View on GitHub (pinned to 99f24806c6)
When it happens
Trigger: Thrown at packages/core/src/profiles/launch-service.ts:240 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of musistudio/claude-code-router@99f24806c6 (2026-08-27).
Data as JSON: /api/errors/f2255ec4ec60bc1e.
Report an issue: GitHub.