The harness for the harnesses.
Open the app → connect your subscriptions → install MCP where you orchestrate.
Latest: github.com/AJSubrizi/tartarus/releases/latest
| Platform | Download |
|---|---|
| macOS Apple Silicon | Tartarus-mac-arm64.zip |
| macOS Intel | Tartarus-mac-x64.zip |
| Windows | Setup · portable |
| Linux | AppImage · .deb |
Builds are unsigned — macOS: right-click → Open; Windows: SmartScreen may warn.
# Desktop app for your OS (default)
curl -fsSL https://raw.githubusercontent.com/AJSubrizi/tartarus/main/install.sh | bash
# CLI only (clone + build + link to ~/.local/bin)
curl -fsSL https://raw.githubusercontent.com/AJSubrizi/tartarus/main/install.sh | bash -s -- --cliOr from a clone:
git clone https://github.com/AJSubrizi/tartarus.git && cd tartarus
pnpm i && pnpm build
pnpm start # setup GUI → http://127.0.0.1:7340
# pnpm desktop # Electron window1. Open Tartarus (GUI)
2. See your agents: Claude, Codex, Cursor, Pi, Zero, OpenCode, Grok, GLM…
3. Click “Installa MCP” on Claude or Codex or Cursor
4. Open that app → you orchestrate; Tartarus only runs
Claude / Codex / Cursor ← you work here (orchestrator)
│ MCP (one click from GUI)
▼
TARTARUS ← detects subs + spawns workers
│
Claude · Codex · Cursor · GLM · …
| Section | What you do |
|---|---|
| I tuoi agent | Auto-detect CLI (Claude, Codex, Cursor, Pi, Zero, …). “Rileva di nuovo” if you install something new. |
| Installa MCP | Buttons: Claude Code · Codex · Cursor — one click registers Tartarus there. |
| Job board | Live status / log tail / kill for spawned jobs (observation only — you still pick winners via MCP). |
| Dopo | Restart that app and say: usa tartarus_help |
No hand-editing JSON required. Packaged apps check GitHub Releases for updates (optional).
In Codex / Claude / Cursor:
usa tartarus_help e tartarus_refresh
# Preferred (scoped npm package)
codex mcp add tartarus -- npx -y @ajsubrizi/tartarus mcp
# Fallback from GitHub
codex mcp add tartarus -- npx -y github:AJSubrizi/tartarus mcp
tartarus setup codex
tartarus doctorPackage name on npm is
@ajsubrizi/tartarus(unscopedtartarusis a different package).
Workers do not receive your chat history. You send a structured brief:
{
"prompt": "Add rate limiting to the API client",
"context": {
"constraints": ["no new deps", "keep public API stable"],
"notes": ["auth already refactored in PR #12"],
"files": ["src/api/client.ts", "src/api/client.test.ts"],
"handoffFromJobId": "job_abc123"
}
}Tartarus will:
- Build
.tartarus/brief-<job>.mdin the worktree - List project guides (
AGENTS.md,CLAUDE.md,ZERO.md, …) - Inline priority files
- Inject handoff from a prior job if set
- Point the CLI at that brief (sandbox-safe)
Optional DNA:
tartarus_set_dna { "setup": ["pnpm install"], "autoSetup": true }
After a job: tartarus_handoff → markdown for the next worker.
| Tool | Purpose |
|---|---|
tartarus_run / fanout |
Spawn with context pack |
tartarus_preview_context |
Preview brief (no spawn) |
tartarus_wait / job / handoff / logs |
Poll + handoff |
tartarus_inspect / inspect_jobs |
Git facts — you pick the winner |
tartarus_set_dna |
setup hooks, guides, env copy |
tartarus_kill / cleanup_tag |
Stop + reclaim |
| Harness | Spawn |
|---|---|
| Claude | -p + skip-permissions |
| Codex | exec + bypass |
| Cursor | -p --force --trust |
| Pi (pi.dev) | -p --mode text --approve |
| Zero (Gitlawb) | exec --output-format text |
| OpenCode / Grok / GLM | see tartarus adapters |
Tartarus never auto-picks a winner.
Paste into Claude / Codex / Cursor after MCP is on:
You are the orchestrator. Tartarus only spawns workers — you decide.
1. tartarus_help, tartarus_refresh, tartarus_set_project on this repo
2. tartarus_preview_context with a clear goal + constraints + key files
3. tartarus_fanout the same brief to 2 harnesses (e.g. codex + cursor) with worktrees
4. tartarus_wait / tartarus_inspect_jobs — read diffs, pick a winner yourself
5. tartarus_cleanup_tag on losers; keep or merge the winner
Never invent a winner score. Use git facts only.
pnpm install && pnpm typecheck && pnpm smoke && pnpm build
pnpm start
pnpm desktop:pack # mac .app under release/PRODUCT.md · CONTRIBUTING.md · CHANGELOG.md
MIT · @AJSubrizi