Overview
OpenRouter's Ori Harness (ori) is a CLI launcher, not a standalone AI agent. Released on August 4 alongside the related Ori Eval product, it wraps agent CLIs already on the user's PATH and injects the OpenRouter credentials, model identifier, and environment variables those agents would otherwise need configured by hand.
What It Does
- Single-command install via
curl | bash, followed byori login(OAuth PKCE that reuses an existing OpenRouter session; no API key copy-paste required). - Currently supported harnesses: Claude Code (
ori claude), Codex (ori codex), OpenCode (ori opencode), Hermes (ori hermes). No Cursor, IDE, or GUI integration. - Model switching with
--model <OpenRouter-model-id>; any flags afterori's own are passed through transparently to the underlying agent. - Auto-install hint when the target agent binary is missing.
- Official framing: *"Your workflow does not change."*
- USD budget caps with daily / weekly / monthly reset
- Model allowlists
- Provider allowlists
- Zero Data Retention (ZDR)
- Workspace-scoped permissions
- Hosted under
/labs/; OpenRouter explicitly warns it may change or be removed at any time. - Install method is
curl | bash; no official native Windows support mentioned. - The "~50% system prompt token savings" is OpenRouter's own claim with no published benchmark or methodology, and applies only to Anthropic models.
- Ori is not an intelligent request-level router (e.g., it is not comparable to
claude-code-routertask-based dispatch). Savings come from manually picking cheaper models combined with org-level budget caps. - No independent hands-on reviews were found at the time of writing.
- A GitHub repo named
piratheon/oriexists but is an unrelated C++ TUI—name collision only; do not cite as the official source. - 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 reference: https://openrouter.ai/docs/guides/features/guardrails
The Real Story: "Gateway Tax" Made Visible
The conventional community setup for routing an agent through OpenRouter involves ~13 environment variables. The most consequential is ENABLE_TOOL_SEARCH, which—when enabled for Anthropic models—can reclaim nearly half the system-prompt tokens according to OpenRouter's own claim. Modern Claude models only default this on when they detect a first-party harness, which is the root cause of degraded performance on third-party gateways: the tool search stays off, Claude spends more tokens, takes more turns, and invokes the Todo tool more frequently. ori claude also inspects --model and switches to the optimal configuration for the selected model.
Cost and Governance
Ori inherits OpenRouter organization's Guardrails:
Enforcement is server-side per request; breaches return HTTP 403. Billing is consolidated into OpenRouter Usage Accounting—there is no separate ori invoice.
Strategic Significance
Reproducible multi-model routing is now a one-liner plus OAuth, replacing settings scattered across shell profiles and settings.json. Teams can copy, version, and audit the configuration. Ori appears to be a product line: Ori Eval (model selection benchmarks) shipped August 3, Ori Harness shipped August 4, and both share the same install.sh—signaling that OpenRouter is moving up the stack from "routing API" to "AI coding workflow entry point" covering credentials, model selection, governance, and billing, while raising switching costs.