Agetor

A local-first kanban that orchestrates Claude Code, Codex and other CLI coding agents in parallel, one git worktree per task.

Source repo
alamops/agetor
Stars
★ 121
Last updated
today
License
MIT
Primary language
TypeScript

At a glance

Works with
Portable with changesCodex · Claude Code
You'll need
macOS on Apple SiliconBun ≥ 1.3.5 (for development)tmuxat least one harness CLI such as claude or codexShell / CLINetwork accessLocal filesystem
Typical use
A solo developer with a Claude Code or Codex subscription who wants several fix branches progressing at once without collisions.
Main limitation
Only macOS on Apple Silicon is shipped; Linux and Windows targets are configured but not built or tested.
Source review
60/100 · Some gaps

What does this agent do, and when should you use it?

Agetor is a macOS desktop app built on Electrobun and Bun that turns a kanban board into a control plane for coding agents you already use. Each card holds a prompt, a repository and a harness; pressing Run creates an isolated git worktree and branch, launches the agent's real CLI inside tmux, and streams the conversation back into the app. It supports eight harnesses — Claude Code, Codex, Cursor, Gemini CLI, fx, Antigravity, GitHub Copilot and OpenCode — most of which are still labelled experimental. Cards move between Backlog, Ready, Running, Blocked, Review and Done on their own, while questions, plan approvals and permission prompts arrive as cards you answer in the panel. Around that core it adds reusable Agent profiles, multi-step Pipelines with branching handoffs, diff review, GitHub/GitLab/Bitbucket integration, and an agetor CLI that drives the same local state.

Agetor runs a Bun core process on your machine, stores tasks, runs, events, projects, harnesses and preferences in SQLite, and exposes an HTTP + Server-Sent Events API bound to 127.0.0.1 that serves both the React webview and the agetor CLI. Creating a task pins a base commit and provisions a worktree under ~/.agetor/worktrees/<task-id>/ on an agetor/<id>-<slug> branch. It then drives the real binary inside tmux, differently per harness: Claude Code runs as an interactive session with output tailed from Claude's own JSONL transcript; Codex runs codex exec --json per turn; Gemini CLI and Antigravity use stream-json headless turns; GitHub Copilot uses --output-format json; OpenCode 2 runs against a server Agetor starts and manages per harness; fx and cursor-agent speak the Agent Client Protocol over stdio as child processes. Parsed tool calls, plans, subagents and TODO progress render as structured components, and AskUserQuestion, plan approvals and permission prompts become cards whose answers are typed back into the live session or sent over the protocol. Pipelines chain Agents into a graph with branching, fan-out and loops, passing context through a <handoff> JSON block.

  1. A solo developer with a Claude Code or Codex subscription who wants several fix branches progressing at once without collisions.
  2. An engineering team that splits documentation, tests and feature work in one repository across parallel agents.
  3. A tech lead who wants reusable Agent presets (harness, model, effort, mode, skills) stored once and launched in one click.
  4. A developer who wants a fixed Plan → Implement → Review pipeline that stops and asks when a step is blocked.
  5. A terminal-oriented engineer who prefers the agetor CLI or TUI dashboard while sharing state with the desktop app.
  6. Someone who started Claude Code or OpenCode sessions elsewhere and wants to import them onto the board, review diffs, commit and open a PR.

How do you install or deploy this agent?

The desktop build is macOS on Apple Silicon only; download the DMG and drag the app into Applications. It is signed, notarized and self-updating.

# 1. Download and install the desktop app from the latest release (manual step):
#    https://github.com/alamops/agetor/releases/latest/download/Agetor-arm64.dmg

# 2. Install and sign in to at least one harness CLI, e.g. Claude Code
npm i -g @anthropic-ai/claude-code
claude

# 3. Optional: install the CLI (verifies a SHA-256 checksum, installs one binary)
curl -fsSL https://github.com/alamops/agetor/releases/latest/download/install.sh | sh

The CLI lands in /usr/local/bin, or ~/.local/bin when that is not writable. Building from source needs Bun ≥ 1.3.5, Git, tmux and at least one harness CLI:

git clone https://github.com/alamops/agetor.git
cd agetor
bun install
bun run dev:hmr

