In-app Browser: add private sessions, clear site data, and hard reload controls
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
Problem
The Codex Desktop in-app Browser is useful for web development and QA, but it does not expose a reliable way to start from a fresh browser state.
The current UI does not provide clear controls for:
- opening a private or ephemeral session whose cookies and site storage are discarded when closed;
- clearing cookies and site data for the current origin;
- performing a hard reload that bypasses cached resources;
- reloading through familiar browser keyboard shortcuts when the Browser view is focused.
On macOS, standard shortcuts such as Cmd+R and Cmd+Shift+R do not reliably reload the in-app Browser. An ordinary agent-triggered tab reload is available, but it does not provide the same guarantee as clearing site data or bypassing the cache. Opening another tab also should not be treated as a clean session because it may share browser state.
This makes it difficult to determine whether a result is caused by the application under test or by stale cache, cookies, authentication state, local storage, or a service worker.
Requested behavior
Please add user-facing Browser controls for:
-
New private/ephemeral session
- Isolated from the normal in-app Browser's cookies, cache, and site storage.
- Clearly identified as private.
- Discards its browser state when the private session is closed.
-
Clear site data
- Clears cookies, local storage, session storage, service workers, and cached data for the active origin.
- Shows the affected origin and asks for confirmation.
-
Reload and hard reload
- A visible reload action.
- A hard-reload action that bypasses cached resources.
- Familiar shortcuts while the Browser view is focused:
- macOS:
Cmd+RandCmd+Shift+R - Windows/Linux:
Ctrl+RandCtrl+Shift+R
- macOS:
-
Browser automation support
- Expose equivalent operations to the bundled Browser tool, such as an explicit cache-bypassing reload and an isolated ephemeral browser context.
Why this matters
These controls would materially improve:
- local frontend development after CSS or JavaScript changes;
- anonymous-versus-authenticated testing;
- sign-in, sign-out, consent, and cookie-banner QA;
- verification after a deployment;
- diagnosing service-worker and cache-related issues;
- privacy-conscious browsing where state should not persist.
Acceptance criteria
- A private session does not inherit cookies or site storage from the normal in-app Browser.
- Closing a private session discards the state created within it.
- Hard reload bypasses or revalidates cached resources.
- Reload shortcuts work when the Browser view has focus.
- Site-data clearing is scoped to the displayed origin and requires confirmation.
- The UI clearly distinguishes ordinary reload, hard reload, clearing site data, and private browsing.
Private mode should be described as local state isolation/non-persistence, not as a guarantee of network anonymity.
Privacy
This report intentionally contains no account details, project URLs, local paths, logs, thread identifiers, or other personal information.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Codex Desktop in-app Browser implementation and the bundled Browser tool interfaces, then trace existing reload and browser-context state handling. Define the UI and automation entry points needed for private sessions, site-data clearing, ordinary reloads, hard reloads, and focused keyboard shortcuts. Done means all listed acceptance criteria are met, including scoped confirmation and non-persistence of private state.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop, testing-qa, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100