Work browser access requires an authenticated account-Codex
Quick fix
Log in to the official account in the Codex/ChatGPT app with auth_mode=chatgpt, then use cc-switch routing mode (or keep official login in direct mode) to…
Symptom
Section titled “Symptom”Work browser access requires an authenticated accountMaintainers confirmed in #8417/#8498: ChatGPT/Codex desktop 26.1013 added a restriction requiring the app itself to be logged in to a ChatGPT account when continuing sessions or using ChatGPT Work; with only an API Key or a third-party provider and no official login, the request is blocked, and the model list may fail to load. The CLI is not affected. In cc-switch direct mode, switching to a third-party provider without "keep official login" enabled moves the official login state aside, triggering this prompt; routing mode does not modify ~/.codex/auth.json, so the official login is preserved and requests still go through the selected provider.
First upgrade cc-switch: #5180 explains that from v3.17.0, Codex official ChatGPT sessions can be taken over by local routing and hot-switching does not overwrite auth.json; the "account does not exist" issue in #7377 was fixed in v3.20.4; #7967's issue where the old account was still used after switching gained a restart prompt in v4.0.6. Different sub-issues were fixed in different versions—do not mix old scripts.
Recommended path: in cc-switch switch to OpenAI Official, fully quit the ChatGPT/Codex desktop app, reopen it and log in to ChatGPT; confirm ~/.codex/auth.json has official login state and auth_mode is chatgpt. Fully quit again, change cc-switch's Codex to routing mode, select a third-party provider for routing, then open the app.
~/.codex/auth.json 确保应用内登录后包含:"auth_mode": "chatgpt"(不要贴出或手改 token 字段)If you insist on direct mode: in cc-switch settings enable "Keep official login when switching without takeover" (called "Keep official login when switching to third-party" in older versions), first switch back to OpenAI Official and log in once, then switch to the third-party provider; if it fails again after a while, the preserved official login state has usually expired—log in to official ChatGPT again to recover.
Temporary workaround if you don't want to log in to a ChatGPT account: per the maintainer's suggestion in #8498, stay on Codex desktop 26.1007; or per a comment in #8417, open sessions via the Codex entry instead of ChatGPT Work. conversationDetailMode is only a display setting and unrelated to this restriction.
If the model selector only shows "custom" or third-party/new models are missing: confirm the third-party provider has local routing/routing takeover enabled and fully restart Codex; if needed, per #5170 update Codex CLI to v0.144.0 and the Codex App to the latest version; when the official UI has not yet exposed GPT-5.6, you can temporarily change model to gpt-5.6-sol.
~/.codex/config.toml model = "gpt-5.6-sol"# 仅用于 #5170 所述官方 UI 暂未展示 GPT-5.6 的临时场景401 Incorrect API key on old sessions: in #6677 a user summarized that old sessions keep the official login state while new sessions via a relay still carry the old state—starting a new session restores it; the maintainer concluded this is a client- or provider-side cause that cc-switch cannot fix alone.
Still using the old account after switching: upgrade to v4.0.6+, and restart the Codex background service as prompted after switching; the desktop app or editor plugin must be fully quit and reopened. If it still reproduces, the maintainer asks to add the Codex version/type and the cli_auth_credentials_store from config.toml to #7700—do not paste tokens or the full auth.json.
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”This page is distilled from 13 real issues
- #3655codex桌面端使用cc无法接入minimax模型,按照步骤操作后在codex上模型显示自定义。
- #4257仅添加DeepSeek,codex切换模型处显示自定义
- #4467Codex 切换到provider后 Subagent 无法spawn
- #5170gpt5.6无法显示
- #5180关于 ChatGPT Codex Free登录+请求走三方key 切换优化释义
- #5286[Bug] Codex 增强模式保留官方登录时,GPT-5.4/5.5 提示该分组下的模型不存在
- #5752怎么卸载便携版,用chatGPt账号登录,现在我把软件删了还是没有原本官方的登录页面
- #5837chatGPT官方/第三方供应商的model_provider定义
- #6677unexpected status 401 Unauthorized: Incorrect API key provided: ark-ee1b**********************************93eb. You can find your API key at https://platform.openai.com/account/api-keys., url: https://api.openai.com/v1/re
- #7377ccs中使用官方codex登录后,登录失效后,无法切换供应商
- #79674.0.4版本新加chatgpt账号切换不成功,之前的账号可以切换,尽快修复吧
- #84174.0.13无法读取聊天历史记录
- #8498chatgpt桌面端无法使用chatgpt work
- But I'm stuck at login requiring a phone number—what do I do?
- Users in #8417 hit the same blocker; the page offers no way to bypass the phone number. You can open the session via the Codex entry instead of ChatGPT Work, or per the maintainer's suggestion stay on Codex desktop 26.1007 for now.
- Method 2 (direct mode) doesn't work—am I out of options?
- Prefer method 1: log in to the official account via OpenAI Official, then use routing mode to take over the third-party provider; in routing mode cc-switch does not modify auth.json. In direct mode you must confirm "Keep official login when switching without takeover" is enabled and the official login state has not expired.
- Is 429 Too Many Requests also caused by cc-switch?
- No. The maintainer in #8498 explained 429 is rate limiting returned by the upstream API; if 429 persists after login is fixed, check the rate or quota limits of the provider actually in use—in routing mode you can confirm this in the request log of the usage statistics.
- Is Codex CLI also affected by the Work browser access restriction?
- The maintainer stated in #8417/#8498 that the CLI is not affected; the restriction comes from the ChatGPT/Codex desktop app's login requirement for continuing sessions/Work browser access starting in 26.1013.
- Why didn't the original official login page come back after I deleted the cc-switch portable version?
- Per #5752, you also need to clean up the local Codex configuration: delete the relevant fields in ~/.codex/config.toml and clear ~/.codex/auth.json; deleting only the software does not restore these files.
- In state_5.sqlite, what do cc-switch-official/custom/openai mean for threads.model_provider?
- SaladDay explained in #5837: openai is the built-in official provider; cc-switch-official is official OAuth via local routing; custom is the custom/shared history bucket. It is a routing bucket, not an account identity.
Related problems
Section titled “Related problems”This is an unofficial community wiki with no affiliation to the cc-switch authors or the project itself. Its content is compiled from the project's public GitHub issues. This site distributes no software.