Every card on the board is a coding agent on its own branch.
Vibeboard is a desktop app that runs Claude Code and OpenCode sessions as cards on a kanban board. Move a card to In Progress and it gets a fresh git worktree, a branch, and an agent working in it. Move it to Done and the branch merges back. The columns, and what each one does, are yours to change.
The columns are the workflow: dragging a card is how you start an agent, hand it to review, and merge its work. This is the board every project starts with.
1
To Do
Write the task on a card. Nothing runs yet, so the backlog costs nothing.
2
In Progress
Vibeboard creates a git worktree and a branch for the card, then starts Claude Code or OpenCode inside it. The agent's terminal is one click away.
3
Review
Read the diff, leave comments on lines, and send them back to the agent as a single prompt. Follow the pull request and its checks without leaving the app.
4
Done
Confirm the merge and the branch lands on main. Move a card back to To Do instead and its worktree is removed with nothing merged.
Add your own columns, and decide what each one does
A board isn't stuck with four columns. Add as many as your workflow has, rename them, drag them into a new order, or remove the ones you don't use. Each project keeps its own board.
Every column can act when a card arrives: create the branch and worktree, start the agent, send the agent a prompt or slash command, clean up the worktree, or merge. Chain them and moving a card becomes the instruction.
Set the columns new projects start with in Preferences. Projects that merge through pull requests can keep Done as a status and leave the merge to GitHub.
BacklogBranchTerminalCleanupMerge
PlanBranchTerminalCleanupMerge
Write a plan in PLAN.md. Don't change any code yet.
BuildBranchTerminalCleanupMerge
The plan looks good. Implement it.
TestBranchTerminalCleanupMerge
Run the test suite and fix anything that fails.
ShipBranchTerminalCleanupMerge
Built for running several agents at once
Every agent in one window
The Focus view lists every session by column, with a terminal for each (open more than one if the task needs it). When an agent stops to ask you something, Vibeboard tells you in the app and through your OS's notifications. A status bar keeps your Claude usage in view.
Review before anything merges
Changed files open in a Monaco diff viewer with a folder tree beside them. Leave comments on lines and send them to the agent together as one prompt. Review threads from GitHub appear inline in the same editor.
GitHub on the card
Each card shows its pull request, review verdict and CI status, including whether it's in a merge queue. Stacked pull requests show as a stack, so you can review one layer at a time.
Agents can run the board too
Vibeboard includes an MCP server. An orchestrator session can create cards, read another session's diff, check a branch for conflicts, comment on a pull request and merge finished work.
Docs open next to the code
Markdown, Mermaid diagrams and Excalidraw drawings in the worktree open as tabs beside the terminal, so you can read the plan an agent wrote while it builds it.
Questions
What do I need to run Vibeboard?
macOS, Windows or Linux, git, and Claude Code or OpenCode installed and signed in. Vibeboard starts the CLI you already use, in a terminal inside the app, so your existing settings, MCP servers and subscriptions carry over.
Where do the worktrees go?
Into a .vibeboard-worktrees folder next to your project, one per card, each on a branch named vibeboard/<id>/<task>. Moving a card back to To Do removes its worktree without merging anything.
Can several agents work on the same repo at once?
Yes. That is the point of the worktrees: each agent edits its own checkout on its own branch, so nothing collides until you choose to merge.
Can I change the columns?
Yes. Add, rename, reorder and remove columns per project, and pick what each one does when a card enters it: create the worktree, start the agent, send the agent a prompt or command, clean up the worktree, or merge. The set new projects start with is under Preferences.
Does my code leave my machine?
Vibeboard runs locally and works on your local clone. The agents connect to their providers the same way they do when you run them in a terminal.
Why a terminal command instead of a download?
Vibeboard isn't signed with an Apple Developer ID or a Windows code-signing certificate yet, so macOS and Windows block it when it comes from a browser download. The install scripts fetch it with curl or PowerShell, which the OS doesn't flag, and check it against published checksums before installing. You can read a script first: open its URL without the | bash or | iex.
Install Vibeboard
You'll need git and Claude Code or OpenCode installed. Paste the command for your system into a terminal: it installs the latest version and adds a vibeboard command to your PATH. Run it again to update.