Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions blog/src/_data/media.json
Original file line number Diff line number Diff line change
Expand Up @@ -4900,5 +4900,27 @@
"status": "ready"
}
}
},
"claude-code-skills": {
"title": "Claude Code skills",
"category": "guides",
"hero": {
"file": "assets/media/claude-code-skills/hero.png",
"alt": "Title card on white. Claude Code skills in large ink type, a kicker reading What they are, where they live, how to write one, a Checked 14 Oct 2026 pill and a yellow folder with a SKILL.md sheet sticking out.",
"prompt": "Still of the hero scene in assets/media/claude-code-skills/motion.js.",
"status": "ready"
},
"inline": {}
},
"claude-code-router": {
"title": "Claude Code Router",
"category": "concepts",
"hero": {
"file": "assets/media/claude-code-router/hero.png",
"alt": "Title card on white. Claude Code Router in large ink type, with a kicker and a Checked 14 Oct 2026 chip, beside a paper plane trailing a dotted loop.",
"prompt": "Still of the hero scene in assets/media/claude-code-router/motion.js.",
"status": "ready"
},
"inline": {}
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions blog/src/assets/media/claude-code-router/motion.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/* Bright coded scenes for "Claude Code Router". Pairs with motion.js. */
.prose figure.mg { margin: 42px 0; }
.prose figure.mg img, .mg .mg-svg { display: block; width: 100%; height: auto; border: 1px solid #1A1320; border-radius: 18px; background: #fff; }
.mg figcaption { font: 500 13px/1.5 "Space Grotesk", system-ui, sans-serif; color: #6B5878; padding-top: 10px; text-align: center; }
.mg .mg-svg { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.mg .mg-svg text { -webkit-user-select: none; user-select: none; pointer-events: none; }
.mg .mg-hit { cursor: pointer; outline: none; }
.mg [role="slider"] { cursor: grab; touch-action: none; }
.mg .mg-ring { stroke-opacity: 0; transition: stroke-opacity 0.15s; }
.mg .mg-hit:focus-visible .mg-ring { stroke-opacity: 1; }
.mg [role="slider"]:focus-visible circle:nth-child(2) { stroke-width: 5; }
@media (hover: hover) { .mg .mg-hit:hover .mg-ring { stroke-opacity: 0.5; } }
@media (prefers-reduced-motion: reduce) { .mg .mg-ring { transition: none; } }
313 changes: 313 additions & 0 deletions blog/src/assets/media/claude-code-router/motion.js

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions blog/src/assets/media/claude-code-skills/motion.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/* Bright coded scenes for "Claude Code skills". Pairs with motion.js. */
.prose figure.mg { margin: 42px 0; }
.prose figure.mg img, .mg .mg-svg { display: block; width: 100%; height: auto; border: 1px solid #1A1320; border-radius: 18px; background: #fff; }
.mg figcaption { font: 500 13px/1.5 "Space Grotesk", system-ui, sans-serif; color: #6B5878; padding-top: 10px; text-align: center; }
.mg .mg-svg { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.mg .mg-svg text { -webkit-user-select: none; user-select: none; pointer-events: none; }
.mg .mg-hit { cursor: pointer; outline: none; }
.mg [role="slider"] { cursor: grab; touch-action: none; }
.mg .mg-ring { stroke-opacity: 0; transition: stroke-opacity 0.15s; }
.mg .mg-hit:focus-visible .mg-ring { stroke-opacity: 1; }
.mg [role="slider"]:focus-visible circle:nth-child(2) { stroke-width: 5; }
@media (hover: hover) { .mg .mg-hit:hover .mg-ring { stroke-opacity: 0.5; } }
@media (prefers-reduced-motion: reduce) { .mg .mg-ring { transition: none; } }
323 changes: 323 additions & 0 deletions blog/src/assets/media/claude-code-skills/motion.js

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion blog/src/posts/aider-vs-claude-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ Four sensible moves, depending on what you liked about Aider:
1. **Claude Code**, if you want more autonomy and Claude models suit you. You trade a commit per edit for checkpoints, and you decide when to commit.
2. **[Munder Difflin](https://harnessmd.com/download)**, if you are picking Claude Code and will want more than one session going. It is a free and open source desktop app that runs Claude Code agents side by side, each in a real terminal and optionally its own git worktree, with long term memory and a shared task board (todo, doing, blocked, done). Aider is not a built in engine as of 0.5.2. You can type `aider` into the Custom engine, but that agent gets no hooks, so the app cannot tell when it is idle and messages to it go back to the orchestrator.
3. **[OpenCode](/blog/what-is-opencode/)**, if model choice was the point. It is MIT licensed, and its docs say it supports 75+ LLM providers and local models, checked 15 Sep 2026.
4. **cecli**, if you want to stay on Aider's codebase. This GitHub fork of Aider (Apache 2.0, formerly aider-ce) published v1.5.1 on 12 Sep 2026, and its README links docs for MCP configuration and subagents. We have not tested it.
4. **cecli**, if you want to stay on Aider's codebase. This GitHub fork of Aider (Apache 2.0, formerly aider-ce) published v1.5.1 on 12 Sep 2026, and its README links docs for MCP configuration and subagents.

## Should you choose Aider or Claude Code today?

Expand Down
2 changes: 1 addition & 1 deletion blog/src/posts/claude-code-hooks-explained.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Everything below was checked on 29 Sep 2026 against the official [hooks referenc

A hook is a rule that says "when this event fires, run this handler". Most handlers are shell commands (`type: "command"`), but the reference now lists five types: `command`, `http`, `mcp_tool`, `prompt` and `agent`. As the [hooks guide](https://code.claude.com/docs/en/hooks-guide) says, hooks give you deterministic control: a guard runs every time, not when the model remembers.

That is also the answer to "hooks vs skills". A skill is instructions Claude may choose to load. A hook runs whether Claude likes it or not.
That is also the answer to "hooks vs skills". A skill is instructions Claude may choose to load. A hook runs whether Claude likes it or not. Our [Claude Code skills guide](/blog/claude-code-skills/) covers writing one.

## Which hook events does Claude Code have?

Expand Down
2 changes: 1 addition & 1 deletion blog/src/posts/claude-code-projects.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ faq:

Projects in Claude Code are one ongoing conversation where Claude runs your tasks as parallel threads, usually in the cloud. They are in public beta on Pro and Max plans and rolling out gradually. Our view: join the waitlist if your code is on github.com, and expect to use your plan faster. Checked 11 Oct 2026.

We read Anthropic's [Projects docs](https://code.claude.com/docs/en/claude-projects), [launch post](https://claude.com/blog/projects-redesigned) and [changelog page](https://code.claude.com/docs/en/changelog) on 11 Oct 2026. We have not tried Projects. The [concepts hub](/blog/topics/concepts/) explains the terms.
We read Anthropic's [Projects docs](https://code.claude.com/docs/en/claude-projects), [launch post](https://claude.com/blog/projects-redesigned) and [changelog page](https://code.claude.com/docs/en/changelog) on 11 Oct 2026. The [concepts hub](/blog/topics/concepts/) explains the terms.

[Munder Difflin](https://harnessmd.com/download) is free and open source: a desktop app that runs a team of coding agents such as Claude Code, Codex and Gemini CLI on your own computer. It is not part of Projects. The [install guide](/blog/how-to-install-and-use-munder-difflin/) covers it.

Expand Down
96 changes: 96 additions & 0 deletions blog/src/posts/claude-code-router.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
title: "Claude Code Router: What It Is, How It Works and How to Install It"
seoTitle: "Claude Code Router (CCR): Point Claude Code at Other Models"
description: "Claude Code Router, checked 14 Oct 2026: what the local gateway does, how to install it, which providers it lists, and what Anthropic says about it."
date: 2026-10-14
category: concepts
categoryLabel: Concepts
type: Technical
primaryKeyword: "claude code router"
secondaryKeywords: ["claude-code-router", "ccr", "use claude code with other models", "claude code openrouter", "claude code deepseek"]
tags: ["Concepts", "Claude Code", "Model Routing", "Open Source", "Cost"]
faq:
- q: "Is Claude Code Router free?"
a: "The software is open source: GitHub listed it under the MIT licence on 14 Oct 2026. The models behind it are a separate matter: you add each provider with your own API key, and Anthropic's gateway docs say that while a gateway credential or apiKeyHelper is active, gateway traffic is billed per token to whoever owns the credential the gateway forwards."
- q: "Does Anthropic support Claude Code Router?"
a: "No. Anthropic's LLM gateway docs said on 14 Oct 2026 that Anthropic doesn't endorse, maintain, or audit third-party gateway products, and doesn't support routing Claude Code to non-Claude models through any gateway."
- q: "Can I use Claude Code with DeepSeek or OpenRouter?"
a: "Claude Code Router's README names both among the providers it supports. You add the provider and key in the app, start its server and apply a Claude Code profile. Anthropic's gateway docs say it doesn't support routing Claude Code to non-Claude models."
- q: "What port does Claude Code Router use?"
a: "Its README says the local model gateway listens on http://127.0.0.1:3456 by default. If you install the npm CLI and run ccr ui, the browser management screen is at http://127.0.0.1:3458, and the gateway stays on 3456."
- q: "Do my Claude Pro or Max limits apply when I use a gateway?"
a: "Not while a gateway credential is active. Anthropic's LLM gateway docs say those requests carry the gateway credential in place of your claude.ai login, so the subscription's usage limits don't apply to them. Setting only ANTHROPIC_BASE_URL, with no gateway credential, keeps your saved login and its limits."
---

Claude Code Router (CCR) is an MIT licensed local gateway that points Claude Code, and other coding agents, at the providers and models you choose, such as OpenRouter or DeepSeek. Anthropic's [gateway docs](https://code.claude.com/docs/en/llm-gateway) say Anthropic doesn't support routing Claude Code to non-Claude models through any gateway. Checked 14 Oct 2026.

Want several agents side by side rather than one agent on many models? [Munder Difflin](https://harnessmd.com/download) is free and open source: a desktop app that runs a team of coding agents such as Claude Code, Codex and Gemini CLI on your own computer. More explainers sit in our [Concepts hub](/blog/topics/concepts/).

## What is Claude Code Router?

It is a local model gateway and control plane for coding agents, in the words of its [README](https://github.com/musistudio/claude-code-router). The README says it gives agents "one stable local endpoint" while you manage providers, models, accounts, routing rules and tools in one place. In effect, it is a switchboard operator for API calls.

GitHub shows the repo was created in February 2025, and on 14 Oct 2026 its description read "One local control plane for every AI agent". The README lists Claude Code, Claude Design, Codex, Grok CLI, Kimi CLI, Kilo Code, OpenCode, Pi, ZCode and WorkBuddy as supported agents. GitHub showed v3.1.3, released 9 Oct 2026, under the MIT licence, with more than 37,000 stars.

<figure class="mg" data-scene="switchboard"><img src="/blog/assets/media/claude-code-router/switchboard.png" width="1600" height="1200" loading="lazy" decoding="async" alt="Animation. An old telephone switchboard has one jack marked Claude Code on the left and jacks marked OpenRouter, DeepSeek, Moonshot and Mistral on the right. A patch cord plugs Claude Code into DeepSeek, then moves across to OpenRouter."><figcaption>One local endpoint for the agent, many providers behind it. CCR's README, read 14 Oct 2026.</figcaption></figure>

## How does Claude Code Router work?

Claude Code sends its requests to CCR on your machine, and CCR forwards each one to the provider, model and account you set up. The README's diagram shows the agents on top, "Claude Code Router :3456" in the middle with profiles, routing, credentials, tools and logs, and the selected provider, model and account below.

Routing rules can match on request headers and bodies, use prefixes, rewrite requests, retry and fall back to models in a set order, per the README. The README also lists credential pools and key rotation to keep requests running, and logs that show the resolved provider, model, latency, tokens and estimated cost.

<figure class="mg" data-scene="pinwheel"><img src="/blog/assets/media/claude-code-router/pinwheel.png" width="1600" height="1200" loading="lazy" decoding="async" alt="Animation. A pinwheel spins in a breeze drawn as lines labelled retry. The lines fade out, a second breeze labelled fall back starts from the other side, and the pinwheel keeps turning."><figcaption>Retries, key rotation and ordered fallback models, as listed in CCR's README on 14 Oct 2026.</figcaption></figure>

## How do you install Claude Code Router?

Download the desktop app for macOS, Windows or Linux, or install the npm CLI, which needs `Node.js` 22 or newer. The README's desktop steps:

1. Open Providers, then Add Provider. Pick a preset or a custom endpoint, enter the API key, choose the protocol and models, and save.
2. Open Server and click Start. The gateway listens on `http://127.0.0.1:3456` by default.
3. Open Agent Config, choose Claude Code, select a model and apply the profile.
4. Use Claude Code as normal, and check Logs for the resolved provider and model.

The CLI starts the same gateway with a browser management screen instead of the Electron app:

```sh
npm install -g @musistudio/claude-code-router
ccr ui
```

Then open `http://127.0.0.1:3458` and follow the same steps; the gateway stays on port 3456. There is a Docker route too, and the README says to read its Docker guide before you expose CCR remotely.

## Which models and providers can it use?

Custom compatible providers, in the README's words, plus a list of named presets. These rows are our selection from the README, read 14 Oct 2026:

| Type | What the README names |
| --- | --- |
| API formats | OpenAI Chat and Responses, Anthropic Messages, Gemini Generate Content and Interactions |
| Hosted providers | OpenRouter, DeepSeek, SiliconFlow, Moonshot, Kimi Code, Mistral, Z.AI, Bailian |
| Your own endpoint | Custom compatible providers |
| Extra capabilities | Fusion vision, web search, MCP tools, ToolHub |

<figure class="mg" data-scene="chime"><img src="/blog/assets/media/claude-code-router/chime.png" width="1600" height="1200" loading="lazy" decoding="async" alt="Animation. A wind chime hangs from one bar labelled CCR. Its tubes are labelled OpenRouter, DeepSeek, SiliconFlow, Moonshot, Mistral and Z.AI, and a breeze touches each tube in turn so it swings."><figcaption>Some of the hosted providers CCR's README named on 14 Oct 2026.</figcaption></figure>

## What are the trade offs?

You leave Anthropic's support behind, and some Claude Code features may not make the trip. Anthropic's [LLM gateway docs](https://code.claude.com/docs/en/llm-gateway) say Anthropic "doesn't endorse, maintain, or audit third-party gateway products, and doesn't support routing Claude Code to non-Claude models through any gateway."

Anthropic's gateway docs add that Claude Code gains capabilities with each release, and "a gateway that doesn't forward them breaks the corresponding features", so the gateway has to keep up. On billing, the gateway docs say that while a gateway credential is active, requests carry it in place of your claude.ai login, the subscription's usage limits don't apply, and the traffic is billed per token to whoever owns the credential.

<figure class="mg" data-scene="boat"><img src="/blog/assets/media/claude-code-router/boat.png" width="1600" height="1200" loading="lazy" decoding="async" alt="Animation. A paper boat marked Claude Code carries four small flags toward a lock gate marked gateway. The gate lifts part way, the boat passes under it, and its two tall flags stay behind on the bank."><figcaption>A gateway that doesn't forward new capabilities breaks those features. Anthropic's gateway docs, 14 Oct 2026.</figcaption></figure>

We think the bigger risk is the model, not the router: try a small task on any model Claude Code was not built for before you trust it with a refactor. Our [Ollama guide](/blog/how-to-connect-ollama-to-claude-code/) lists what breaks when Claude Code runs on a local model. If price is the reason you are looking, compare first with [what Claude Code costs](/blog/how-much-does-claude-code-cost/) on a plan.

## What are the other options?

Another gateway, Anthropic's own gateway, a local model, or a different agent. [OmniRoute](https://github.com/diegosouzapw/OmniRoute) is another MIT licensed gateway, and its GitHub description said on 14 Oct 2026 that it works with Claude Code, Codex, Cursor, OpenCode, Cline and Copilot.

If you want a gateway for Claude models with budgets and audit logs, Anthropic's docs point to Claude apps gateway, its self-hosted gateway with SSO sign-in. For local models, our Ollama guide covers `ollama launch claude`. For an agent built around many models from the start, see [Claude Code alternatives](/blog/claude-code-alternatives/).

## Can you use it with Munder Difflin?

Munder Difflin runs Claude Code as you have it set up on your machine. Setup is in [how to install and use Munder Difflin](/blog/how-to-install-and-use-munder-difflin/).

<link rel="stylesheet" href="/blog/assets/media/claude-code-router/motion.css"><script defer src="/blog/assets/media/claude-code-router/motion.js"></script>
2 changes: 1 addition & 1 deletion blog/src/posts/claude-code-routines.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ faq:

Our view: Claude routines are worth one small, low risk job if you want Claude Code to work while your laptop is closed, but they are a research preview with hourly limits. A routine is a saved prompt that runs in the cloud on a schedule, an API call or a GitHub event. Checked 12 Oct 2026.

We have not tried routines. This page reports what Anthropic's documentation says. [Munder Difflin](https://harnessmd.com/download) is free and open source: a desktop app that runs a team of coding agents such as Claude Code, Codex and Gemini CLI on your own computer. It sits at the local end of this choice, and routines sit at the cloud end. The [install guide](/blog/how-to-install-and-use-munder-difflin/) covers setup, and the [Concepts hub](/blog/topics/concepts/) explains the terms.
This page reports what Anthropic's documentation says. [Munder Difflin](https://harnessmd.com/download) is free and open source: a desktop app that runs a team of coding agents such as Claude Code, Codex and Gemini CLI on your own computer. It sits at the local end of this choice, and routines sit at the cloud end. The [install guide](/blog/how-to-install-and-use-munder-difflin/) covers setup, and the [Concepts hub](/blog/topics/concepts/) explains the terms.

## What are Claude routines?

Expand Down
Loading
Loading