Coming from Vibe Kanban

If you used Vibe Kanban, you already know how Ouijit works. Each task gets a git worktree and an agent, and you run them from a board. Here's how the pieces line up.

A project's board with tasks in To Do, In Progress, In Review and Done, and their terminals in the sidebar

Why Ouijit

The agent runs as its own CLI in a terminal, in the task's worktree, so Claude Code, Codex, Pi and OpenCode work exactly as they do anywhere else.

Every agent gets the ouijit command. Ask it to split a feature into tasks and it starts them, each with its own agent. It can read the other agents' terminals, open its plan beside itself, link you to the line it changed, and stage review comments for you to send.

A task can run in a sandbox, so an agent with permission checks off is held to its worktree. Ouijit is free, open source, and runs on macOS and Linux.

What maps to what

A hook is a command the project runs when a task changes status. The start hook runs in the new worktree with the task's prompt in $OUIJIT_TASK_DESCRIPTION, and the done hook runs when the task is marked done. Both live under Project Settings → Lifecycle Hooks.

Vibe KanbanOuijit
ProjectProject
IssueTask. A card on the board, with a name and a prompt for the agent.
Sub-issueNone as a status relation. Branch from this task, in the task menu, starts a new task off the parent's branch.
WorkspaceA started task: its worktree and the terminals open in it. One repository per task.
SessionA terminal on the task. Open several to run several agents on one task.
Setup scriptStart hook. It runs in the new worktree when the task starts, and usually launches your agent.
Dev server scriptScripts, under Run Commands. Each runs in a runner panel beside the terminal.
Cleanup scriptDone hook
Chat interface and slash commandsThe agent's own CLI, in a terminal
Preview browserWeb preview panel
Changes panel and commentsDiff review, with notes the agent reads
Target branchMerge target
Create PRPull requests, from the project menu
Merge, rebase, pushFrom the terminal, or a done hook that pushes
Tags (@snippets)None
MCP serverThe ouijit CLI, which every agent in Ouijit already has
Remote access, CloudNot yet. Ouijit runs on your machine today; hosted workspaces are on the roadmap.

What you give up

Move a project over

  1. Install Ouijit and open the repository as a project.
  2. Under Project Settings → Lifecycle Hooks, put your setup script and your agent command in the start hook, for example npm install && claude "$OUIJIT_TASK_DESCRIPTION".
  3. Add your dev server script under Project Settings → Run Commands.
  4. Put your cleanup script in the done hook.
  5. Recreate open issues as tasks with ⌘N and start them. The start hook runs in each new worktree.

Start commanding.

View on desktop to download
Read the docs