Your tools
Codex
One provider block in config.toml puts Codex on Conifer. Codex keeps its own tool loop, and every turn comes back with a cost receipt.
Point it at the gateway
Add Conifer as a provider
~/.codex/config.toml[model_providers.conifer] name = "conifer" base_url = "https://api.conifer.build/v1" wire_api = "responses" env_key = "CONIFER_API_KEY"Keep
wire_api = "responses". Current Codex accepts only that value.env_keytells Codex to read your key fromCONIFER_API_KEY, so export it in the shell you launch Codex from.Run it
terminalcodex -c model_provider="conifer" -c model="claude-haiku-4-5" "rename this function across the repo"The
-cflags pick the provider and model for one session. Use any id from the catalog whosecapsincludetools, since Codex runs an agent loop.Make it the default
~/.codex/config.tomlmodel_provider = "conifer" model = "claude-haiku-4-5"Put these two lines at the top of the file and plain
codexstarts on Conifer.
The MCP server
[mcp_servers.conifer]
command = "npx"
args = ["-y", "conifer-sdk", "conifer-mcp"]
env = { "CONIFER_API_KEY" = "sk-conifer-…" }The MCP server is separate from the provider block. The session keeps its model and gains tools to ask any other model in the catalog mid-task, with the cost of each call in the result. It runs from the published conifer-sdk package through npx, so there is nothing to build. The MCP server section lists each tool.
With Palm
palm codex opens Codex under the Palm overlay, where you can pause and resume Conifer routing and switch models without restarting codex. Install steps and the toggle keys are on Palm.
The desktop app
codex app opens the desktop app. It reads the same ~/.codex/config.toml, so once model_provider and model are set at the top of the file the app is on Conifer too. The app’s picker labels the session Custom and has no field for typing a model, so the file is where you choose it.
To check the setup, run codex doctor. The model provider line should name conifer and the auth line should read auth is provided by the active model provider.
A local model
conifer serve answers the same Responses wire on http://127.0.0.1:8080/v1 for a model on your own machine. Add a second provider block with that base URL and name the model it serves. Details are on Serve an endpoint.