{"record":{"id":"30d2768c43b8695f","repo":"musistudio/claude-code-router","slug":"browser-controls-are-only-available-from-the-built","errorCode":null,"errorMessage":"Browser controls are only available from the built-in browser window.","messagePattern":"Browser controls are only available from the built-in browser window\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/electron/src/main/built-in-browser.ts","lineNumber":890,"sourceCode":"      ...(this.automationHandoff ? { automationHandoff: { ...this.automationHandoff } } : {}),\n      tabs: this.tabOrder\n        .map((id) => this.tabs.get(id))\n        .filter((tab): tab is BrowserTab => Boolean(tab))\n        .map(({ view: _view, ...tab }) => tab)\n    };\n  }\n\n  private sendState(): void {\n    const window = this.window;\n    if (!window || window.isDestroyed() || window.webContents.isDestroyed()) {\n      return;\n    }\n    window.webContents.send(IPC_CHANNELS.browserStateChanged, this.getState());\n  }\n\n  private assertBrowserSender(event: IpcMainInvokeEvent): void {\n    if (!this.window || event.sender !== this.window.webContents) {\n      throw new Error(\"Browser controls are only available from the built-in browser window.\");\n    }\n  }\n\n  private destroyTabs(): void {\n    for (const tab of this.tabs.values()) {\n      if (!tab.view.webContents.isDestroyed()) {\n        tab.view.webContents.close({ waitForBeforeUnload: false });\n      }\n    }\n    this.tabs.clear();\n    this.tabOrder = [];\n    this.activeTabId = undefined;\n  }\n\n  private emitAutomationEvent(event: Omit<BrowserAutomationEvent, \"seq\" | \"ts\" | \"windowId\">): void {\n    const nextEvent: BrowserAutomationEvent = {\n      ...event,\n      seq: ++this.automationEventSeq,","sourceCodeStart":872,"sourceCodeEnd":908,"githubUrl":"https://github.com/musistudio/claude-code-router/blob/99f24806c6a2c660b16e53e95211c517448a6c90/packages/electron/src/main/built-in-browser.ts#L872-L908","documentation":"Error \"Browser controls are only available from the built-in browser window.\" thrown in musistudio/claude-code-router.","triggerScenarios":"Thrown at packages/electron/src/main/built-in-browser.ts:890 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"}