skip to content
The agent catalog

Your tools

The agent catalog

Conifer ships a spec for every terminal agent it knows how to wire. Ask the CLI rather than reading a table that can go stale.


Each agent is a spec: the provider wire it speaks, how it integrates, the install command for your OS, and a version probe. The specs live in the binary, so the authoritative answer is always the one your own CLI gives:

conifer agents list
ID            WIRE              INTEGRATION  STATUS     INSTALLED
claude-code   anthropic         cli          supported  yes
codex         openai-responses  cli          supported  yes
aider         openai-chat       cli          supported  yes
droid         anthropic         cli          supported  no
openclaw      anthropic         cli          supported  no
hermes        openai-chat       cli          supported  no
opencode      openai-chat       configure    supported  n/a
pi            openai-chat       configure    supported  n/a

Reading the list

ColumnWhat it tells you
wireWhich door the agent speaks: the Anthropic Messages wire, the OpenAI chat wire, or the OpenAI Responses wire. Conifer serves all three on one credential.
integrationcli means Conifer can launch it with the right flags. configure means the agent never reads the launching shell's environment, so a config file edit is the only way to wire it.
installedWhether the binary is on this machine. n/a means the agent is configured rather than launched, so there is nothing for Conifer to probe.
originbuiltin, or a spec you registered yourself. A user spec sharing a built-in's id shadows it, and removing the override restores the original.

Inspect one

terminal
conifer agents show claude-code

show prints the whole spec: the wire, the launch arguments Conifer would pass, the install command for this OS, the version probe and what it reported, and the upstream docs link. Add --json for the machine-readable form.

Install one

terminal
conifer agents install claude-code

The exact command is printed verbatim before it runs, because it is the upstream project’s own documented installer and you should see what you are about to execute. Some agents ship no recipe — OpenClaw, Hermes and droid are installed the upstream way, and show says so rather than pretending otherwise.

Where each one is documented

AgentWireRecipe
claude-codeanthropicClaude Code
codexopenai-responsesCodex
aideropenai-chatAider
opencodeopenai-chatopencode
piopenai-chatPi
openclawanthropicOpenClaw
hermesopenai-chatHermes
droidanthropicdroid

Register your own

The catalog is not a closed list. Export a spec as JSON, edit it, and register it — useful for an internal agent, or for pinning a version of one Conifer already knows:

terminal
# --json wraps the spec in metadata; `add` wants the spec ITSELF
conifer agents show codex --json | jq .spec > my-agent.json

# edit the id and display, then register it
conifer agents add my-agent.json
conifer agents list                 # ORIGIN reads "user"
conifer agents remove my-agent

Note the jq .spec: show --json wraps the spec alongside its origin, install state and probed version, while add takes the spec on its own. Handing it the whole document is a named error that tells you exactly this, rather than a schema dump.

User specs live in $CONIFER_HOME/agents.json. Giving one a built-in id is a disclosed override, and conifer agents remove on that id resets the built-in rather than deleting it.