ANVILMission control
One-time
price
$10 CAD
Request access
ANVIL / 00 / Mission control

Mission control for the agents that build your project.

Anvil is a queue, a crew and a canvas for Claude Code. File a brief. A named agent works it in its own worktree. You sign off. One screen tells you what is running, what is stuck, and what needs you.

Runs your own Claude Code sessions Mac app · browser · phone No database. The filesystem is the truth.
ANVIL / 01 / The loop

File it. Dispatch it. Watch it. Sign off.

Four moves, and three of them are the agent's. Yours are the first and the last.

Steps04
01File

Write a brief

A task is one Markdown file: a title, a brief with acceptance criteria, what is out of scope, and how to verify it. File it from the sheet, the canvas, your phone, or any Claude Code session through MCP. It lands in a crew's inbox.

status inbox
02Dispatch

An agent takes it

Anvil spawns a headless Claude Code session on the task, in its own git worktree with its own dev port. Autopilot does this without a click: one agent per crew, up to five in flight, highest priority first.

status active
03Watch

Liveness you can trust

Working, quiet or stalled is derived from the agent's log entries and its branch's commits, never self-reported. An agent that died shows stalled instead of pretending. A question mid-run comes to you; the agent waits.

status active · running
04Sign off

You hold the last word

Every run ends on a verdict: DONE, PARTIAL, FAILED or BLOCKED, with how it was verified. Approve files the task as done. Send back returns it with your note. Only you move anything to done.

status review → done
inbox/active/review/done/ blocked is a status, not a folder — a blocked task keeps its place in active
ANVIL / 02 / Why it works

Vibe coding, run properly.

Agents are cheap to start and expensive to lose track of. Anvil keeps the work legible without slowing it down.

Principles04
Principle / 01

The filesystem is the database.

Every task is a Markdown file with YAML frontmatter that moves between inbox, active, review and done. The agents read and write those same files as they work. No sync layer, no API contract, nothing that can disagree with itself.

git-committed on every write
Principle / 02

Several agents, no collisions.

Each run gets its own worktree and its own dev-server port, so five agents can build at once without fighting over a checkout. Work for another crew is filed as a handoff, with lineage back to the task that spawned it.

one agent per crew on autopilot
Principle / 03

Truth over reassurance.

A state must be provable from evidence. The board shows the agent's verdict line, not its progress notes. A task in sign-off with no RESULT reads no verdict, because "the agent wrote a lot" and "it works" are different claims.

done partial failed
Principle / 04

The first screen answers the question.

What is running, what is stuck, what needs you: in the first viewport, at the desk and on the phone. Dispatching, triage and approvals come after that answer is trustworthy, never before.

polls every 4 seconds
ANVIL / 03 / Features

Everything on one desk.

A sidebar and a page per address. Every page is a link you can bookmark, step back through, or open in a second window.

Modules12
F / 01

Home

A page of widgets you arrange. Twenty-six of them in six groups: queues, crew, numbers, control, shelf, personal. Keep several layouts, export one as JSON, paste it into another project's Home.

#/home⌘1
F / 02

Canvas

Your org as a graph. Tasks are strips; their runs, verdicts and questions hang off them. Lenses show one crew, or only what needs you. Add notes, frames and context packs, and draw edges that chain or block.

#/canvascontext packs
F / 03

Needs you

Questions, sign-offs and blocked tasks in one queue. Open one, step through the rest with the arrow keys, and sign off from the first screen.

questionsign-offblocked
F / 04

Crew

A team per specialism, each with a named agent and its own queue. A new project starts with a builder, a reviewer and a writer. Rename them, add more from the canvas, and see what each one is on right now.

AGENT.md per team
F / 05

Autopilot

Works the inbox without a click: priority, then due date, then age. One agent per crew, five in flight, a daily session cap and a free-disk floor. When it holds, it says why.

ononly ever picks up inbox
F / 06

Sessions

Every dispatched run on one page, each with a live feed of what the agent is doing right now, read straight from the transcript. Usage underneath: sessions, agent-time, turns and tokens.

#/sessionsno dollar figure, on purpose
F / 07

Chat with Anvil

Ask about the board you are looking at. @ mentions a node, a task or a deliverable; / runs an installed skill. Threads are kept and resumed. It reads; it never writes.

popup · dock · window
F / 08

Shelf

What the agents made. Every crew's deliverables and routine output in one place, with the memory index behind them.

#/shelfroutines
F / 09

Phone

A first-class 390px composition with a tab bar, not a shrunken desktop. Reached over Tailscale: the server binds loopback only and is never on the public internet.

44px targetsone-handed
F / 10

Mac app

A native shell around the same page: menu bar, windows, a project switcher, notifications, deep links, and a runtime it keeps alive for each project.

vibehq://⌘1–⌘9
F / 11

MCP

Anvil as tools inside any Claude Code session: list, create, move, hand off, note. Dispatch is deliberately not one of them, because it spends a real session and that decision stays on your board.

claude mcp add hq
F / 12

Nothing is lost

Delete archives instead of unlinking, and asks you to type the name first. Every edit appends an attributed line to the agent log. The janitor sweeps leftover worktrees only on your press, and collisions are reported before you merge.

tasks/deleted/janitorcollisions
ANVIL / 04 / Projects

One queue per project. It lives with the code.

Anvil belongs to no single project. Each one you point it at keeps its own crew, canvas and runs.

Your projects stay separate, and each one keeps its own rules.

A project's queue sits at <project>/hq/, beside its code, in its own repo. Its CLAUDE.md carries the rules its agents follow, so a product's conventions stay with the product. Switch projects in the app and nothing bleeds across; task ids may even repeat.

  • 01Start from a starter. A new project begins with three crews you rename as you like, and grows more from the canvas.
  • 02The queue commits itself. Every task write is committed locally, so a stray git checkout . cannot take the queue with it. Agents never run git on it.
  • 03Linear, if you use it. Point a project at a Linear team and its Backlog and Todo issues flow into crew inboxes every ten minutes, one way.
  • 04One runtime per queue. The app adopts a runtime already running or spawns one; two never fight over the same port.
REGISTRY / 01 / Project recordANVIL—PRJ
name
your-app
repo
~/code/your-app
queue
~/code/your-app/hq/
port
8686 · loopback only
branch
main
rename these, add more from the canvas
ANVIL / 05 / Price

One payment. Your own agents.

Anvil is a one-time purchase, and access is by request for now.

CAD · one-time$10
Price / one-timeCAD
$10
Canadian dollarspaid once

Ten dollars, once. For now, ask for a seat.

Anvil will cost $10 CAD, paid once. Until the checkout opens, access is by request: leave an email below and you get one message when your seat is ready. Anvil runs your own Claude Code sessions: every dispatch is a real session on your own account, which is why it shows you today's sessions, agent-time, turns and tokens, and deliberately no dollar figure of its own.

  • What you getAnvil: the queue, the crew, the canvas, Home, the Mac app shell and the phone layout.
  • What it needsClaude Code on the machine Anvil runs on. Agent usage is between you and Anthropic; Anvil adds no meter and no markup.
  • Where it runsLocally, on your machine, over your own files. The API binds loopback only; your phone reaches it through Tailscale.
  • Who it is forOne person, or a small team, directing an org of coding agents on their own projects.
Request accessPrivate beta · $10 CAD once when it opens
No card · one email when your seat opens

Request received. You get one email when your seat opens.

That email did not look right. Check it and send again.

The request did not save. Try again in a minute.