Skip to content

Codex Desktop App uses credits from the original account even after switching to a different Plus account #21314

Open

Description

@saivenkat1105

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

Version 26.429.61741 (2429)

What subscription do you have?

Plus

What platform is your computer?

Linux 6.8.0-110-generic x86_64 x86_64

What issue are you seeing?

I am currently connected to a remote SSH server(Linux 6.8.0-110-generic x86_64 x86_64) through Codex desktop app in macOS(Darwin 25.3.0 arm64 arm). I switched accounts after reaching usage limits in my first account. Even after switching the account, all requests are still attributed to the first account. Creating a new thread and starting a a conversation also atrributes the credits to the first account. But /status points to the latest account.

Image

What steps can reproduce the bug?

(Connected to an ssh server through Codex Desktop)

  1. Log in to Account A.
  2. Start a chat thread and send a message. Usage is correctly billed to Account A.
  3. Log out or switch to Account B.
  4. Continue the conversation in the same thread from Step 2.
  5. Observed Behavior: Usage for the new messages is still attributed to Account A. But /status shows account B status

What is the expected behavior?

Usage and telemetry should be attributed to the currently logged-in account (Account B).

Additional information

I have logged into Account B in codex desktop app, ssh server directly and codex cli as well. This issue doesn't occur if I use codex cli in the ssh server but happens when using Codex Desktop app connected to ssh server.
Crating a new conversation in the local machine attributed the usage to Account B while all new and old conversations in the ssh project attributed it to account A.

I have already checked the issue #14730 but the solution in the thread did not help as this is specific to ssh connections through codex.

Session ID - 019dfb0a-87e9-7f42-9919-c2c49ba519f4

Activity

  1. added
    appIssues related to the Codex desktop app
    on May 6, 2026
  2. added
    bugSomething isn't working
    authIssues related to authentication and accounts
    on May 6, 2026
  3. github-actions commented on May 6, 2026

    @github-actions
    Contributor

    Potential duplicates detected. Please review them and close your issue if it is a duplicate.

    Powered by Codex Action

  4. removed
    appIssues related to the Codex desktop app
    on May 6, 2026
  5. Jckwind commented on Jun 9, 2026

    @Jckwind

    Confirming this bug with billing impact, plus a working recovery procedure after manually debugging it end to end.

    Setup: Codex desktop app on macOS (latest), using the built-in SSH feature to drive a remote Mac (also latest). The remote host's codex was authenticated as Account A; I logged the desktop app into Account B. The UI showed Account B active with 100% usage remaining.

    Impact: All usage in existing threads continued billing Account A. Account A had hit its plan limits, so usage fell through to pay-as-you-go API credits with auto-reload — ~$600 in $5 increments over ~24 hours, with no indication in the desktop UI that the remote host was executing under a different identity. I've opened a support ticket requesting a refund of the auto-reload charges.

    Mechanism (found by manual debugging): Threads pin the auth identity they were created with and hold it past logout. After logging the remote host out of Account A, every existing thread failed with: "Your access token could not be refreshed because you have since logged out or signed in to another account. Please sign in again." — they never rebound to the active account.

    Recovery procedure that worked:

    1. Log out of the Codex desktop app on both devices (local and remote)
    2. Kill all codex app-server processes on both machines (pkill -f "codex app-server" — stale servers accumulate and hold the old identity)
    3. Log in on the remote (SSH'd) device first
    4. Then log in on the local device

    After that, all usage correctly attributes to the new account. The login order and the app-server kill both appear to matter — logging in on the laptop alone, or without killing stale app-servers, was not sufficient.

    Suggested fixes: propagate account switches to remote hosts (or kill/restart their app-servers on switch), and surface a visible warning when a remote host's identity differs from the UI's active account.

  6. twentyOne2x commented on Jun 11, 2026

    @twentyOne2x

    Adding an adjacent current-build datapoint and cross-linking #27601. This is not a billing-attribution claim; I did not verify which account was charged. The verified symptom is Desktop live-state not fully refreshing after account switching.

    Environment:

    Codex Desktop 26.608.12217 / build 3722
    Bundled CLI 0.138.0-alpha.7
    macOS 26.3 / Darwin 25.3.0 arm64
    

    Observed pattern:

    1. Heavy Desktop use across many local threads/repos.
    2. Sign out / sign into another ChatGPT account after usage limits.
    3. Codex CLI can often recover after exit/relaunch/login refresh.
    4. Codex Desktop remains degraded until the GUI app is hard quit and reopened.
    5. Symptoms include hidden/blank old threads, very slow thread/resume, and intermittent turn/start timeout / message submission errors.

    This suggests some Desktop app-server/sidebar/thread-manager/auth state survives sign-out/sign-in and only gets reset by a full Desktop process restart.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    authIssues related to authentication and accountsbugSomething isn't workingremote

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions