skip to content
Codex

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

  1. 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_key tells Codex to read your key from CONIFER_API_KEY, so export it in the shell you launch Codex from.

  2. Run it

    terminal
    codex -c model_provider="conifer" -c model="claude-haiku-4-5" "rename this function across the repo"

    The -c flags pick the provider and model for one session. Use any id from the catalog whose caps include tools, since Codex runs an agent loop.

  3. Make it the default

    ~/.codex/config.toml
    model_provider = "conifer"
    model = "claude-haiku-4-5"

    Put these two lines at the top of the file and plain codex starts on Conifer.

The MCP server

~/.codex/config.toml
[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.