Vibe Kanban

A kanban board for planning work and dispatching Claude Code, Codex, Gemini CLI, and eight other coding agents into isolated git worktrees, then reviewing and merging their diffs from one UI.

27.3Kstars
2.9Kforks
Apache License 2.0
Rust

Vibe Kanban is an open-source kanban board built specifically for teams and individuals who spend their day planning and reviewing work for AI coding agents rather than writing every line themselves. Instead of juggling terminal tabs for Claude Code, Codex, Gemini CLI, GitHub Copilot, Amp, Cursor, OpenCode, Droid, CCR, and Qwen Code, you create an issue on a kanban board, assign an agent, and Vibe Kanban spins up a dedicated workspace — a git branch, an isolated worktree, a terminal, and a dev server — for that attempt.

Under the hood it’s a Rust (Axum + SQLx/SQLite) backend paired with a React/TypeScript frontend, packaged either as a npx vibe-kanban local web app or a Tauri desktop app. Each coding agent is wrapped by a dedicated executor module in the executors crate, so switching from Claude Code to Codex or Gemini CLI mid-project is a dropdown, not a re-plumbing exercise. A built-in preview proxy injects devtools, an element inspector, and a “click to component” jump-to-source script into whatever dev server the agent starts, so you can click something broken in the live preview and land on the responsible file.

When an agent finishes a task attempt, Vibe Kanban shows the diff inline, lets you leave comments the agent can act on, resolves rebase conflicts against a moving base branch (manually or by asking an agent to do it), and opens a pull request with an AI-generated description once you’re satisfied. A bundled MCP server also exposes projects, issues, and workspaces to external MCP clients — including Claude Desktop or another coding agent — so the kanban board itself becomes an integration point rather than a dead end.

Worth noting: in April 2026, Bloop (the company behind Vibe Kanban) announced it was winding down the hosted Vibe Kanban Cloud product and paid subscriptions, citing an unclear business model for a mostly free user base. The core, self-hosted project remains Apache-2.0 licensed and installable via npx vibe-kanban; the multi-user “Cloud” organization features are still in the codebase and can be self-hosted via Docker Compose, but the company-run hosted service and its support are no longer maintained the way they were pre-announcement.

What You Get

  • Kanban task board - create, prioritize, and assign issues privately or with a team, with subtasks that inherit their parent’s project and branch context
  • Isolated agent workspaces - every task attempt gets its own git branch, git worktree, terminal, and dev server so parallel attempts don’t step on each other
  • Ten pluggable coding agent executors - switch between Claude Code, Codex, Gemini CLI, GitHub Copilot, Amp, Cursor, OpenCode, Droid, CCR, and Qwen Code from the same task UI
  • In-browser preview with devtools - a proxy injects a DevTools panel, an element inspector, and a click-to-component script into the agent’s running dev server
  • Inline diff review and comments - review an agent’s changes as a diff, leave inline feedback the agent can pick up, and re-run the attempt
  • Automated rebase conflict handling - when the base branch has moved on, resolve conflicts manually or delegate the resolution back to a coding agent
  • PR creation with AI-written descriptions - open a GitHub pull request straight from a task attempt with a generated summary of the diff
  • Bundled MCP server - expose your organizations, projects, issues, and workspaces to external MCP clients like Claude Desktop or another agent

Common Use Cases

  • Running several coding agents on the same backlog - keep one kanban board and route different tickets to whichever agent (Claude Code, Codex, Gemini CLI, etc.) is best suited, without maintaining separate tooling per agent
  • Parallel task attempts without branch collisions - dispatch two or three attempts at the same task to different agents simultaneously, each isolated in its own git worktree, and compare the diffs before picking one
  • Reviewing agent output before it reaches a PR - use the inline diff viewer and comment flow to correct an agent’s approach before generating a pull request, instead of reviewing directly on GitHub
  • Self-hosting a small team’s agent workflow - deploy the Docker Compose “Cloud” build on your own server with GitHub/Google OAuth so a team can share projects and issues without depending on the (now discontinued) hosted service
  • Wiring agent orchestration into other MCP tools - connect Vibe Kanban’s local MCP server to Claude Desktop or another agent so task and workspace management becomes part of a larger automated pipeline

