Connect a device

Two lines, and Claude Code runs on the pool.

Every device that joins a pool gets a key of its own. Claude Code sends that key instead of a Claude login, and the pool's account does the work — so your machine never holds anyone's credentials.

01

Get a key

Join a pool from Join a pool, or add a device to one you own from Pools. The key is shown once — the gateway stores only a hash of it, so nothing can read it back to you later. If you lose it, issue another.

02

Use it in the terminal

Set both values in the shell you run Claude Code from.

export ANTHROPIC_BASE_URL="https://blaude.xyz"
export ANTHROPIC_AUTH_TOKEN=<your device key>
claude

ANTHROPIC_AUTH_TOKEN is Claude Code's own variable — it sends the value as a bearer token, which is what identifies the device here. Nothing else needs configuring, and your own Claude login is left alone.

03

Make it permanent

Exports last as long as the shell does. To keep a machine connected, put the same two values in ~/.claude/settings.json under env.

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://blaude.xyz",
    "ANTHROPIC_AUTH_TOKEN": "<your device key>"
  }
}

This applies to every Claude Code session on that machine, including ones you meant to run on your own account. To scope it to one project instead, see below.

04

Use it in VS Code

The Claude Code extension starts the claude CLI itself, and an editor launched from the Dock or Start menu never sees your shell's exports. So exporting the variables does nothing there — the settings file is what works.

In the project you want on the pool, create .claude/settings.json:

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://blaude.xyz",
    "ANTHROPIC_AUTH_TOKEN": "<your device key>"
  }
}

Open that folder in VS Code and the extension routes through the pool. Only that project does — everything else keeps using your own account, which is usually what you want. Run /status in the extension to confirm: it shows the custom base URL rather than your Claude account.

That file holds a working credential. Add it to .gitignore, or name it .claude/settings.local.json, which is the local-only variant and is already ignored by convention.

05

Check what it is spending

Each device is metered separately, so you can see which machine used the pool's share.

curl -s -H "x-blaude-key: <your device key>" https://blaude.xyz/quota
curl -s -H "x-blaude-key: <your device key>" "https://blaude.xyz/usage?limit=20"

When it does not work

Almost always the key.

403 · device token missing or invalidThe key is not one this gateway knows. Usually it belongs to a pool that has since been deleted — deleting a pool revokes every key it issued — or it was truncated when copied. A key is 64 characters.Issue a new device key from /pools and use that one.
It works in the terminal, not in VS CodeThe editor was not started from your shell, so it never saw the exports.Use the settings file in step 04 rather than environment variables.
Still the old key after exporting a new oneThe shell you are in already has the old value exported.Open a new terminal, or re-export in the shell you are actually running Claude Code from.
503 · this pool has not been signed in to Claude yetThe pool has a container but no Claude account, so there is nothing to run work on.Its owner signs it in from /pools — one click, then a code from the browser.