Use it from Claude Code
Setup normally connects Claude Code for you. This page is what to do if it did not, and how to control it afterwards.
You do not set an environment variable, edit a config file, or use an alias. Waired writes Claude Code’s machine-wide settings so Claude Code talks to your model — the same way on Windows, macOS and Linux.
Connect it
Section titled “Connect it”-
Set up the integration:
Terminal window waired link claude-code -
Turn on routing. Setup already did this unless you declined the routing question, chose not to connect Claude Code in the browser, or installed with
--skip-claude-proxy— so this step is for turning it back on later:Terminal window sudo waired claude enableFrom an administrator prompt:
Terminal window waired claude enable -
Start Claude Code as you normally would:
Terminal window claude
Which AI answered?
Section titled “Which AI answered?”The footer tells you, every turn:
public/img/claude-code-statusline.png| What it says | What it means |
|---|---|
⚡ waired: on Waired (qwen3-8b-instruct) |
Answered by your own hardware, by that model |
→ waired: Anthropic |
Answered by the real Anthropic API |
✕ waired: agent down |
Waired is not running on this computer |
After any turn that fell back to the cloud, Claude Code also prints a one-line notice. Nothing is ever silently redirected.
Switch where requests go
Section titled “Switch where requests go”Inside a session, no restart needed:
/waired-route waired # your own AI only, never the cloud/waired-route anthropic # the real Anthropic API/waired-route auto # the default: prefer yours, fall back if neededThe change applies from your next message. The same switch from a terminal:
waired claude route # what is it doing now?waired claude route anthropic --subagents waired # main in the cloud, subagents on yours--subagents is worth knowing about: Claude Code’s subagents do the bulk file
reading, and keeping them on your own hardware while the main conversation uses
the cloud is a real middle ground. See
Privacy.
You can also change the route from the Waired icon → Claude Code, which has separate pickers for the main conversation and subagents.
Things that surprise people
Section titled “Things that surprise people”Claude Code still shows Anthropic model names. It offers Opus, Sonnet and the rest as always. When a request is served by Waired, your device’s active local model answers it, whatever the session has selected. The Anthropic name only matters for requests that actually go to the cloud.
Long sessions get summarized. Local models hold less conversation at once, so Claude Code compacts older turns to fit. That is the session surviving, not failing — see Long Claude Code sessions get summarized.
Failures fall back rather than break. If your model cannot serve a request —
paused, still downloading, an unsupported request shape — Claude Code uses the
real Anthropic API so your turn completes. Choose the waired route if you
would rather see the error than have it redirected.
Sharing one machine with your other devices
Section titled “Sharing one machine with your other devices”In the web console, a machine’s page decides how the rest of your devices may use it:
- Serve main / subagents — two switches. Turning main off keeps a slower machine for parallel subagent work only. This affects requests from other machines; the machine always serves its own Claude Code.
- Max concurrent requests — how many requests it handles at once. More parallelism needs more memory and slows every request, so the page shows a recommended maximum and warns before you pass it.
Check it, or remove it
Section titled “Check it, or remove it”waired claude statusReports whether routing is on, and where the settings file lives:
| Linux | /etc/claude-code/managed-settings.json |
| macOS | /Library/Application Support/ClaudeCode/managed-settings.json |
| Windows | C:\Program Files\ClaudeCode\managed-settings.json |
To stop routing Claude Code through Waired — this restores Claude Code’s normal behaviour:
sudo waired claude disable # Windows: from an administrator promptTo remove the integration files as well:
waired unlink claude-code