Python orchestrator for AI coding agents in sandboxed git worktrees.
Eden creates a fresh git worktree on a new branch, runs a coding agent (Claude Code, Codex, opencode, pi, or any line-streaming CLI) inside a sandbox (Docker, Podman, isolated, Daytona, or Vercel), captures its output, and commits the changes back. You get a branch with one clean commit per iteration, ready to review or merge.
flowchart LR
Repo[(Host repo)] --> WT[Fresh worktree<br/>on new branch]
WT --> SB[Sandbox<br/>docker • podman • isolated<br/>daytona • vercel • no_sandbox]
SB --> Agent[Coding agent<br/>claude_code • codex<br/>opencode • pi • cli_agent]
Agent -->|stdout stream| Loop{iteration loop}
Loop -->|commit per iteration| Branch[Eden branch]
Loop -->|next iteration| Agent
Branch --> Repo
pip install eden-agentRequires Python 3.11+.
The simulated_agent runs without any external CLI installed. Run this from inside a git repository:
from pathlib import Path
from eden import run, simulated_agent
from eden.sandboxes.no_sandbox import provider as no_sandbox
result = run(
cwd=Path.cwd(),
sandbox=no_sandbox(),
agent=simulated_agent(
output="hello from the simulated agent\n<promise>COMPLETE</promise>\n",
),
prompt="ignored by the simulated agent",
max_iterations=1,
)
print(f"branch: {result.branch}")
print(f"iterations: {len(result.iterations)}")For a real agent, scaffold a project:
eden init --sandbox docker --agent claude-code --yes
cp .eden/.env.example .env # then fill in API keys
docker build -t eden:$(basename $(pwd)) -f .eden/Dockerfile .
python .eden/main.pyFull documentation lives in docs/:
- What is Eden? — positioning and feature matrix
- Quick start — five-minute tour
- Tutorial: build your first agent loop — 10-minute walkthrough that ends with a real agent fixing a real bug
- Python API reference — every name importable from
eden - How it works — branch strategies, sandbox lifecycle, iteration loop
- Sandbox providers — six provider catalog
- Agents — six agent factories