Koda Docs
Home Features Download
Docs / Autopilot

Autopilot

Autopilot is Koda's hands-off mode. You describe a goal and how to know it's done; a lead agent plans the work on the board, builds it tests-first, runs your verify command, and keeps going until it passes. Turn on parallel workers and the goal is split into independent cards, each built in its own isolated git worktree and merged back when its tests are green.

Included in your trial and ProAutopilot is part of Koda Pro — and like every Pro feature, it's fully unlocked during your 7-day free trial. It isn't a separate engine — it drives the agent CLIs you already use, through the same Kanban board and coordination layer described elsewhere in these docs. There's no Koda backend involved.

Overview

Normally you drive an agent turn by turn. With Autopilot you hand off the whole outcome and let Koda keep the work moving:

  1. Plan — the lead agent breaks the goal into cards on the board.
  2. Build — it writes code tests-first, committing each green milestone.
  3. Verify — Koda runs your verify command and only accepts a real pass.
  4. Loop — whenever the agent goes idle, Koda nudges it with continue so it keeps going until the goal is met (or it needs you).

A persistent status banner stays in view the whole time, showing the current state — Building, Verifying tests…, Verification failed — fixing, Needs your input, Goal complete ✓ — along with how many cards are done, how many workers are running, the number of auto-continues, and elapsed time against your budget. You can Stop at any moment.

Starting a run

Open the Autopilot dialog two ways:

In the dialog you set:

FieldWhat it's for
Goal (required)What you want built, in plain language.
Done whenThe acceptance criteria — how the agent (and you) know the goal is met.
Verify commandA shell command that must exit 0 for the run to be considered complete, e.g. npm test && npm run build. Optional but strongly recommended — it's the gate (see below).
Agent & accountWhich installed CLI drives the run, and for Claude, which account.
Time budget30m / 1h / 2h / 4h (default 2h). When active build time exceeds it, the run pauses rather than burning on forever.

You can also start from a template — Python CLI, Node/TS API, Web app, Add tests, or Fix a bug — which pre-fills a sensible goal, acceptance criteria, and verify command you can edit. Hit Start building and the run begins in a fresh pane.

One run per workspace — as many workspaces as you likeAutopilot runs are scoped to the workspace: each open workspace can have its own run going at the same time, each with its own goal, budget and board. Runs in other workspaces keep building while you work elsewhere.

Solo vs. parallel workers

The Parallel workers toggle (experimental) decides how the work gets done.

Solo

One lead agent does everything: it plans cards, writes the code, runs the tests, commits, and signals completion itself. Simple, sequential, and works in any folder.

Parallel workers

The lead becomes a planner and integrator only — it is explicitly instructed not to write code. Instead it decomposes the goal into independent, lane-partitioned cards (each owning a non-overlapping slice of the codebase). Koda then runs a separate worker for each Backlog card:

Needs a git repoParallel workers rely on git worktrees, so the workspace must be a git repository with at least one commit. Solo mode has no such requirement.

The verify gate

The single most important idea in Autopilot: the agent doesn't get to declare victory on its own.

When the lead believes it's finished, it signals completion with a summary and a verify command. Koda then independently runs that command and reads the real exit code:

Your command winsIf you supplied a verify command, it overrides whatever the agent proposes — so completion is ungameable. If you give no verify command at all, Koda trusts the agent's "done" signal but marks the run unverified, so you know to check it yourself.

Supervised vs. auto

The Auto-accept permissions toggle controls how the underlying CLI handles approval prompts. Your choice is remembered for next time.

Parallel workers are always autoBackground workers can't show you a prompt, so turning on parallel workers force-enables auto mode and locks the toggle.

When it needs you

Autopilot is autonomous, not reckless. When it hits a decision only you can make — a missing secret, an ambiguous product call — the lead pauses the run and asks. The banner switches to Needs your input and shows the question.

Answer right in the banner's input box, or just type your reply directly in the pane — either way the run resumes. Time spent paused doesn't count against your time budget. If the agent CLI never actually started (so the injected continue nudges are echoing shell errors), Autopilot detects it and stops with a clear reason rather than spinning.

Where state lives

Everything Autopilot needs to run — and to survive a reload — is kept in your workspace under .koda/:

PathHolds
.koda/coord/autopilot-run.jsonThe live run context — goal, criteria, verify command, budget, mode, agent/account, start time. Written on start, removed on stop. Lets a run rehydrate after a renderer reload, and lets the lead recover its goal if its prompt was truncated.
.koda/coord/autopilot-done.jsonThe completion signal the lead writes when it believes the goal is met (then verified by the gate).
.koda/coord/autopilot-blocked.jsonThe question behind a Needs your input pause.
.koda/board.jsonThe cards the lead planned — the same Kanban board you see in the Tasks tab.
.koda/wt/<slug>/Each parallel worker's isolated git worktree (created and removed automatically).

Because the run context is persisted, closing and reopening Koda — or an in-app reload — won't lose an Autopilot run in progress; it picks back up where it was.