OpenRouter guide

HarnessRouter and OpenRouter

How model routing and agent-backed product work fit together in one stack.

Short answer

OpenRouter helps a product reach and route models. HarnessRouter helps a product run user tasks through configured agent harnesses. They solve different layers and can be used together.

  • Do not pitch HarnessRouter as a drop-in OpenRouter replacement.
  • Use OpenRouter when the problem is model access, provider choice, fallback, or model routing.
  • Use HarnessRouter when the product needs an agent harness to return reviewable work.

Give each layer a clear job

OpenRouter
A unified model API layer for accessing models, choosing providers, and handling model routing or fallback.
HarnessRouter
An agent backend layer that runs product tasks through configured harnesses such as Codex, Claude Code, and Hermes. Pi remains reserved until the catalog marks it available.
Product UI
The place where a user asks for work, sees status, reviews output, and decides whether to save or ship it.

Where OpenRouter fits in an agent product

  • Put OpenRouter near the model/provider layer when the stack needs model choice or fallback.
  • Put HarnessRouter between the product UI and the harness run when the user is asking for completed work.
  • Keep model routing invisible to the user unless model choice changes the product outcome.

Answer the alternative question without misleading users

  • If someone wants an OpenRouter alternative for model access, HarnessRouter is not that product.
  • If someone wants to add agent-backed work to an app, HarnessRouter is the relevant layer.
  • A product can use both: OpenRouter for model access, HarnessRouter for harness-backed workflows.

FAQ

Is HarnessRouter an OpenRouter alternative?
No. OpenRouter is for model access and routing. HarnessRouter is for product tasks that need agent harnesses, sessions, files, artifacts, and traces.
Can I use OpenRouter with agents?
Yes. OpenRouter can sit below an agent or harness as the model access layer, while HarnessRouter handles the product-facing run lifecycle.
When should I use HarnessRouter instead?
Use HarnessRouter when the user expects completed work inside your product, not just a model response.

Run your first agent task.

One API for agent tasks, sessions, streaming, files, and artifacts across Codex, Claude Code, and Hermes.

Start building free