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.
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.
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.
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.
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.
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.
Vibe coding, run properly.
Agents are cheap to start and expensive to lose track of. Anvil keeps the work legible without slowing it down.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Shelf
What the agents made. Every crew's deliverables and routine output in one place, with the memory index behind them.
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.
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.
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.
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.
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.
- name
- your-app
- repo
- ~/code/your-app
- queue
- ~/code/your-app/hq/
- port
- 8686 · loopback only
- branch
- main
One payment. Your own agents.
Anvil is a one-time purchase, and access is by request for now.
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.