Fractal runs autonomous coding-agent loops as a tree. Each node iterates toward a goal in its own git worktree and can spawn child nodes for separable subtasks, so the tree grows to fit the problem instead of following a fixed plan. The root is your current branch, top-level nodes branch from it, and child nodes branch from their parent.
Each loop is bounded by hard caps on iterations, depth, children, total descendants, cost (per run, iteration, and step, in USD), and time, and an operator can steer or stop a node at any point. Agents run in tmux sessions or as detached headless processes, and all state (runs, iterations, steps, costs, and signals) is tracked in a local SQLite database that a terminal dashboard shows live.
Five agent backends are supported per node: Claude Code, Codex, Grok Build, OpenCode, and Oh My Pi, with children inheriting the parent's backend. Claude Code and Codex can route through OpenRouter, while OpenCode and Oh My Pi reach it natively. You drive Fractal through a /fractal skill installed into Claude Code or Codex, which turns a plain-language directive into a node definition and asks you to approve it before launch, or through the fractal CLI directly.
Nodes run their agent without permission prompts by default, since unattended loops cannot stop to ask. The per-node worktree isolates only the branch a node commits to, not the filesystem or network, so the project recommends launching only tasks you would trust to run unsupervised and using a sandboxed or disposable host otherwise.
Features
- Recursive node tree: nodes spawn child nodes for subtasks, each in its own git worktree branched from its parent
- Hard caps: limits on iterations, depth, children, descendants, cost per run, iteration, and step, and run, iteration, and step timeouts
- Operator control: steer or stop any node mid-run
- Multiple agent backends: Claude Code, Codex, Grok Build, OpenCode, and Oh My Pi, selectable per node
- OpenRouter routing: Claude Code and Codex nodes can route model calls through OpenRouter
- Terminal dashboard: a live TUI over the SQLite store of runs, iterations, steps, and costs
- Agent skill: a /fractal skill turns a plain-language directive into a node definition for approval
- Scheduling options: fixed iteration intervals, delays between iterations, and detached per-step sessions
- Scope limits: restrict a node's commits to chosen subdirectories
- Inheritance: child nodes can inherit steps, scripts, skills, and config from their parent


