Local runner
Run a turn on the Claude Code or Codex CLI already installed on your own machine, using your own subscription.
If you already have the claude or codex CLI installed and signed in on your own machine, Clusy can use it. Pair the machine once, and Claude Code Sonnet, Claude Code Opus, and Codex appear in the model picker. Pick one, and the turn runs on your computer, driven by your own subscription, instead of on a Clusy model.
These models are available on every plan, including Free, because they don't cost Clusy anything to run. They consume no Clusy credits.
The CLI you already have, signed in as you, running on your machine. Clusy sends it the turn; your credentials never leave the laptop.Pairing a machine
Make sure the CLI is ready. On the machine you want to pair, claude and/or codex should be installed, signed in, and on your PATH. Clusy does not log you in and never asks for those credentials, so you do this yourself, the way you normally would.
Get a pairing code. Go to Settings → Integrations, find Local runner under Your own machine, and click Pair a machine. The code is single-use and expires in a few minutes; the dialog counts down.
Install the runner and pair. On your machine, run the two commands the dialog shows you:
npm i -g https://api.clusy.io/local-runners/clusy-runner.tgz
clusy-runner pair <your-code>The runner is a small Node process (Node 20 or newer, which you already have if you have Claude Code). It's served straight from Clusy's API rather than from npm, so the daemon you install is built from the same commit as the relay it talks to.
Watch it come online. When pairing succeeds, the machine appears in the card with a green Online dot, and the new models appear in the picker. There's no second command to run.
The Settings dialog also has a Copy prompt for your agent button. Anyone pairing a machine already has an agent open in a terminal, so you can paste the whole setup into it and let it install, pair, and report back.
Pairing installs a background service
clusy-runner pair installs a start-at-login service (launchd on macOS,
systemd --user on Linux) so the machine stays online without you keeping a
terminal open. That is more than the word "pair" implies, so it's worth saying
plainly. If you don't want it, pair with --no-service and start the runner
yourself with clusy-runner start.
What actually crosses the wire
This is the part to be precise about.
Your subscription credential never leaves your machine. Clusy does not see, store, broker, or transmit your Claude or ChatGPT login. You sign into the CLI out of band; the runner only launches the binary you already have. Clusy has no way to use your subscription for anything other than the turn you asked for.
Your prompts and notebook context do travel to Clusy. They have to: the notebook, the cells, and the sandbox all live in Clusy's cloud, and Clusy assembles the turn before handing it to your machine. The local runner is a credential boundary, not a data boundary. If you were hoping this keeps your code and data off the network, it does not, and you should not use it for that.
What happens on your machine is the agent loop: your CLI does the thinking, and it talks directly to Anthropic or OpenAI from the genuine binary, billed to your own subscription. When it wants to write or run a cell, that call comes back to Clusy and executes against the real sandbox in the cloud, exactly as any other model's would. Cells still run on Clusy's runtime, not on your laptop.
Sharp edges
A few things behave differently from a hosted model, and they are all deliberate.
- The rows follow the daemon, not a saved key. A paired machine that is offline keeps its rows in the picker but greys them out with an Offline badge. Start the runner (
clusy-runner statuswill tell you where you stand) and they come back. - A dropped machine fails the turn — it does not silently swap models. If the runner disconnects mid-turn, the turn ends with an error telling you what to check. Clusy will not quietly re-run it on a hosted model, because that would bill you for a model you didn't pick. Your selection, though, does fall back: if the machine is still offline when you next open the picker, it clamps to your plan's default model.
- One turn at a time per machine. A runner serves a single turn; send a second while one is running and you'll be told the machine is busy.
- Reasoning effort is not adjustable. The CLI owns its own loop and its own reasoning configuration, so Clusy doesn't offer a dial that would do nothing. The effort control is hidden for these models.
- Only Clusy's own tools are auto-approved. The CLI's local shell and file tools are not; they go through Clusy's permission gate.
Cost
The model is free as far as Clusy is concerned: a local-runner turn is never metered, on any plan. You pay for it through the Claude or ChatGPT subscription you already have.
Everything else still bills normally. Cells run in a Clusy sandbox, so if that sandbox is a GPU, the GPU time is metered as usual, and on the free tier even CPU sandbox time counts against the monthly allowance.
If you want a frontier model without a Clusy plan and without a local machine in the loop, the other route is bring your own key.