openai / openai/codex

Chrome/Brave extension: add per-tab vs all-tabs side panel visibility option

Open
#40,282 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement extension
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Summary

The ChatGPT/Codex browser side panel currently remains visible when switching to other tabs, including tabs where I never explicitly opened ChatGPT. In Brave (Chromium), each newly opened/switched-to tab can therefore have the side panel occupying page width with a new/separate chat window.

This is disruptive for workflows where ChatGPT is only needed alongside specific pages.

Proposed behavior

Add an extension preference for side-panel visibility with two modes:

  1. All tabs in this window — current behavior; the panel remains visible while switching tabs.
  2. Per tab / Only tabs where I open ChatGPT — the panel is visible only on tabs where the user explicitly opened it. Switching to a tab where it has not been opened hides the panel; returning to a tab where it was opened restores it.

Ideally, panel visibility should be independent from conversation identity/state. Choosing per-tab visibility should not necessarily imply that every tab must create a new conversation.

Expected per-tab workflow

  • Open ChatGPT side panel on Tab A → panel appears on Tab A.
  • Switch to Tab B, where ChatGPT was never opened → no side panel; webpage uses the full browser width.
  • Explicitly open ChatGPT on Tab B → panel appears there.
  • Return to Tab A → its panel remains/restores as appropriate.

Chromium API support

Chromium's Side Panel API supports tab-specific configuration via chrome.sidePanel.setOptions({ tabId, ... }) and tab-specific opening. Chrome's documentation describes tab-specific panels being hidden when switching to a tab where the panel is not enabled and appearing again when returning to an enabled tab.

Reference: https://developer.chrome.com/docs/extensions/reference/api/sidePanel

This suggests the extension could expose the behavior as a user-selectable option rather than forcing one visibility model.

Environment

  • Browser: Brave (Chromium)
  • Extension: official ChatGPT/Codex browser extension

This should ideally behave consistently across Chromium-based browsers supported by the extension.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with Chromium's Side Panel API, especially tab-specific setOptions behavior and tab-specific opening, and trace how the extension currently opens and persists panel state. Done means a selectable all-tabs or per-tab preference works across the described Tab A/Tab B workflow without unnecessarily coupling panel visibility to conversation identity.

Written by the indexing model from the issue text.

Assessment

Domain
web-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.