Autoplay
Autoplay queues an issue for a self-hosted runner you install on your own machine or VPS. The runner picks up the job, clones the repo, runs your coding harness (Claude Code by default), and opens a pull request for you to review. Autoplay never merges; you stay in control of what ships.
Requirements - Premium subscription, GitHub integration on the project, and at least one runner online (heartbeat within the last few minutes). See Set up a runner to get started.
How It Works
- You start Autoplay on an issue (from the issue page, AI chat, or GitHub)
- SprintFlint creates an Autoplay job and notifies your online runners
- A connected runner picks up the job
- The runner clones your repository on a fresh branch
- It runs your pluggable harness (Claude Code first) against the issue
- When the harness finishes, the runner opens a pull request; it never merges
- Progress and logs stream back to SprintFlint while the job runs
Self-hosted by design - The runner is the open-source vps-agent CLI that you run on hardware you control. Your code is cloned, built, and tested on your own machine; SprintFlint coordinates the job and stores logs, but the harness runs on your runner.
The Pluggable Harness
A harness is the coding tool the runner invokes to implement the issue. The runner ships with two:
- Claude Code (
claude) - the default; drives Anthropic's Claude Code CLI against the cloned repo - No-op (
noop) - a dry-run harness that clones and opens a PR without changing code, useful for verifying connectivity and git auth
You choose the harness when you configure the runner. See Set up a runner for harness selection and permission modes.
Connecting a Runner
Before you can use Autoplay, install and register a runner:
- Install the CLI:
npm install -g vps-agent - Register it with a token from the runner setup page in SprintFlint
- Start it:
vps-agent start(or--daemonto run in the background) - Confirm it shows online; it now picks up Autoplay jobs for your organisation
Full instructions, including prerequisites, git setup, and troubleshooting, live on the Set up a runner page.
Starting Autoplay
- Issue page - Click Autoplay on any issue
- AI chat - Ask to run Autoplay on a specific issue (same queue as the button)
- GitHub - Comment
@sprintflint implementon a linked issue or PR
Working with issues programmatically
The runner implements the issue and opens a pull request; it does not comment back on the issue itself. To read or change issues from your own tools or AI agents - add a comment, move an issue's status, create issues or sprints - use the SprintFlint MCP server. Drop one JSON block into Claude Code, Cursor, Claude Desktop, or Zed and your agent talks to SprintFlint natively. See AI integration for the MCP setup and the underlying REST API.
Troubleshooting
Autoplay button does nothing / stays queued
- Check that at least one runner is online; run
vps-agent statuson the host - Verify GitHub is connected and the project repo is configured
- Confirm your organisation has an active subscription
- Run
vps-agent doctorto check prerequisites and connectivity
Run already active
- Cancel the current run from the runner job logs, or comment
@sprintflint cancelon GitHub - Or use AI chat to cancel Autoplay on the issue
The PR was opened but the code looks wrong
- Autoplay opens a PR for review precisely so you can catch this; close or revise it like any other PR
- Try a more specific issue description; the harness works from the issue title, body, and comments
- Check the run logs to see what the harness did
Next Steps
- Set up a runner - Install, register, and configure the runner
- API Reference - Issue comments and integration
- GitHub Integration - PR linking and mentions