skip to content
Pi

Your tools

Pi

Register Conifer in ~/.pi/agent/models.json. Same base URL and key.

terminal
export OPENAI_BASE_URL=https://api.conifer.build/v1
export OPENAI_API_KEY=$CONIFER_API_KEY

~/.pi/agent/models.json

~/.pi/agent/models.json
{
  "providers": {
    "conifer": {
      "baseUrl": "https://api.conifer.build/v1",
      "api": "openai-completions",
      "apiKey": "!printenv CONIFER_API_KEY",
      "models": [{ "id": "claude-haiku-4-5" }]
    }
  }
}
terminal
pi --provider conifer --model claude-haiku-4-5 "review this diff for races"

api: openai-completions is the chat wire. Swap the model id for any other id from GET /v1/models.

The ! in apiKey tells Pi to run printenv CONIFER_API_KEY and use what it prints, so the key stays in your environment and out of the file. That form works on Pi 1.x, installed with npm i -g @earendil-works/pi-coding-agent, and on the older 0.x releases published as @mariozechner/pi-coding-agent. A plain $CONIFER_API_KEY works only on 1.x, because 0.x sends it as written.