Skip to content

Stop babysitting your coding agents.

Talk an idea through once, get back a branch to test drive. Claude Code or Codex builds it unattended.

The runcastle workspace. A sidebar groups six features by who is blocked: two need you, one has an agent working, two are in progress and one has shipped. The open feature is on its tickets phase, with ten dependency-ordered tickets and a next step offering to burn them.

Drives Claude Code Codex
Runs on Bun Git Docker Podman SQLite

The agent was never the slow part.

A bar showing where the time on a feature goes. Two wide blocks are yours: deciding what to build, and checking what came back. The thin block between them is the agent writing the code.

The orange sliver is the agent writing the code. runcastle takes on the rest.

A project manager that has read everything.

One standing chat sits above your features. Bring it what is bothering you and get back features, in order.

An example. You bring one sentence with three complaints in it. The project session checks the record, finds a shipped feature that left part of the work undone and a feature in review that touches the same area, then cuts the work into one started feature, two parked drafts, and one item sent to an existing feature.

  • Knows what every agent did
  • Splits the work, sets the order
  • Says no to what is already built
  • Flags collisions before they merge

The review is a drive, not a diff.

A diff cannot show whether the thing works. So the agents run the app, and then you do.

The review player, paused at 0:42 of the lap 1 walkthrough. The recorded app shows a comment box with a mention typeahead open. A red rectangle is drawn around the typeahead, the drawing tools float above the frame, and a note reading "Typeahead closes when I press the down arrow" is ready to save.

  1. An agent drives it first
    Walkthrough recorded, 4:18
  2. You point at what is wrong
    Your note at 0:42
  3. The note becomes the next lap
    Ticket #11, lap 2 burning

Six phases. You make two calls.

runcastle always knows what the feature needs next. It asks you for two things: approve the plan, approve the merge.

Talk the idea into shape

A real agent terminal opens with the feature already loaded. This part is yours.

The decisions get written down

The same session writes the spec and commits it to your repo.

Skim the task list, say go

The spec becomes small tasks, in the order they have to happen. Click once.

Close the tab

Agents take every unblocked task at once, inside containers. Go start the next feature.

Take it for a drive

The finished branch starts on its own port. Click through the real thing before it lands.

It merges, and it remembers

The branch lands on main. The spec, the decisions, and the run history stay in your repo.

Run more features than you could watch.

Each feature asks for you twice. Six of them is a short queue of decisions, not six terminals to poll.

Six features, each on its own branch and each at a different phase. Realtime team collaboration is on tickets and Entry tags is on review, both waiting on you. Offline draft sync is building with an agent working. Kickoff probe is on spec, Weekly digest email is on ideation, and Mood filter has shipped.

Your agents. Your machine. Your repo.

A small server and a browser tab on localhost. No runcastle account, and no server of ours.

Your machine localhost:4512

Your agents

Claude Code
Codex

Your own login, on the plan you already pay for

Docker
Podman

One container for each unattended build

Your repo

main Unattended builds never touch it
feature/entry-tags Agents commit here
docs/features/ Specs, decisions, outcomes

runcastle is built with runcastle.

Counted from its own git history since July 2026.

100
features shipped through this pipeline
1,342
ticket commits written by agents

Get started

One global command. The doctor names anything you are missing.

bun add -g runcastle Install
runcastle doctor Check prerequisites
runcastle Boots on localhost:4512

Needs Bun, Git, and a login for Claude Code or Codex. Full prerequisites

runcastle in sixty seconds

A sixty-second film. An agent says a task is done, and two more prompts show it was not. Then one feature goes through runcastle: a wrong total spotted in the app is saved as a note with Ctrl+J; a project chat turns the notes and a new request into a feature with six ordered tickets; one Burn click gives every ticket its own agent in its own container, all committing to one feature branch; a review agent uses the finished app in a recorded browser and finds a defect; the recording is played back and annotated; a merge conflict with main is resolved by an agent in one click; the feature ships.