Sunsetting Router Mode (claude-code-router) Support in Shannon
#301
keygraphVarun
announced in
Announcements
Replies: 1 comment
-
|
This is great 👍 actually |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Sunsetting Router Mode (
claude-code-router) Support in ShannonWe're removing Router Mode from Shannon. This post walks through what's changing, the thinking behind the decision, and a clear migration path if you've been using it.
First, thank you to everyone who tried Router Mode and gave us feedback on it. The interest in running Shannon against different models was genuinely useful signal for us, and it's shaped how we're thinking about provider flexibility going forward.
What's changing
The
--routerflag and the bundledclaude-code-routerintegration are deprecated and being removed from Shannon. This includes:--routerCLI flagRouteroption innpx @keygraph/shannon setupROUTER_DEFAULT,OPENAI_API_KEY, andOPENROUTER_API_KEYenvironment variables as routing configurationclaude-code-routerdependencyGoing forward, Shannon will officially support running against Claude models via the standard Anthropic API, AWS Bedrock, Google Vertex AI, or an Anthropic-compatible custom base URL.
Why we're making this change
Router Mode was originally shipped as an experimental, unsupported feature for users who wanted to try Shannon with non-Claude models like GPT-5.2 or Gemini 3. We kept the disclaimer clear in the docs, but over time we've realized the experimental label alone wasn't enough, and we think the responsible thing is to make our support model explicit rather than keep a half-supported path around.
A few specific things pushed us toward this decision:
Some teams were using Router Mode in production. That's on us for making it easy enough to reach for, and we don't want anyone running real security work on a path we can't stand behind. When the output was inconsistent, it understandably reflected on Shannon, even when the root cause was a model we hadn't tested against.
We saw reliability issues with non-Claude models, especially smaller ones. The most common failures were around instruction-following and tool-calling, which Shannon relies on heavily. Agents would sometimes skip steps, produce malformed tool calls, or stall out in early phases like reconnaissance. These aren't things we can reliably fix from Shannon's side.
Our harness is deeply tuned for Claude. Shannon's prompts, agent orchestration, internal evals, and benchmark validation are all built and tested against Claude models. Bringing other models up to the same quality bar would mean maintaining parallel prompt sets, evals, and debugging workflows for each provider, and that's not something we can take on responsibly right now without compromising the core experience.
Bundling a router made setup more complex than it needed to be. Provider routing is genuinely its own problem, and dedicated LLM proxies are built for it. Keeping routing inside Shannon was pulling us in two directions, and we'd rather focus on being great at pentesting.
What to do instead
If you want to route Shannon through a non-Claude model or a custom provider, the path we'd recommend is using a dedicated LLM proxy that exposes an Anthropic-compatible endpoint, and pointing Shannon at it via
ANTHROPIC_BASE_URL.[LiteLLM](https://github.com/BerriAI/litellm) is probably the easiest place to start. It supports OpenAI, Gemini, OpenRouter, and most other providers behind a single Anthropic-compatible interface.
Example setup:
This setup keeps provider routing as its own concern, owned by a tool built specifically for it, and lets Shannon stay focused on pentesting.
Note
Even with an Anthropic-compatible proxy in front, only Claude models are officially supported. Non-Claude models may not reliably follow Shannon's instructions or tool-use constraints, and results may be incomplete or inconsistent. The proxy path is there if you want to experiment, but please treat it as experimental on your end.
Timeline
Router Mode is being removed effective immediately. The
--routerflag, theRoutersetup wizard option, and the bundledclaude-code-routerdependency will no longer be available in the current release.If you need to keep using Router Mode for now, you can pin to an older version of Shannon. Just be aware that it's deprecated and won't receive further updates, bug fixes, or support.
If you're currently using Router Mode, we'd encourage you to migrate to an LLM proxy setup when you get a chance. We're happy to help if you run into issues.
We're here to help
If you have questions about the change, need help migrating, or just want to share feedback, please reach out. We'd rather hear from you than have you stuck.
Thanks again for using Shannon, and for bearing with us as we make these calls about where to invest our time.
The Keygraph Team
Beta Was this translation helpful? Give feedback.
All reactions