Support switching between personal and work profiles in Codex

Open 💬 5 comments Opened May 10, 2026 by vltansky
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

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

_No response_

What subscription do you have?

_No response_

What platform is your computer?

_No response_

What issue are you seeing?

A profile switcher in Codex would be useful for users who need to separate personal and work usage.

Requested workflow: use a personal account/profile for personal projects, and a work account/profile for work-related tasks, without manually signing out or mixing account state across projects.

Related existing issues:

  • #4432
  • #12029
  • #14330
  • #18806

What steps can reproduce the bug?

_No response_

What is the expected behavior?

Codex should support switching between named profiles/accounts, so users can choose the right personal or work identity for each project/task.

Additional information

_No response_

View original on GitHub ↗

5 Comments

github-actions[bot] contributor · 3 months ago

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

  • #20546

Powered by Codex Action

dannystaple · 3 months ago

Not a duplicate since the other ticket had multiple feature requests.
However, the UI design in https://github.com/openai/codex/issues/20546 seems highly relevant.

DavidJGrimsley · 3 months ago

Yes this shouldn't be something we should have to ask for.

of-clausulo · 3 months ago

ETA? this would be really helpful- ability to switch integration profiles quickly

Ducksss · 2 months ago

Sharing a candidate implementation for personal/work profile separation:

Branch: https://github.com/Ducksss/codex/tree/PinZheng/auth-profiles-review
Compare: https://github.com/openai/codex/compare/main...Ducksss:PinZheng/auth-profiles-review?expand=1

It adds --auth-profile NAME and CODEX_PROFILE=NAME, so users can run, for example:

codex login --auth-profile work
codex --auth-profile work
codex login --auth-profile personal
codex --auth-profile personal

Each auth profile gets its own Codex home under $CODEX_HOME/profiles/NAME, which separates auth credentials, config overlays, sessions, logs, MCP/plugin state, daemon/socket state, feature flags, memories, and other local state. --profile still works as a config overlay, but inside the selected auth profile home.

I could not create an upstream PR from this account because GitHub rejected PR creation against openai/codex, but the branch is pushed and ready to inspect.

Validation run:

  • cargo fmt --all
  • git diff --check
  • cargo test -p codex-utils-home-dir
  • cargo test -p codex-rmcp-client oauth::tests
  • cargo test -p codex-cli --bin codex auth_profile
  • cargo test -p codex-core build_exec_request_preserves_windows_workspace_roots
  • broad affected-crate cargo check across home-dir, cli, core, rmcp, mcp, app-server, daemon, chatgpt, cloud-tasks, tui, and exec crates