openai / openai/codex

[macOS] Private ChatGPT Site requires “Continue with ChatGPT” after every Codex App restart

Open
#41,503 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app auth browser bug
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What version of the Codex App are you using (From “About Codex” dialog)?

26.825.41651 (build 7345)

What subscription do you have?

Pro

What platform is your computer?

Darwin 25.6.0 arm64 arm

What issue are you seeing?

A private ChatGPT Site opened in the Codex App's built-in browser requires me to select “Continue with ChatGPT” again after every normal desktop app restart.

The Site opens correctly after authentication. Other websites in the same built-in browser remain signed in across the same restarts, and the Site tab/URL is restored. Only the ChatGPT Sites authentication is lost.

This happens consistently with a Site whose access mode is limited to selected users. The Site itself is active and works normally once I authenticate again.

No error message is shown; the page simply returns to the ChatGPT Sites sign-in screen.

What steps can reproduce the bug?
  1. In the macOS Codex App, open a private ChatGPT Site in the built-in browser.
  2. Select Continue with ChatGPT and complete authentication.
  3. Confirm that the private Site opens normally.
  4. Quit and restart the Codex App normally.
  5. Reopen or view the restored Site tab.
  6. The Site asks for Continue with ChatGPT again.

This reproduces on every app restart in my environment.

Control observation: other websites in the built-in browser keep their signed-in sessions across the same restarts.

What is the expected behavior?

Authentication for a private ChatGPT Site should persist across an ordinary Codex App restart, just like other signed-in websites in the built-in browser.

If reauthentication on every restart is intentional for security, the behavior should be clearly documented. Ideally, Sites authentication would only be cleared when the ChatGPT account/principal changes, the user signs out, browser data is cleared, or the authentication becomes invalid.

Additional information
Diagnostic observations
  • The built-in browser restores the same Site tab and URL after restart.
  • The installed app uses a persistent browser partition for the built-in browser.
  • Read-only inspection of the packaged app code shows that app startup invokes a Sites-specific authentication cleanup. That cleanup filters the persistent browser cookies to ChatGPT Sites/SIWC cookie names, removes them, and flushes the cookie store.
  • This matches the observed boundary exactly: Sites authentication is cleared while unrelated website sessions remain available.
  • I did not inspect or publish cookie values, browser profile contents, credentials, private Site URLs, account identifiers, or raw logs.

The current packaged behavior appears broader than necessary because the same Sites-auth cleanup is also available for account/principal changes and invalid authentication states, but it is additionally invoked on every ordinary app startup.

Suggested direction

Clear ChatGPT Sites authentication when the ChatGPT principal/account changes, the user signs out, authentication becomes invalid, or the user explicitly clears browser data—not unconditionally on every app startup. Alternatively, document the security behavior and provide an opt-in persistent Sites session.

Related reports
  • #37999 — owner-only ChatGPT Sites authentication issue in the Windows in-app browser
  • #33280 — ChatGPT Sites access/update issue with unauthenticated in-app-browser fallback

These are related to Sites authentication but do not appear to be exact duplicates of the macOS restart behavior reported here.

Official documentation says the built-in browser keeps its own profile and browsing history and supports signing in directly when an account is required:
https://learn.chatgpt.com/docs/browser?surface=app

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 at the app startup path and the Sites-specific authentication cleanup described in the report. Check why that cleanup runs during an ordinary restart while other browser sessions persist, and verify the behavior across restart, sign-out, account changes, invalid authentication, and explicit browser-data clearing. Done means private Site authentication persists across ordinary restarts without weakening the other cleanup cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
authentication, desktop, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.