Pointing clients at it
Any OpenRouter client. Change the base URL and nothing else:
export OPENAI_BASE_URL=http://127.0.0.1:8787/api/v1 # was https://openrouter.ai/api/v1omp / pi. In ~/.omp/agent/models.yml, use discovery.type: litellm so
context windows and pricing come from /model_group/info rather than a guess:
providers:
my-router:
baseUrl: http://127.0.0.1:8787/api/v1
apiKey: ROUTER_KEY # only if `apiKey:` is set in router.yaml
authHeader: true
api: openai-completions
disableStrictTools: true
discovery:
type: litellmAliases then appear as my-router/anthropic/claude-opus-5.5 and
my-router/anthropic/claude-sonnet-5.5:
modelRoles:
default: my-router/anthropic/claude-sonnet-5.5
slow: my-router/anthropic/claude-opus-5.5Anthropic-wire clients (Claude Code, the Anthropic SDKs) point
ANTHROPIC_BASE_URL=http://127.0.0.1:8787 and use the bare alias
claude-opus-5-5. The router forwards those to Claude’s native /v1/messages.
For a persistent kind: cli alias, send a stable conversation header so the
router can keep the same Claude Code process for every turn:
X-OMP-Session: project-42The router also accepts X-Session-Id, X-Conversation-Id, and
X-Sticky-Key. Without one, it hashes the opening prefix through the first
user message and uses that key for persistent sessions and sticky selection.
Keep that prefix unchanged on later turns. Identical opening prefixes share a
session, so send distinct headers when independent conversations start the same way.