On August 4, OpenRouter released Ori Harness, a CLI that turns the tedious process of wiring coding agents to the OpenRouter gateway into a single command. Community tutorials for connecting Claude Code to OpenRouter traditionally require manually setting 13 environment variables. Ori bundles them into one launcher.
What Ori Is (and Isn't)
Per the official blog post *Ori Harness*, ori is not a new agent — it is a launcher/wrapper. ori runs an agent CLI already installed on your PATH, injecting OpenRouter credentials, model, and environment variables on its behalf. The official wording: *"Your workflow does not change."* If the target agent isn't installed, ori suggests the install command.
Four harnesses are currently supported:
ori claude— Claude Codeori codex— Codexori opencode— OpenCodeori hermes— Hermes- Installation via
curl | bash ori loginuses OAuth PKCE, reusing an existing OpenRouter login — no API key creation or pasting required- Switch models with
--modelpassing any OpenRouter model ID - Arguments after ori's own flags are passed through verbatim to the agent
ori claudedetects--modeland applies the optimal configuration for that model- No official open-source repository found. The
piratheon/orirepo found in searches is an unrelated third-party C++ TUI — a name collision, do not cite it. - Ori lives under
/labs/, and OpenRouter explicitly states it may change or remove it at any time. - Only
curl | bashis offered; no native Windows support has been announced. - The "nearly half the tokens" claim is OpenRouter's own, with no benchmark or methodology published, and applies only to Anthropic models.
- Ori is not a cost-saving smart router: unlike claude-code-router's per-task routing, it does no request-level intelligent routing. Savings come from manually choosing cheaper models plus org budget caps.
- As of writing, there are zero independent hands-on reviews.
- Official announcement: https://openrouter.ai/blog/announcements/ori-harness
- Official docs: https://openrouter.ai/docs/guides/ori/harness
- Product page / FAQ: https://openrouter.ai/ori/harness
- Guardrails mechanism: https://openrouter.ai/docs/guides/features/guardrails
Notably, Cursor and any IDE/GUI tools are not included.
Setup and Usage
Why It Matters: Making Gateway Degradation Explicit
The most valuable technical detail is in the 13 gateway variables OpenRouter documented. The key one is ENABLE_TOOL_SEARCH — enabling it for Anthropic models reportedly saves nearly half of system prompt tokens. Modern Claude models only enable tool search by default when they detect a first-party harness; when going through a third-party gateway without it, Claude uses more tokens, more turns, and calls the Todo tool more frequently. This is the root cause of performance degradation via gateways.
Cost Control
Ori inherits OpenRouter org Guardrails: USD budget caps (daily/weekly/monthly resets), model allowlists, provider allowlists, ZDR, and per-workspace permissions. These are enforced server-side on every request, returning 403 on violations. Billing is merged into Usage Accounting — there is no separate ori billing.
Multi-model routing gains configuration reproducibility: one command plus OAuth replaces config scattered across shell profiles and settings.json — copyable and auditable for teams.
Strategic Signal
Ori appears to be a product line: Ori Eval (model selection benchmarking) launched August 3, followed by Ori Harness on August 4, both sharing one install.sh. OpenRouter is moving up the stack from a "routing API" to an "AI coding workflow entry point" — unifying credentials, model selection, governance, and billing — raising switching costs.