StackMap
Subscribe
Explore / fractal
plasma-ai

fractal

Hierarchical agent loops: nodes iterate toward a goal in their own git worktree and spawn children for subtasks — the tree grows to fit the problem. Hard caps, SQLite run log, live TUI.

614 44 Python Apache-2.0updated today
Curator's take

The self-organizing answer to multi-agent coding: no fixed pipeline — a node that finds a separable subtask spawns a child for it, bounded by hard caps on depth, children, iterations, cost and time, with an operator able to steer or kill any loop from the TUI. The README's warning deserves framing: every seeded config DISABLES the agent's approval gate (bypassPermissions, danger-full-access, --yolo) because unattended loops can't stop to ask — and worktrees isolate the branch, NOT the filesystem or network. Treat that as a hard requirement to run it inside real isolation, not a footnote. NOT for work needing deterministic process: if you want the same stages every run, you want a workflow graph, not a fractal. 614 stars — early.

Mapped by ShipWithAI editors · links verified
README.md

fractal

license build docs lint tests codecov pre-commit

Hierarchical agent loops with recursive self-organization.

In a fractal, autonomous agent loops arrange themselves into a tree: a node iterates toward a goal in its own git worktree and spawns child nodes for separable subtasks, so the tree grows to fit the problem rather than a fixed plan. Hard caps (iterations, depth, children, cost, time) keep each loop bounded, and an operator can steer or stop it at any point. Run metadata (including cost) lands in one local SQLite database, which can be interacted with live in a terminal UI.

fractal TUI dashboard

[!WARNING] Nodes run their agent without permission prompts by default. Unattended loops cannot stop to ask, so every seeded agent config disables the approval gate — Claude bypassPermissions, Codex danger-full-access, Grok --always-approve, opencode --auto, omp --yolo. A node can therefore run any command its agent decides to run, with your credentials and your machine's reach. The per-node git worktree isolates the branch it commits to, not the filesystem, the network, or anything else outside it. Only launch nodes whose task you would trust to run unsupervised, and prefer a sandboxed or otherwise disposable host for anything else.


Source: https://github.com/plasma-ai/fractal

Package: https://pypi.org/project/plasma-fractal/

Documentation: https://docs.plasma.ai/fractal


Installation

Install the fractal package from PyPI:

pip install plasma-fractal

or

pip install fractal

Use pipx install or uv tool install to install the package in an isolated environment. If you use one of these two methods, you must also install plasma-wiki (a plain pip install pulls plasma-wiki and puts wiki on your PATH, but this is not the case when using pipx install or uv tool install).

uv tool install plasma-fractal --with-executables-from plasma-wiki does the same in one command.

Open the dashboard from your project root with fractal open (requires an initialized fractal). Pass --light if your terminal uses a light color scheme.

Skill

Install the skill for your agent via the plugin marketplace (Claude Code and Codex):

# Claude Code
/plugin marketplace add plasma-ai/plugins
/plugin install fractal@plasma

# Codex
codex plugin marketplace add plasma-ai/plugins
codex plugin add fractal@plasma

Another install route is from the CLI, which copies (or symlinks) the fractal and wiki skills into ~/.claude/skills and ~/.agents/skills (add --project for the current project only):

fractal install [

Continue your stack

What teams reach for next — and why each earns a place beside fractal. Ranked by curator confidence.