FAQ

Common questions about Ouijit, gathered in one place.

What is Ouijit?

Ouijit is a desktop app for project management with integrated terminal sessions, git worktree-based task isolation, and CLI agent support. It runs on macOS and Linux, is free and open source, and requires no account or sign-in.

What does Ouijit do?

Ouijit is a task and terminal manager for running coding agents like Claude Code in parallel. Each task gets its own git worktree and terminal, lifecycle hooks launch your agent CLI with the right context, and a session-aware CLI lets agents drive the board back. Live status, notifications, diff review, and per-terminal sandboxing (nono's kernel-level access limits, or a launcher you supply) are built in.

What operating systems does Ouijit support?

macOS 13 (Ventura) or later, and Linux x64. Builds are distributed as zipped binaries on the GitHub releases page.

Is Ouijit free?

Yes. Ouijit is free and open source under the AGPL-3.0 license. No account, no sign-in, no paid tier.

Which CLI agents does Ouijit integrate with?

Any CLI tool runs in an Ouijit terminal. Claude Code, Codex, Pi, and OpenCode additionally get live status indicators (thinking / idle) on the terminal card and receive an injected Ouijit CLI reference, so they can create tasks, flip statuses, and update plans from the shell.

How does Ouijit isolate work between tasks?

Every task gets its own git worktree under ~/Ouijit/worktrees/, on its own branch. Worktrees are created via Copy-on-Write cloning (APFS on macOS, reflinks on Linux) so creation is nearly instant regardless of repo size. Each project picks between Quick start (gitignored files copied across) and Clean checkout (tracked files only) in Project Settings.

What does the sandbox do?

Ouijit runs a task's terminals and hooks inside a sandbox, chosen per terminal from the task's Open in menu. Two backends are available. nono runs them in place on the host worktree under kernel-level access limits (Seatbelt on macOS, Landlock on Linux), with filesystem access scoped to the worktree and git data, and .git mounted with hooks/ and config read-only so commits land but the host-side RCE surface stays unwritable. Custom runs them under a launcher you supply, which owns the boundary entirely.

Can the agent inside a sandbox terminal use the Ouijit CLI?

Under nono the terminal runs on the host, so the ouijit CLI shim stays on PATH, with its token scoped to the task's own data — a sandboxed session can read and drive its own task, never an arbitrary one. Under the custom backend the token is scoped the same way, but whether the CLI is reachable at all is the launcher's call.

Where do I download Ouijit?

From ouijit.com or the GitHub releases page: github.com/ouijit/ouijit/releases/latest. Open the DMG and drag Ouijit.app to your Applications folder on macOS, or unzip the archive and extract the binary to a directory on your PATH on Linux.

How do I build Ouijit from source?

Clone github.com/ouijit/ouijit, run npm install, and then npm start. Requires Node.js 20+ and C/C++ build tools for native modules (better-sqlite3, node-pty, koffi). On macOS run xcode-select --install; on Debian/Ubuntu Linux run sudo apt install build-essential python3.