claude executable with the Dari endpoint and dari/routing model. Your existing Claude Code configuration is left intact.
The launcher also offers to use your Claude Code personal subscription. Personal subscriptions require your organization’s Pro plan: without it, the launcher uses Dari managed billing, and a connected subscription stays saved under Credentials until the organization starts Pro.
When your subscription hits its usage limit, Dari records the reset time Anthropic reports and stops sending it requests until then. If the router has a Subscription Fallback Model set for Anthropic, that model serves in place of the router’s Anthropic models on the router’s own credential (configured under each Anthropic model on the router’s Models & Keys tab with its own execution provider, credential, single thinking level, and Fast Mode; it runs on a different provider and does not have to be an enabled model); otherwise the router credential is used when that fallback is enabled, or the request is refused with the reset time. The Credentials page shows the hold, and Mark Available (or dari credentials subscription mark-available claude-code) clears it early.
Every following argument is forwarded to Claude Code:
/v1/messages. The launcher prevents a saved effort setting from overriding the router and pins subagents to dari/routing, so delegated work stays on the router. The default router chooses from its current managed model set, including a reasoning level for each request. Check Activity in the dashboard to see each selection.
The launcher also shows the routing state in Claude Code’s status line after each response: the model that served the turn, its thinking level when one is enabled, and how many turns remain on the current routing lease. The values come from dari_routing on each Anthropic response (selected_model, reasoning_effort, and lease_turns_remaining), which Claude Code stores in the session transcript. If you pass --settings yourself, the launcher leaves your status line alone.
Auto mode’s safety checks run server-side at no charge when a turn is served by an Anthropic model through the Anthropic API: Dari forwards Claude Code’s safeguards request and returns Anthropic’s safeguard_results unchanged. When the router serves a turn on another provider, Claude Code checks that turn’s actions itself.
Claude Code’s own background calls—those client-side safety checks and conversation titles—skip selection entirely and run on the cheapest model your router has enabled. They are short classifications, so routing them would cost more than it saves.
Set DARI_ROUTING_API_KEY before launching to use an existing Routing key instead of the CLI-managed key.
Manual Configuration
If you do not want to use the launcher, create a Routing API key and configure the same environment yourself:--model dari/routing selects the router for the main session and CLAUDE_CODE_SUBAGENT_MODEL="dari/routing" pins subagents to it. Routing dari/routing selects the router’s model set—it does not force one particular upstream model. The router picks the model and reasoning level per request.
To use a different model set, edit the default router or Create A Router with public or Custom Models. Set that router as the default to keep this same launcher, or use the manual configuration and point ANTHROPIC_BASE_URL at https://routing.dari.dev/{router_id}.