musistudio/claude-code-router · error · Error
Claude App profiles do not support agent arguments.
Error message
Claude App profiles do not support agent arguments.
What it means
Re-thrown from downloadUpdate in the Electron update service when the underlying autoUpdater download fails. The original error is formatted, published to status, and re-thrown so callers see the failure reason.
Source
Thrown at packages/cli/src/cli.ts:128
printHelp(profileOptions.help ? 0 : 2);
return;
}
const configDir = CONFIGDIR;
const config = await loadAppConfig();
assertAvailableGatewayModels(config);
await applyProfileConfig(config);
const profile = findProfileForOpen(config, profileOptions.profileRef);
const surface = profileOptions.surface ?? defaultProfileOpenSurface(profile);
const resolvedSurface = resolveProfileOpenSurface(profile, surface);
if (profile.agent === "zcode" && profileOptions.agentArgs.length > 0) {
throw new Error("ZCode profiles can only open the app; agent arguments are not supported.");
}
if (profile.agent === "claude-design") {
throw new Error("Claude Design profiles can only be opened from CCR Desktop.");
}
if (profile.agent === "claude-code" && resolvedSurface === "app" && profileOptions.agentArgs.length > 0) {
throw new Error("Claude App profiles do not support agent arguments.");
}
if (profile.agent === "codex" && resolvedSurface === "app" && profileOptions.agentArgs.length === 0) {
const state = await startService({
command: "start",
daemonChild: false,
ensureGatewayRunning: true,
help: false,
open: false,
profileManaged: false,
startGateway: true
});
const opened = await callServiceRpc<ProfileOpenResult>(state, "openProfile", [{ profileId: profile.id, surface: "app" }], 30_000);
process.stdout.write(`${opened.message}\n`);
return;
}
const autoStartProfileGateway = shouldAutoStartProfileGateway(profile, resolvedSurface);
let profileGatewayLease = autoStartProfileGateway ? acquireManagedProfileGatewayLease() : undefined;View on GitHub (pinned to 99f24806c6)
Solutions
- Check the formatted message for the underlying cause (feed URL, 404, network)
- Verify CCR_UPDATE_FEED_URL / publish configuration serves a valid latest.yml reachable from the machine
- Test the feed URL with curl from the same network; fix proxy/TLS issues
- If disk-related, clear the electron-updater cache directory and free space
- Retry the download once transient network failures clear
Defensive patterns
Strategy: retry
Validate before calling
const feed = readEnvString('CCR_UPDATE_FEED_URL');
if (feed) {
const res = await fetch(feed.replace(/[^/]*$/, 'latest.yml'));
if (!res.ok) { /* surface feed problem before calling downloadUpdate */ }
} Try / catch
try {
await updateService.downloadUpdate();
} catch (error) {
logger.error('update download failed', formatError(error));
await backoffRetry(); // network/feed issues are often transient
} Prevention
- Validate the update feed URL is reachable at app start
- Watch update status events and only enable UI actions when state isn't 'error'
- Keep electron-updater version in sync with published artifact format
When it happens
Trigger: Calling downloadUpdate(); electron-updater throws during download (feed URL unreachable, 404 on latest.yml, network failure, disk write error) and the catch block publishes state:'error' then throws new Error(status.lastError).
Common situations: CCR_UPDATE_FEED_URL pointing at a missing/bad release feed; GitHub rate-limiting or 404 on latest.yml; corporate proxy blocking HTTPS; insufficient disk space or permissions for the download cache; electron-updater version mismatch with the published artifacts.
Related errors
- Failed to open Claude App: ${spawnError}
- Failed to open ZCode App: ${spawnError}
- ZCode profiles can only open the app; agent arguments are no
- Unable to load @the-next-ai/bot-gateway-sdk. ${errors.join("
- The CCR artifact request failed.
AI-assisted analysis of musistudio/claude-code-router@99f24806c6 (2026-08-27).
Data as JSON: /api/errors/29263caea9e06519.
Report an issue: GitHub.