musistudio/claude-code-router · error · Error

Updates are only available in the desktop app.

Error message

Updates are only available in the desktop app.

What it means

Error "Updates are only available in the desktop app." thrown in musistudio/claude-code-router.

Source

Thrown at packages/core/src/web/management-server.ts:483

  },
  setProxyNetworkCaptureEnabled: (enabled) => proxyService.setNetworkCaptureEnabled(Boolean(enabled)),
  startBotGatewayQrLogin: (request) => startBotGatewayQrLogin(request as BotGatewayQrLoginStartRequest),
  startGateway: async () => {
    const syncedClaudeAppConfig = await syncClaudeAppGatewayConfig(await loadAppConfig());
    const config = syncedClaudeAppConfig.config;
    const status = await gatewayService.ensureStarted(config);
    await applyProfileIfServiceRunning(config, status);
    return status;
  },
  stopGateway: () => gatewayService.stop(),
  stopProfile: async (request) => stopProfileFromCcr(await loadAppConfig(), request as ProfileOpenRequest),
  testProviderAccountConnector: (request) => testProviderAccountConnector(request as ProviderAccountTestRequest),
  testRouteScript: async (request) => gatewayService.testRouteScript(await loadAppConfig(), request as RouteScriptTestRequest),
  validateRouteScript: (request) => gatewayService.validateRouteScript(request as RouteScriptValidationRequest),
  updateCheck: () => unsupportedUpdateStatus,
  updateDownload: () => unsupportedUpdateStatus,
  updateInstall: () => {
    throw new Error("Updates are only available in the desktop app.");
  },
  waitBotGatewayQrLogin: (request) => waitBotGatewayQrLogin(request as BotGatewayQrLoginWaitRequest)
};

async function startConfiguredServices(reason: string): Promise<void> {
  try {
    let config = await loadAppConfig();
    try {
      config = (await syncClaudeAppGatewayConfig(config)).config;
    } catch (error) {
      console.error(`Failed to sync Claude App gateway config during ${reason}: ${formatError(error)}`);
    }
    const status = await gatewayService.ensureStarted(config);
    if (status.state === "error") {
      console.error(`Failed to start gateway during ${reason}: ${status.lastError}`);
    }
    if (status.state === "running") {
      const profileResult = await applyProfileConfig(config, { excludeAgents: ["zcode"] });

View on GitHub (pinned to 99f24806c6)

When it happens

Trigger: Thrown at packages/core/src/web/management-server.ts:483 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/f714a14683945361. Report an issue: GitHub.