{"record":{"id":"1c2f4c2b1cfb2dbb","repo":"musistudio/claude-code-router","slug":"certificatestatus-message-1c2f4c","errorCode":null,"errorMessage":"${certificateStatus.message}","messagePattern":"\\$\\{certificateStatus\\.message\\}","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/electron/src/main/ipc.ts","lineNumber":319,"sourceCode":"ipcMain.handle(IPC_CHANNELS.appTestRouteScript, async (_event, request: RouteScriptTestRequest) => {\n  return gatewayService.testRouteScript(await loadAppConfig(), request);\n});\nipcMain.handle(IPC_CHANNELS.appUpdateCheck, () => appUpdateService.checkForUpdates());\nipcMain.handle(IPC_CHANNELS.appUpdateDownload, () => appUpdateService.downloadUpdate());\nipcMain.handle(IPC_CHANNELS.appUpdateInstall, () => appUpdateService.installUpdate());\nipcMain.handle(IPC_CHANNELS.appQuit, () => {\n  app.quit();\n});\nipcMain.handle(IPC_CHANNELS.appRevealProxyCertificate, () => {\n  ensureProxyCertificateAuthority();\n  shell.showItemInFolder(PROXY_CA_CERT_FILE);\n});\nipcMain.handle(IPC_CHANNELS.appSaveConfig, async (_event, config: AppConfig, options?: AppSaveConfigOptions) => {\n  const previousConfig = await loadAppConfig();\n  if (config.proxy.enabled) {\n    const certificateStatus = await proxyService.getCertificateStatus();\n    if (!certificateStatus.trusted) {\n      throw new Error(certificateStatus.message);\n    }\n  }\n  const launchAtLoginChanged = Boolean(config.launchAtLogin) !== Boolean(previousConfig.launchAtLogin);\n  let savedConfig = await saveAppConfig(config);\n  applyAppThemePreference(savedConfig.theme);\n  if (launchAtLoginChanged) {\n    try {\n      syncLaunchAtLogin(savedConfig);\n    } catch (error) {\n      await saveAppConfig({\n        ...savedConfig,\n        launchAtLogin: previousConfig.launchAtLogin\n      });\n      throw error;\n    }\n  }\n  const syncedClaudeAppConfig = await syncClaudeAppGatewayConfig(savedConfig);\n  savedConfig = syncedClaudeAppConfig.config;","sourceCodeStart":301,"sourceCodeEnd":337,"githubUrl":"https://github.com/musistudio/claude-code-router/blob/99f24806c6a2c660b16e53e95211c517448a6c90/packages/electron/src/main/ipc.ts#L301-L337","documentation":"Error \"${certificateStatus.message}\" thrown in musistudio/claude-code-router.","triggerScenarios":"Thrown at packages/electron/src/main/ipc.ts:319 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"}