A terminal user interface (TUI) for switching providers of saved Codex conversations and forks. Runs on Windows and macOS (Apple Silicon and Intel).
Close Codex Desktop and CLI before saving changes.
On macOS, start codex-provider-switcher in Terminal.
Click conversations, providers and actions with the mouse, or use the keyboard:
- In Conversations, type part of a name to find it.
- Choose a result with Up/Down and press Enter. For several conversations, mark them with Space and choose Change provider.
- Choose a provider, then Apply.
- Reopen Codex when the change finishes.
Each conversation shows its provider. Forks have separate rows marked Fork and
can be switched independently. A selection includes its subagents and edited
histories, preserves message content, and leaves unselected conversations and the
default for new conversations on their current providers. Shared history pointers
are kept consistent when referenced files change length.
Tab opens Providers. Choose Add provider and enter a name, a Responses API base
URL and your API key. Use as default selects the provider for new conversations.
openai is built in. Adding a provider does not test its connection.
To switch by ID from the command line:
codex-provider-switcher --apply --select ID --provider openai --yesThis command also sets the default provider. Run --help for other options.
- Checked with Codex
0.153.2and0.162.0-alpha.2. Unsupported history layouts are rejected. - API keys are saved as plain text in Codex
config.toml. You can choose environment-variable authentication or no authentication for a local server. - After an interrupted change, keep Codex closed and run the switcher again to recover. Leave pending files in place. Recovery files are temporary; the application does not keep permanent backups.
- To use a different Codex directory, set
CODEX_HOMEor pass--home PATH. - The macOS installer is unsigned and not notarized by Apple.
Requires Rust 1.96+, MSVC tools on Windows or Xcode command-line tools on macOS.
cargo build --locked --release
cargo test --lockedDistribute the executable from target/release.
License: MIT.

