Ouijit is a customizable task and terminal session manager that integrates with agent CLIs and TUIs via lifecycle hooks, scripts, and a session-aware CLI. It offers basic comforts for agentic development like live agent status with notifications, automatic worktree management for parallel workstreams, and VM sandboxing for untrusted code.
Download the latest release:
Free and open source. No account, no sign-in, no telemetry.
Website · Docs · All releases
Supported harnesses
To request support for another harness, open an issue.
CLI
The ouijit command is available in every terminal Ouijit opens. You can use it directly from the shell to create and advance tasks, manage hooks and scripts, or attach a plan file to the current terminal:
ouijit task list # array of tasks in the current project
ouijit task current # task owning this terminal
ouijit task create-and-start "Fix login bug" # new task + worktree + terminal
ouijit task set-status 5 in_review
ouijit hook set start --command 'claude "$OUIJIT_TASK_DESCRIPTION"'
ouijit script run Lint
ouijit plan set ./plan.md
The supported harnesses (Claude Code, Codex, Pi) know how to use it out of the box. Output is JSON on stdout for easy piping into jq. Full command list in the docs.
Setup
Requires Node.js 20+, git, and C/C++ build tools for native modules (better-sqlite3, node-pty, koffi):
- macOS:
xcode-select --install - Linux:
sudo apt install build-essential python3(Debian/Ubuntu)
git clone https://github.com/ouijit/ouijit.git
cd ouijit
npm install
npm start