Under The Hood

Architecture The backend is a Rust Axum service (crates/server) that fronts a SQLite database accessed through SQLx, with domain logic split across single-purpose crates — worktree-manager and workspace-manager handle git worktree lifecycle, executors wraps each supported coding agent behind a common interface, git and git-host isolate GitHub/Azure Repos operations, review drives AI-generated PR descriptions from a Claude session, and deployment/local-deployment abstract the difference between the npx-packaged local app and the Tauri desktop build. Shared request/response types are defined once in Rust and exported to TypeScript via ts-rs, so the React frontend and Rust backend can’t drift out of sync on API shape. A preview-proxy crate sits in front of whatever dev server an agent starts, transparently injecting devtools and inspection scripts. The core abstraction is the task attempt bound to a worktree; if that binding broke, isolation between concurrent agent runs would collapse, so most of the domain crates exist to protect it.

Tech Stack Rust with Tokio async runtime and the Axum web framework on the backend, SQLx against SQLite for storage, and git2 plus shell-outs for git worktree operations. The frontend is a React/TypeScript monorepo (packages/local-web, packages/remote-web, shared code in packages/web-core) built with Vite and Tailwind, organized as pnpm workspaces alongside a separate Cargo workspace for the Rust crates. Distribution runs through an npx-cli package that downloads a prebuilt platform-specific binary rather than compiling from source, plus a tauri-app crate for a native desktop build. CI on GitHub Actions path-filters frontend, backend, backend-remote, and Tauri changes into separate jobs so unrelated changes don’t all trigger a full Rust recompile.

Code Quality Error handling favors typed, thiserror-based error enums per domain crate (repo, workspace, session, git, git-host, container) that get composed into a single ApiError via #[from] conversions rather than stringly-typed failures or panics. Rust tests live alongside the code and in dedicated tests/ directories for crates like git and services, covering areas like worktree safety and repo discovery; the frontend has comparatively limited automated test coverage, leaning more on pnpm check/ESLint/TypeScript strictness and manual QA than on unit tests. cargo clippy -D warnings, cargo fmt, and frontend linting all run in CI, and generated TypeScript types are checked for drift against the Rust source of truth.

What Makes It Unique Most AI coding tools pick one agent and build a UI around it; Vibe Kanban instead treats the coding agent as a swappable backend behind a stable executor interface, so the same kanban workflow, worktree isolation, and diff review pipeline works whether the agent is Claude Code, Codex, or Gemini CLI. Pairing that with a proxy-injected devtools/inspector layer for whatever dev server the agent happens to start, and exposing the whole task/workspace model back out through its own MCP server, makes it as much an integration hub for agent-driven development as a task tracker.

Self-Hosting

Licensing Model Apache License 2.0 — the full codebase, including the multi-user “Cloud” organization and team features found in docs/cloud, is open source with no license keys or feature gating found in the source.

Self-Hosting Restrictions None identified. Self-hosters can run the same Docker Compose stack used for the hosted product, including OAuth-based multi-user organizations, following the project’s own self-hosting guide.

Enterprise Features There is no separate paid tier in the code or docs beyond the now-discontinued hosted “Vibe Kanban Cloud” subscription; organization/team features (projects, issues, team members) are part of the open-source build.

Cloud vs Self-Hosted The company’s own hosted Cloud service was discontinued in April 2026 (see below), so at this point self-hosting via npx vibe-kanban or Docker Compose is effectively the only supported way to run the multi-user features long-term.

License Key Required No — no license key or activation step was found anywhere in the codebase.

Note on the April 2026 shutdown Bloop announced it was winding down Vibe Kanban Cloud and refunding recent paid subscriptions, saying it could not find a sustainable business model given a largely free user base. The GitHub repository itself is not archived and continues to accept commits, but the hosted/paid product and the team behind it are no longer actively supporting the SaaS offering the way they did before the announcement.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack

No spam. Unsubscribe anytime.

Join 750+ subscribers
No spam. Unsubscribe anytime.

Search