[macOS][26.820.60940] Personal Pro account logs out after /accounts/{account_id}/settings returns "Must use workspace account"
What version of the Codex App are you using (From “About Codex” dialog)?
ChatGPT desktop: 26.820.60940
What subscription do you have?
Personal ChatGPT Pro
What platform is your computer?
Darwin 25.6.0 arm64 arm
What issue are you seeing?
Reproduction prompt/action:
- Sign into the ChatGPT macOS desktop app with a personal ChatGPT Pro account.
- Create a new chat.
- Send the message:
TEST RESUME CHAT
The app immediately logs out.
The same behavior occurs when opening/resuming an existing chat or project.
Relevant desktop log output, with identifiers redacted:
2026-08-27T00:55:58.129Z warning [electron-fetch-wrapper] desktop_fetch_auth_401 hadToken=true skipRetryReason=null target="GET https://chatgpt.com/backend-api/accounts/:param/settings" tokenSource=cached willRetry=true
2026-08-27T00:55:58.401Z warning [AppServerConnection] app_server_connection.auth_status_result authMethod=chatgpt cacheWrite=null hasToken=false nullReason=auth_token_missing refreshToken=true tokenExpiryState=missing
2026-08-27T00:55:58.585Z info [electron-message-handler] [chatgpt-account-lookup] completed accountInfoHttpStatus=undefined accountsHttpStatus=undefined authenticatedAccountPresent=false authMethod=chatgpt failureType=account_info_token_unavailable hasEverErrored=false result=failed windowType=electron
2026-08-27T00:55:58.611Z info [electron-message-handler] remote_connections.connection_state_changed error={
"code":"connection-failed",
"message":"{
\"level\":\"ERROR\",
\"fields\":{
\"message\":\"Failed to refresh token: 401 Unauthorized: {
\\\"error\\\": {
\\\"message\\\": \\\"Your refresh token has been invalidated. Please try signing in again.\\\",
\\\"type\\\": \\\"invalid_request_error\\\",
\\\"param\\\": null,
\\\"code\\\": \\\"refresh_token_invalidated\\\"
}
}\"
},
\"target\":\"codex_login::auth::manager\"
}"
}
After this failure, subsequent requests are sent without a usable access token:
desktop_fetch_auth_401 hadToken=false skipRetryReason=no_token_attached target="GET https://chatgpt.com/backend-api/wham/:param/:param" tokenSource=cached willRetry=false
sa_server_request_failed errorMessage={"detail":"Unauthorized"} status=401 routePattern=/wham/onboarding/context
I separately tested the access token immediately after the desktop app logged out.
GET https://chatgpt.com/backend-api/wham/usage
Result:
HTTP 200
Using the same access token:
GET https://chatgpt.com/backend-api/accounts/[REDACTED_ACCOUNT_ID]/settings
Result:
HTTP 401
Response body:
{"detail":"Must use workspace account for this operation"}
This indicates that the access token remains valid after the desktop UI considers the session unauthenticated.
The first failing request appears to be the account settings endpoint, which rejects the request because the authenticated account is a personal ChatGPT Pro account rather than a workspace account. The desktop client then appears to interpret this endpoint-specific 401 as a global authentication failure, clears/rejects the valid access token, attempts a refresh, receives refresh_token_invalidated, and logs the user out.
What steps can reproduce the bug?
Feedback ID: no-active-thread-01a040c1-1389-70e0-8361-3497be5ef1ec
What is the expected behavior?
workspace-account-only endpoint failure should not cause a valid personal ChatGPT Pro session to be treated as unauthenticated or force a logout.
Additional information
_No response_
2 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Thanks. #39925 appears to describe the same underlying authentication failure, but this report confirms the issue also reproduces on macOS 26.6.2 with ChatGPT desktop 26.820.60940 / codex-cli 0.150.0-alpha.8.
I also isolated the initiating 401:
GET /backend-api/accounts/{account_id}/settings
returns:
HTTP 401 {"detail":"Must use workspace account for this operation"}
while the same access token, immediately after Desktop logs the user out, still returns:
GET /backend-api/wham/usage -> HTTP 200
So in this macOS reproduction, the access token itself remains valid. The client appears to interpret the workspace-account-specific /settings 401 as a global authentication failure, changes state to auth_token_missing, attempts refresh, receives refresh_token_invalidated, and logs out.
This reproduces both when resuming an existing thread and when creating a brand-new chat and sending its first message.
I’m leaving this issue open for now because it establishes a current macOS reproduction of what appears to be the same cross-platform bug. I’m happy to close it as a duplicate if maintainers prefer to consolidate tracking under #39925.