Disclosure: I'm the author of Lynkr. claude-code-router is a genuinely good project that pioneered this category — this is a technical comparison of two different approaches, not a takedown. Where CCR is the better choice, I say so.
If you want to keep the Claude Code harness but route requests to other models, you have two main self-hosted options today: claude-code-router (CCR, ~35k stars, the incumbent) and Lynkr. They solve the same problem with fundamentally different architectures, and which one fits you depends on how much you want to configure versus delegate.
The core difference in one paragraph
CCR routes by scenario rules you write. It has slots — default, background, think, longContext (triggered above a token threshold), webSearch, image — and you assign a model to each. It's predictable, transparent, and entirely under your control.
Lynkr routes by scoring the request itself. Every request gets a 0–100 complexity score computed from 13 weighted dimensions — token count, technical keyword density, tool complexity, multi-step reasoning markers, conversation depth, ambiguity, and so on — and lands in a tier (SIMPLE/MEDIUM/COMPLEX/REASONING) you've mapped to models. You configure the tiers once; the classifier decides per-request.