How do you use this agent?

Click New task in the left rail, pick a project folder (a git repository gets its own worktree automatically), choose an Agent or select harness, model and mode yourself, then write the prompt and click Run task, or To backlog to queue it. Opening a card shows the streaming transcript, lets you answer questions, send follow-ups, review the diff, open a terminal, or commit and open a PR. The CLI shares ~/.agetor state with the app and starts a headless daemon when the app is not running:

agetor add --title "Fix login timeout" --prompt "Find and fix the session expiry bug"
agetor ls
agetor start <id>
agetor logs <id>
agetor answer <id>
agetor diff <id>
agetor commit <id>

Running agetor with no arguments opens a full-screen TUI dashboard. Move Agent profiles and Pipelines between machines with agetor export --all --out agents.json and agetor import agents.json. To keep a core running with the app closed, enable Keep Agetor running in the background in Settings; that switch only works for signed release builds installed in /Applications or ~/Applications.

What are this agent's strengths and limitations?

Pros
  • Every task gets its own git worktree and agetor/<id>-<slug> branch with a pinned base commit, so parallel agents on one repository do not collide.
  • It drives the real CLI on your PATH instead of re-implementing it: same login, skills, MCP servers and slash commands, with no hooks installed and no CLAUDE.md edits.
  • tmux-hosted sessions survive application restarts, transcripts replay without duplicates, and runs whose session is gone return to Ready instead of sticking in Running.
  • Pipelines support branching, parallel fan-out, loops and a step cap, passing summaries, files and open questions through a structured <handoff> JSON block.
  • Local-first by design: no account, no cloud relay, no telemetry; state lives in ~/.agetor/agetor.sqlite and the API binds to 127.0.0.1 with a per-launch random token.
Limitations
  • Only macOS on Apple Silicon is shipped; Linux and Windows targets are configured but not built or tested.
  • Seven of the eight harnesses are marked experimental, so behaviour and flags can change between CLI releases.
  • fx and Cursor run as child processes rather than in tmux, so an in-flight turn does not survive a restart, and fx stops when Agetor quits.
  • Harness-specific limits are documented: OpenCode 1.x and 2 cannot share a data directory, OpenCode Ask mode needs version 2, and fx 0.0.14 can reject shell commands on some models.
  • Parallel pipeline steps share one worktree, and the source warns nothing stops two steps from editing the same files.
  • Agents run with your full user privileges; Agetor adds no sandbox beyond what each CLI provides and defaults to hands-off modes.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Agetor This agent 60 · Some gaps — ★ 121 today TypeScript Codex · Claude Code
Agentbox 51 · Major gaps Desktop appFree + model costs ★ 362 today JavaScript Codex · Claude Code
PandaCode 58 · Major gaps — ★ 1.1k today Rust Codex · Claude Code · Claude.ai
Prometeu 57 · Major gaps Desktop appFree + model costs ★ 65 today Rust Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Some gaps
60/ 100 5-point scale 3.0 / 5
Trust 19/29
Reliability 8/14
Adaptability 12/18
Convention 10/18
Effectiveness 7/13
Verifiability 4/8
Why each dimension lost points
Trust19 / 29 · 3.3/5

The security doc shows loopback-only API by default, dual per-launch tokens with constant-time comparison, deny-by-default route policy, a CLI path gate, TCC disclaim for spawned children, no-follow reads, and a generated OpenCode password kept 0600 with redaction — least privilege and sensitive-data handling are strong (2-3 each). Dependency security rests only on README install commands and badges with no lockfile or audit evidence, so 1. External effects (push, open PR, worktree writes) have confirmation flows but are not systematized, 2. Rollback relies indirectly on git worktrees and branches, 2. Source attribution is MIT plus an unverified publisher, 1.

Reliability8 / 14 · 2.9/5

README and security doc agree on tmux vs ACP drivers, restart behavior, and OpenCode 1.x/2 differences, so self-consistency is 2. Dependency availability is asserted via a README table and install hints with no pinned versions or dependency manifest evidence, 1. Failure messages are concrete in docs (403 desktop-only, 501 headless, upgrade hints), 2.

