openai / openai/codex

In-app Browser: add private sessions, clear site data, and hard reload controls

Open
#40,117 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app browser enhancement
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:

  1. 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.
  2. 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.
  3. 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+R and Cmd+Shift+R
      • Windows/Linux: Ctrl+R and Ctrl+Shift+R
  4. 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

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.