Skip to content

Choose a provider

octo speaks two wire protocols natively — Anthropic Messages and OpenAI Chat Completions — so “which provider” really means “which of the two protocols does it speak.”

Terminal window
export ANTHROPIC_API_KEY=sk-ant-...
octo --provider anthropic --model claude-sonnet-5 "..."
Terminal window
octo config # interactive wizard
octo config show # print the effective settings + where each came from
octo config path # print the file location

octo config writes your default provider, model, (optionally) base URL, and reasoning settings to ~/.octo/config.yml, so a bare octo works without re-typing --provider/--model every time.

Reasoning models can deliberate before answering. Two knobs control it, both available as CLI flags and as octo config defaults:

  • --reasoning-effort low|medium|high|xhigh|max — the intensity. OpenAI-protocol backends receive it as reasoning_effort; Anthropic-protocol backends map it to adaptive thinking / an extended-thinking token budget, normalized per model family. Empty (the default) means off.
  • --show-reasoning (default off) — surface the reasoning/thinking trace for the Web UI (octo serve) to display. The terminal never renders the trace either way.

This unifies Anthropic thinking blocks and OpenAI reasoning_content behind one pair of controls.

Next: see the full schema in the config file reference.