Skip to content

feat: support quick switching between multiple Codex accounts / auth profiles #229

Description

@Fanzzzd

I’d like to request first-class support for switching between multiple Codex accounts / auth profiles from inside T3 Code.

Why

The main use case is quota management:

  • one Codex account runs out of usage / rate-limit headroom
  • I want to continue immediately with another account that still has quota
  • I should not need to manually log out, rewrite config, or restart the whole app just to switch accounts

Secondary use cases:

  • personal vs work account
  • different auth profiles exposed by Codex CLI
  • separate billing / quota pools for different tasks

Requested scope

  • Detect or allow configuration of multiple Codex auth profiles / accounts
  • Add an in-app account/profile switcher
  • Clearly show which account/profile is currently active
  • Make it easy to switch before starting a new session, and ideally during normal app usage
  • Optionally surface quota/rate-limit state next to each account/profile if that data is available

Suggested acceptance criteria

  • Users can see more than one available Codex account/profile.
  • Users can switch to another account/profile without manually editing files or re-onboarding the app.
  • New sessions use the selected account/profile predictably.
  • The app clearly defines what happens to already-running threads after an account switch.
  • If quota/rate-limit data is available, users can tell which account still has headroom before switching.

Relevant code context

  • apps/web/src/appSettings.ts
  • apps/web/src/routes/_chat.settings.tsx
  • apps/server/src/codexAppServerManager.ts

Reference implementation ideas

  • CodexMonitor already uses Codex argument/profile concepts and has richer account/config plumbing.
  • A minimal first version could support switching between named Codex auth profiles (for example via Codex CLI profile args or separate auth homes), then expand into a fuller account manager later.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementRequested improvement or new capability.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions