Feature5 min read

Claude Code kanban board for parallel sessions

A kanban board for your Claude Code tasks, built on GitHub Issues. See which issue each Claude session is working on, live, with priority, roadmap and epics.

By Published Updated

A Claude Code kanban board is a board where each card is a task and you can see which Claude session holds which card. Gitsu builds one on top of GitHub Issues and GitHub Projects: each session marks the issue it picks up, the card shows a live working state, and one filter lists everything your agents are doing right now.

It is built for people who run several Claude sessions at once. With eight terminals open, the question stops being "what is this agent doing" and becomes "which agent has which issue, and what is left". A terminal answers the first question. A board answers the second.

A Gitsu board filtered to Agent working, with two In Progress cards carrying the agent-working label, a priority glyph and an epic with 2 of 7 sub-issues done

How do I see what every Claude Code session is working on?

Turn on the Agent working quick filter. It lists every open item on the board that carries the agent-working label, and a session puts that label on an issue by calling the Gitsu MCP tool start_work. When the session stops, it calls finish_work and the label comes off.

On the board the label is drawn as a live working animation on the card, so the In Progress column shows at a glance which cards have an agent on them and which are waiting. The label is GitHub data, so a teammate looking at the issue on github.com sees it too.

The label means "being worked on now", not "an agent touched this". If the app finds that the session holding a label is gone, it sweeps the label off, and the filter matches open issues only, so a closed issue still carrying it is not counted as live work.

How do I get a session to mark its issue?

Ask it. With the Gitsu MCP server connected, a prompt like this is enough:

Use the Gitsu MCP to pick up #214 on the Gitsu board and mark it as agent working.

When the Agent working filter is empty, Gitsu shows that same prompt, filled in with a real open issue from your board, and a Copy prompt button. To make every session do it without asking, put the instruction in your project's CLAUDE.md: call start_work on the issue before you begin and finish_work when you stop.

Setting up the MCP server, by Gitsu or by hand, is covered step by step in GitHub Projects with Claude Code.

What else does a card show?

Each card carries the signals you need to pick the next task without opening it:

  • Priority. A glyph in the card's footer, read from the board's priority column whatever that column is named. An agent sets the same column with set_field_value, or at creation with create_item.
  • Parent epic. A card that is a sub-issue shows its parent's title right after its number, so "Support keyboard shortcuts" reads as part of "Epic: Board and card UX polish".
  • Sub-issue progress. A parent card shows how many of its sub-issues are done, such as 2/7, with a progress ring.

Epics in Gitsu are GitHub's own parent issues and sub-issues. In the item's detail panel you add, remove and reorder sub-issues, and the filter bar has Has parent issue and Has sub-issues rows to narrow the board to epics or to their children.

Can I see dependencies between issues?

Yes, on the Roadmap layout. The Roadmap draws each item as a bar across a date axis, and Gitsu draws an arrow between an issue and each issue that blocks it, using GitHub's own blocked-by links. You set those links in the item's detail panel. The arrows can be turned off under Display settings.

Two limits: an arrow is drawn only when both issues are on the Roadmap, and a link to an issue outside the project is ignored. An item without dates has no bar, so it has no arrow either.

Can I run Claude Code inside Gitsu?

Yes, in the desktop app's agent panel. Press ⌘2 for Agents mode, pick Claude Code (Codex, Gemini and other installed agents are listed too), choose the local clone to run in, and send your first message. Each conversation is a tab, so several sessions can sit beside the board. The agent process starts on the first message, and its history stays on your Mac.

A run in the panel does not label anything by itself. ADR 0009 records why: a run lives on one machine, and a label is visible to the whole organisation. The agent-working label appears only when the agent calls start_work, the same call a Claude session in your own terminal makes. So sessions in Gitsu's panel and sessions in a terminal show up on the board the same way.

What are the limits?

  • The label depends on the agent. If a session never calls start_work, its issue does not show as worked on. Put the instruction in CLAUDE.md rather than relying on each prompt.
  • macOS desktop app and a paid Seat. The MCP server and the agent panel ship in the desktop app, which needs a Pro or Team Seat. See pricing.
  • Writes need the app open. Reads work with Gitsu closed; start_work and other writes fail with a message asking you to open it.
  • No delete. The agent's write tools cannot delete an issue or remove an item from the board. The agent safety page lists what they can do.

Where to start

If you already run Claude Code against GitHub issues, open Gitsu, connect Claude Code under Settings, MCP server, and give your next session the pick-up prompt above. The board then tells you which session has which issue, what priority each one is, and what is blocked, without asking each terminal for a status update.

How we checked

How the agent-working label is set, shown and swept in Gitsu's code, and which board signals (priority glyph, parent breadcrumb, sub-issue progress, blocked-by arrows) a person running several Claude Code sessions reads from one GitHub Projects board.

Frequently asked questions

How do I see which issue each Claude Code session is working on?

Ask each session to call start_work on its issue through the Gitsu MCP server. That adds the agent-working label, and the Agent working quick filter in Gitsu lists every open item carrying it. finish_work removes the label when the session stops.

Does the agent-working label stay on if a session crashes?

Gitsu sweeps the label off when it finds the session that set it is gone. The Agent working filter also lists open issues only, so a closed issue still wearing the label does not show as work in progress.

Can Claude Code set priority when it creates an issue?

Yes. The create_item tool takes column values, so one call can create the issue on the board with Priority set to P0. If a value cannot be set, the reply names it and the issue is still created.

Does the board show dependencies between issues?

Yes, on the Roadmap layout. Gitsu draws an arrow for each GitHub blocked-by link when both issues are on the Roadmap, and the arrows can be switched off in Display settings. A link to an issue outside the project is not drawn.

Is this a separate tracker from GitHub?

No. The board is your GitHub Projects board and the cards are GitHub issues. The label, priority, sub-issues and blocked-by links are all GitHub data, so teammates on github.com see the same state.

Try it on your own boardsGitsu opens your GitHub Projects boards in the browser. Sign in with GitHub and work on the same issues your team already uses.

Open the web app