Skip to content

Claude Code Router v3 Setup on Windows

Install Claude Code Router v3 on Windows, add a provider, connect Claude Code through Agent Profiles, configure routing, and fix common setup problems.

MGMCSA Guru Team August 21, 2026 6 min read
Claude Code Router v3 management screen on Windows with a Claude Code agent profile

Claude Code Router (CCR) is a local gateway for coding agents. It accepts requests from Claude Code and forwards them to a model provider you choose. It can also apply routing and fallback rules when one model should not handle every task.

CCR v3 is different from older releases. The old setup guides told you to edit ~/.claude-code-router/config.json and launch with ccr code. The current release has a management UI, provider checks, Agent Profiles, request logs, and a SQLite configuration database. Following the old workflow can leave you editing a file that the running service no longer uses.

This guide follows the current v3 setup on Windows.

Choose the desktop app or CLI

Windows users have two practical options:

CCR distributions

Desktop app Best for daily use, tray controls, automatic updates, and a graphical setup
npm CLI Best for terminal use, SSH, or running without Electron

Download the Windows desktop installer from the project’s GitHub releases page. The release is distributed as a Windows .exe.

For the CLI, install Node.js 22 or newer first. Confirm the version in PowerShell:

node --version

Then install or upgrade CCR:

npm install -g @musistudio/claude-code-router@latest
ccr --help
ccr ui

ccr ui starts the background service and opens the management page. If the command is missing after installation, close PowerShell, open it again, and run npm prefix -g to check where npm installed the global package.

Understand the two local ports

The CLI uses separate addresses for management and model traffic:

Default local addresses

http://127.0.0.1:3458 Management UI and management API
http://127.0.0.1:3456 Model gateway used by agents

CCR can select another management port if 3458 is busy. Use the address printed by the command. The gateway remains a separate service, so an open management page does not prove that model requests can pass through it.

Add a provider and model

Open Providers, choose Add Provider, and select a built-in preset when one exists. For an unlisted service, choose the custom API option.

Enter the provider’s base URL, protocol, API key, and model IDs. CCR supports OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, and Gemini Generate Content protocols. Choose the protocol the provider documents instead of guessing from the URL.

Before saving:

  1. Run protocol probing if you are unsure which format the endpoint accepts.
  2. Run the connection check for one or two models.
  3. Read the returned diagnostic if the key, endpoint, or model ID fails.

Connection checks send real requests and may use billable tokens. There is little value in testing every model at once.

Create a client key and start the gateway

Open API Keys and create a CCR client key. This key authenticates requests sent to the local gateway. It is separate from the provider key and from the private token that protects the management interface.

Next, open Server and start the gateway. Its default address is http://127.0.0.1:3456.

You can verify the service from PowerShell:

Invoke-WebRequest http://127.0.0.1:3456/health

A healthy response confirms that the gateway is running. It does not prove that a provider model works, which is why the provider connection check still matters.

Connect Claude Code with Agent Profiles

Open Agent Profiles, select Claude Code, and create a profile. Choose the main model, a small fast model if you want one, and the Claude Code settings file CCR should manage.

During testing, use the option that applies the profile only when Claude Code is opened from CCR. This keeps your normal Claude Code configuration unchanged. After the test passes, you can decide whether CCR should become the system default.

Apply and enable the profile, then launch it from CCR. With the npm CLI, enabled profiles can also be opened by name:

ccr "Claude - Work"

Use your own profile name in that command. Send a short request, then check Logs. The log should show the requested model, resolved model, provider, response status, and latency.

Configure routing and fallback

The Claude Code profile’s selected model handles ordinary requests. Keep Use enhanced route enabled if you want CCR to help subagents and workflows choose other configured models.

For automatic subagent selection, open Models and write useful descriptions for the models CCR may choose. Describe what each model is good at, such as quick repository searches, difficult refactor planning, or long document review. A model without a description is not offered to this selection mechanism.

Global custom routes live under Routing. Rules are evaluated in order, and the first enabled match rewrites the request. Use fallback settings for failures:

Fallback choices

Off Send the request once and return the failure
Retry Try the same model again for a limited number of attempts
Fallback targets Try the main model, then move through a defined model list

Start with one provider and one model. Add routing after the basic request path works. This makes authentication and protocol errors much easier to isolate.

Common problems

  • ccr is not recognized: reopen PowerShell and check npm prefix -g. Confirm that npm’s global executable directory is on PATH.
  • The UI opens but requests fail: confirm the gateway is running under Server, not just the management service.
  • Requests go to port 3458: change the client to the gateway address on port 3456.
  • A provider check returns 401 or 403: verify that the API key belongs to the endpoint you entered and has access to the selected model.
  • A model returns 404: copy the exact current model ID from the provider. Do not use the product’s display name.
  • A profile cannot be launched: make sure the profile is enabled, save it again, and use its unambiguous name or ID.
  • An old service keeps old options: run ccr stop, then start it again with ccr ui.

CCR v3 Windows checklist

  • Desktop app installed, or Node.js 22+ and the latest CCR CLI installed
  • Provider protocol, endpoint, key, and model checked
  • CCR client key created
  • Gateway running on the address shown under Server
  • Claude Code Agent Profile applied and enabled
  • A test request confirmed in Logs

The safest setup order is provider, connection check, client key, gateway, and Agent Profile. Once one Claude Code request appears correctly in the logs, add routing and fallback rules one at a time.

Frequently asked questions

Does Claude Code Router v3 still use config.json?

Not for normal live configuration. Current desktop and CLI installations store settings in config.sqlite. A legacy config.json is used only as a migration source when the SQLite database does not exist. Configure providers, profiles, and routes through the management UI.

What version of Node.js does the CCR CLI require?

The current npm CLI requires Node.js 22 or newer. Check with node --version before installing it.

What is the difference between ports 3458 and 3456?

For the npm CLI, port 3458 is the management UI and port 3456 is the model gateway by default. Pointing an agent at the management port will not route model requests.

Do I launch Claude Code with ccr code in v3?

Use Agent Profiles in the current v3 workflow. Create and enable a Claude Code profile, then launch that profile from CCR or run ccr followed by the profile name.

Can CCR route subagents to different models?

Yes. Add descriptions to the models you want subagents to choose, enable enhanced routing in the Claude Code Agent Profile, and verify the resolved model in CCR's request logs.

Sources & further reading

Official vendor documentation referenced while writing this guide.

MG

MCSA Guru Team

IT & Systems Administration

We are working IT pros and system administrators who spend our days in Windows Server, Microsoft 365, and the wider Microsoft stack. MCSA Guru is where we write down the fixes and walkthroughs we wish we had found the first time.

MCSA Guru provides independent, educational IT guidance. Microsoft, Windows, Windows Server, Microsoft 365, Exchange, and Microsoft Teams are trademarks of Microsoft Corporation; Docker is a trademark of Docker, Inc. MCSA Guru is not affiliated with or endorsed by Microsoft or Docker. Always test changes in a safe environment before applying them in production.

Related guides

Fixing something right now?

Jump straight into the guide library or search for the exact error or task you are dealing with.