Adaptability12 / 18 · 3.3/5

Audience and scenarios are clear (local multi-agent orchestration on macOS Apple Silicon), 2. Capability boundaries are unusually explicit (experimental harnesses, no restart survival for ACP, Ask is not a sandbox), 3. Trigger precision depends on CLI probing and mode selection, documented but untested here, 2. Environment fit is macOS ARM only; Linux/Windows configured but unbuilt and untested, 1.

Convention10 / 18 · 2.8/5

Information architecture has a README plus a docs/architecture topic index, 2. Install notes are complete (dmg, curl installer with checksum), 2. Naming stability is weak given many experimental harnesses and manual migration numbering, 1. Examples and FAQ exist as per-harness notes, 2. Known limitations are very thorough, 3. License is MIT via badge but the LICENSE body is not in evidence, 2. Versioning/changelog is only a release badge, 1. Maintenance responsibility is unclear with an unverified publisher and no CONTRIBUTING evidence, 1.

Effectiveness7 / 13 · 2.7/5

Output usability shows in structured transcripts, diff review, and PR flow, 2. Marginal value over a single terminal is real for parallel agents, 2. Cost-benefit is constrained by macOS-ARM-only distribution and needing multiple CLI logins and quotas, 1.

Verifiability4 / 8 · 2.5/5

Plan docs carry base SHAs, file line numbers, and measured spike data, so claim traceability is 2. Cross-source corroboration is limited — mostly single-document self-report with no tests or third-party checks, 1. Fact/inference separation is decent, with spike evidence and assumptions labeled, 2.

Risks and how to mitigate them
  • Publisher identity is unverified by the FollowAgents registry; maintenance responsibility and update path are unclear, so verify provenance before adoption.
  • macOS Apple Silicon only; Linux/Windows targets are configured but unbuilt and untested, so cross-platform deployment is not viable.
  • No lockfile or dependency audit evidence; the installer runs via curl | sh, so verify checksums and binary provenance yourself.
  • Ask/Plan modes are consent prompts, not sandboxes; an approved shell command can read local credentials such as the OpenCode password.
  • Several harnesses are marked experimental and may change with upstream CLI versions; no version pinning is shown.
  • The LICENSE body and changelog are not in evidence; treat the release page as the source of version compatibility.
Evidence confidence: Low Reviewed Nov 05, 2026 Reviewed revision b40ec9d5d846
See the full review method →

FAQ

Does it wrap or replace my Claude Code setup?
No. Agetor launches the real binary the way you would, keeping your existing login, skills, MCP servers, slash commands and settings. It installs no hooks, ships no MCP server of its own and does not edit CLAUDE.md; it types keystrokes and reads the structured output the CLI already writes.
What happens to running tasks when I quit the app?
It depends on the harness. Claude Code, Codex, Gemini CLI, Antigravity, GitHub Copilot and OpenCode run inside tmux, so quitting Agetor leaves them running and the next launch reattaches and replays the transcript. fx and Cursor talk Agent Client Protocol as child processes, so a turn in progress cannot be reattached, and fx stops when Agetor quits.
Can I run a second account of the same harness in parallel?
Yes. Add a harness with its own home directory ($HOME, or the CLI's own config-dir variable) in Settings → Harnesses. For GitHub Copilot that means a separate COPILOT_HOME plus one COPILOT_HOME=<path> copilot login; the source notes it is not yet verified whether that login stays separate, and suggests setting COPILOT_GITHUB_TOKEN in the second harness's env instead.
Do I have to keep the desktop app open?
Not strictly, but by default a core only runs while the app is open or a CLI daemon is up for five idle minutes. Turning on Keep Agetor running in the background registers a macOS login item so tasks and pipelines continue with the app closed; it is only available on signed release builds installed in /Applications or ~/Applications.
Does any of my data leave the machine?
The product is local-first: there is no Agetor account, no cloud relay and no telemetry, and the API binds to 127.0.0.1 behind a per-launch token. Agetor's own network calls are limited to GitHub Releases update checks, the git host APIs you configure, and quota lookups against your harness providers — but the agents themselves still talk to their model providers using your existing logins.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents