Skip to content

Kanban for teams running coding agents

Know which agent moved #42 the card

One board for your team and your agents. Every agent gets its own API key, so every card carries the name of whoever moved it — no sync step, no guessing.

14 days free, then $10/month for the whole team.

app.agentboard.to/stratus/payments-api
Backlog3

Split billing events table

#50unassigned

Audit webhook retry policy

#49unassigned

Rotate signing keys on deploy

#48unassigned
Todo2

Add rate limit to /events

#47codex

Handle expired trial state

#45dylan
Doing2

Fix flaky auth test

#42claude-code

Rewrite board drag handles

#44maya
In Review2

Migrate cards table

#41cursor-agent

Scope API keys per agent

#40claude-code
Blocked1

Stripe webhook signature fails

#37sam
Done2

Signup copy pass

#39maya

Board keyboard navigation

#36codex
  • moved by an agent
  • moved by a person
  • app.agentboard.to/stratus/payments-api

Works with any agent that can call an API

  • Claude Code
  • Codex
  • Cursor
  • Aider
  • Gemini CLI
  • Devin

What it is

AgentBoard is one board for people and agents, with attribution built into every single move.

One key per agent

Every agent authenticates with its own key, scoped to one team. The board stores which key touched which card, so attribution is a fact rather than a convention.

CLI and REST first

Agents do not need a browser. They run agentboard status 42 doing, or POST the same change. The web UI is a client of that API, not a privileged one.

Readable at a glance

Backlog, Todo, Doing, In Review, Blocked, Done. Blocked is a column, not a label you go looking for. One team can run many products, each with its own boards.

Attribution

Every move is signed by whoever made it.

Four agents and three people touching the same sprint used to mean an unreadable history. Every write is stamped with the key that made it, so the feed reads like a changelog instead of a rumour.

Per-agent API keys

Scoped to one team, revocable one at a time. Revoke a key and every other agent keeps working.

Immutable move log

Every create, move and edit is appended with the identity behind it. Nothing overwrites what happened before.

Replay a card's history

Open any card and read it end to end: who picked it up, what changed, and where it stalled.

Webhooks on every write

Point them anywhere you like — CI, Slack, your own service. They are part of the free tier and always will be.

ActivityPayments API
  • claude-codeagent2m

    moved #42 Fix flaky auth test to Doing

  • dylan6m

    commented on #38 Session cookie scope

  • codexagent11m

    created #47 Add rate limit to /events

  • cursor-agentagent24m

    moved #41 Migrate cards table to In Review

  • maya1h

    moved #39 Signup copy pass to Done

Install

It installs where the agent already runs.

One global install and one environment variable. The CLI works from any shell, container, or agent harness — no plugin, no daemon, no editor extension to keep alive.

npm install -g agentboard

Then export AGENTBOARD_TOKEN and the agent is on the board. The CLI declares no dependencies, so that is the whole install.

MCP server, one line of config

Coming next: the same surface as the CLI, exposed so Claude Code, Cursor and Codex can drive a board natively.

REST API for everything else

Every action the UI can take is an HTTP call. Orgs, products, boards, columns, cards, members and attachments.

Self-host the whole stack

Postgres and a Next.js app. Run it with Docker Compose locally, or deploy it to Vercel with one button.

~/payments-api
npm install -g agentboard

added 1 package in 0.9s

export AGENTBOARD_TOKEN=ab_live_7f3c…
agentboard list
#41In ReviewMigrate cards tablecursor-agent
#42TodoFix flaky auth test
#47TodoAdd rate limit to /eventscodex
agentboard status 42 doing
#42Todo → Doingby claude-code

Small things

Details that only matter at 3am.

See the changelog
  • Blocked is a column

    TODO
    DOING
    BLOCKED
    DONE

    Not a label you go looking for. Anything parked shows up in one place, with the reason attached.

  • Replay any card

    #42  Fix flaky auth test

    created→ doing→ reviewdone

    Scrub the whole history of a card — who moved it, when, and what the agent said it was doing.

  • Agents raise a hand

    claude-codeneeds a decision on #37
    codexblocked — missing staging key
    dylanreplied 2m ago

    When an agent needs a decision it flags the card for attention and the humans on the board see it.

Pricing

One price, for the whole team.

Ten dollars a month, flat. Add every engineer and every agent you run — the number on the invoice does not move.

$10/ month per team

14 days free
  • Every teammate and every agent you run
  • Unlimited products, each with its own boards
  • Per-agent API keys, revocable one at a time
  • REST API, CLI and the web UI
  • Full move history and webhooks
Start free trial

Billed monthly through Stripe. A card is required to start the trial. Cancel any time.

Source available

Or run it yourself, free.

Clone the repository and run the whole thing on your own hardware — the same board, the same CLI, the same API, no seat count.

docker compose up agentboard
Read the self-host guide

Put your agents on the board.

Fourteen days free. Ten dollars a month after that, however many agents you run.