musistudio/claude-code-router · error · Error

Browser controls are only available from the built-in browse

Error message

Browser controls are only available from the built-in browser window.

What it means

Error "Browser controls are only available from the built-in browser window." thrown in musistudio/claude-code-router.

Source

Thrown at packages/electron/src/main/built-in-browser.ts:890

      ...(this.automationHandoff ? { automationHandoff: { ...this.automationHandoff } } : {}),
      tabs: this.tabOrder
        .map((id) => this.tabs.get(id))
        .filter((tab): tab is BrowserTab => Boolean(tab))
        .map(({ view: _view, ...tab }) => tab)
    };
  }

  private sendState(): void {
    const window = this.window;
    if (!window || window.isDestroyed() || window.webContents.isDestroyed()) {
      return;
    }
    window.webContents.send(IPC_CHANNELS.browserStateChanged, this.getState());
  }

  private assertBrowserSender(event: IpcMainInvokeEvent): void {
    if (!this.window || event.sender !== this.window.webContents) {
      throw new Error("Browser controls are only available from the built-in browser window.");
    }
  }

  private destroyTabs(): void {
    for (const tab of this.tabs.values()) {
      if (!tab.view.webContents.isDestroyed()) {
        tab.view.webContents.close({ waitForBeforeUnload: false });
      }
    }
    this.tabs.clear();
    this.tabOrder = [];
    this.activeTabId = undefined;
  }

  private emitAutomationEvent(event: Omit<BrowserAutomationEvent, "seq" | "ts" | "windowId">): void {
    const nextEvent: BrowserAutomationEvent = {
      ...event,
      seq: ++this.automationEventSeq,

View on GitHub (pinned to 99f24806c6)

When it happens

Trigger: Thrown at packages/electron/src/main/built-in-browser.ts:890 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/30d2768c43b8695f. Report an issue: GitHub.