Connect your first runner
Authorize a machine for a workspace, give it a label, and watch a session find it.
In this tutorial you authorize a machine as a runner of your workspace, give it a label, and make an agent that only runs on machines with that label. It takes about ten minutes.
You need a Blaise account with admin rights in a workspace, Bun, and Claude Code
installed on this machine (claude --version should work).
1. Install the CLI and sign in
bun add -g @blaiseagent/cli
blaise-agent loginlogin asks you nothing in the terminal. It prints a code, opens your browser, and waits.
In the browser, sign in to Blaise if needed and check that the code matches the one in your terminal. If you administer more than one workspace, choose the one this machine belongs to. Then choose Approve.
The terminal confirms the registration and names the workspace:
Runner "my-laptop" registered in workspace "Acme".
The runner token is stored in the system keychain.
Start receiving sessions with: blaise-agent listenThe machine is now a runner of that workspace. It is not tied to any agent.
2. Check that it is registered
In the dashboard, open Settings → Runners. The header reads 1 registered runner · 0 instances
online. A runner is the authorization you just created; an instance is a blaise-agent listen
process using it, and you have not started one yet.
3. Declare a label and start listening
Make an empty directory and create a blaise.yml in it:
version: 1
labels:
tutorial: first-runnerStart the runner from that directory:
blaise-agent listenRefresh Settings → Runners: it now shows 1 instance online, and the label
tutorial: first-runner appears on the runner.
4. Make an agent that needs the label
Open Settings → Agents and create an agent, or edit one. Under Runner requirements, add a
requirement named tutorial with the value first-runner, and save. The form tells you how many
online instances match; it should say 1 of 1.
5. Start a session
Start a session with that agent from the dashboard. It starts at once, because your instance satisfies the agent's requirements.
Now stop the listen process with Ctrl+C and start another session. This one shows Waiting for
a runner, with the requirement it cannot find. Start listen again and the session starts by
itself: nothing was lost, and nothing timed out.
What you did
You authorized a machine once, and described it with a label. The agent never named the machine; it stated a requirement, and Blaise matched the two. Where to go next: