delegate
Cross-harness model dispatch
6 child runtimes · safe/work isolation
PyPI · delegate-agent-cli 0.11.0 (binary: delegate)
source on GitHubOverview
Hands a bounded task to another coding-agent runtime — Cursor, Codex, Claude Code, Grok, Kimi, and Droid’s BYOK model roster — without memorizing each tool’s flags. Safe mode reviews in an isolated throwaway copy of your working tree; work mode edits for real; call mode is a stateless one-hop model call. It never commits, pushes, merges, or deploys on its own.
one dispatcher, six model families
- codexOpenAI
- cursorCursor
- claudeAnthropic
- grokxAI
- kimiMoonshot
- droidBYOK — Gemini, GLM, DeepSeek…
Each lane runs in its own isolated workspace. Auth belongs to the child CLI — install and log in to whichever ones you want to reach.
three modes, three isolation levels
safe — reviews
Mirrors your uncommitted working tree into an isolated copy. A second model reads and reports — nothing it does can touch the real one.
work — edits
Runs in a throwaway temp copy or a persistent Git worktree. Changes land as a reviewable diff — delegate never commits, pushes, or merges on its own.
call — answers
A stateless one-hop prompt, no repo involved. Built for LLM-as-judge and grading, not for touching a codebase at all.
Install
uv
uv tool install delegate-agent-clipipx
pipx install delegate-agent-clipip — Python 3.11+
pip install delegate-agent-cliConfigure
Nothing to key in — auth belongs to the tools it drives.
- (none of its own)
- auth belongs to each child CLI — install and log in to the runtimes you’ll dispatch to (codex, claude, agent, droid, grok, kimi)
verify your setup
delegate config initHow it works
- Three modes (safe / work / call) crossed with three isolation levels: the real workspace, a throwaway temp copy, or a persistent Git worktree.
- Safe mode mirrors your uncommitted working tree into the isolated copy, so a second model can review local changes without a commit or a pasted diff.
- Tracked runs get numbered aliases (codex-1, cursor-2); delegate wait blocks on background runs and delegate cancel kills them — no hand-rolled polling loops.
- Symlink handling fails closed: anything escaping the tree or pointing at a gitignored secret is replaced with an inert placeholder and reported.
Pairs well with
Known limits
- No spend-cap flag of its own — a real gap relative to its siblings; budget discipline lives in the child runtimes for now.
- Alpha wrapper by design: child CLIs can change their flags underneath it at any time.