Set up a runner

A runner is the open-source vps-agent CLI you install on your own machine or VPS. It registers with SprintFlint, polls for Autoplay jobs, runs a coding harness (Claude Code by default) on the cloned repo, and opens a pull request. The runner never merges; you review and merge yourself.

Prerequisites

Install these on the host before registering a runner:

Where to run it - Anywhere with outbound HTTPS to SprintFlint: a spare laptop, a dev box, or a cloud VPS. The runner only makes outbound connections, so no inbound ports are required.

Install

Install the CLI globally with npm:

npm install -g vps-agent

Verify it is on your PATH:

vps-agent --version

Register

Registration links the runner to your SprintFlint organisation. There are two modes.

Token mode (recommended)

Generate a registration token from the runner setup page in SprintFlint, then register with it:

vps-agent register \
  --token <token> \
  --api-url https://sprintflint.com

Open Runners in SprintFlint, create a runner, and copy its registration token. The token both identifies the runner and authenticates it; keep it secret.

Org-id mode

If you prefer to name the runner at registration time, register against your organisation id:

vps-agent register \
  --org-id <id> \
  --name <name>

Start the runner

Start polling for jobs in the foreground:

vps-agent start

To keep it running in the background (for a VPS or long-lived host), use daemon mode:

vps-agent start --daemon

Once started, the runner sends heartbeats and shows as online in SprintFlint. It now picks up Autoplay jobs for your organisation.

Status, logs, and stopping

CommandWhat it does
vps-agent statusShow whether the runner is running and connected
vps-agent logsPrint recent runner logs
vps-agent logs -fFollow logs live (useful while a job runs)
vps-agent stopStop the runner
vps-agent doctorCheck prerequisites, config, and connectivity

Harness selection

The harness is the coding tool the runner invokes to implement the issue. Set the harness config key:

Permission modes

The permission_mode config key controls how much the harness can do without prompting:

Git authentication

The runner uses the host's own git and gh CLI credentials to clone the repo, push the branch, and open the PR. Authenticate once on the host before starting the agent:

gh auth login

vps-agent doctor verifies this, and the agent refuses to start if gh is not authenticated. SprintFlint never handles your GitHub credentials.

Least privilege - the runner pushes with the host's GitHub account, so give that account only the repo access it needs. The runner runs your harness on your hardware; treat it like any CI worker.

Troubleshooting

Start with doctor

vps-agent doctor checks the common failure points and reports what is wrong:

vps-agent doctor

Runner shows offline

Jobs queue but never run

PR is not opened

Next Steps