Autoplay

Autoplay queues an issue for a self-hosted runner you install on your own machine or VPS. The runner picks up the job, reuses a configured local checkout (git worktree by default) or 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

  1. You start Autoplay on an issue (from the issue page, AI chat, or GitHub)
  2. SprintFlint creates an Autoplay job and notifies your online runners
  3. A connected runner picks up the job
  4. The runner reuses a configured project path / worktree, or clones the repository if no path is set
  5. It runs your pluggable harness (Claude Code first) against the issue
  6. When the harness finishes, the runner opens a pull request; it never merges
  7. 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. Configure a local project path on the project (or a runner override) so jobs use git worktree add from your existing checkout — including local secrets such as master.key. SprintFlint never copies, logs, or stores those files; it only sends the path in the job payload. Clone-from-scratch remains the fallback when no path is configured.

Checkout modes

On the project (and optionally as a per-runner override) you can tell Autoplay how to source the working tree. The job payload includes source_mode, project_path, worktree_base, and use_worktree so the runner does not have to clone from scratch.

SprintFlint only stores and sends the path strings. It never copies, syncs, or logs secrets. Checkout execution (worktree add/remove, dirty-tree handling) lives in vps-agent.

The Pluggable Harness

A harness is the coding tool the runner invokes to implement the issue. The runner ships with two:

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:

  1. Install the CLI: npm install -g vps-agent
  2. Register it with a token from the runner setup page in SprintFlint
  3. Start it: vps-agent start (or --daemon to run in the background)
  4. 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

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

Run already active

The PR was opened but the code looks wrong

Next Steps