Near-free parallelism for your agents.

AgentFS gives you near-free parallelism. Spin up as many workspaces as you have agents — each is a full, warm, isolated copy of the project in well under a second, nothing is cloned or copied — and land the results one at a time with every write attributed and no merge surprises. The directory is still just a directory: same path, git works, caches warm.

7.9s
to a new workspace
mount < 1 s; the rest is copy-on-write cloning 128 GB of warm build caches — ≈ 0 bytes on disk
0.47s
first cargo build --release in a fresh fork
the same build is ~8 min from a cold clone
N ≈ 1
isolated, attributed
each fork's caches are its own clone; N parallel agents cost roughly what one does

Measured 2026-08-16 on the Wigwam repo itself (2,857 tracked files, btrfs).

What a parallel attempt costs

everything elseAgentFS
Createclone / git worktree add / copy the tree — seconds to minutes, disk × Nafs new <task>: store-backed mount, sub-second, no bytes copied
Warm-upcold target/, node_modules/, .venv per copy — first build costs minutes × Nbuild caches are copy-on-write clones of a warm seed; first build is incremental
Agent statenew path ⇒ Claude Code memory and sessions keyed on cwd are blankforks inherit the parent's memory — an agent starts warm
Isolationshared dir ⇒ agents trample; containers ⇒ copy the world, no historyeach workspace is its own overlay; shared workspaces still attribute per writer
Mergegit merge / manual diff — nobody knows which attempt wrote whatafs land; a bounced land is a structured refusal → replay (auto when disjoint) → reconcile in a merge workspace, never a silent merge
Auditarchaeology — git blame after the fact, if it was ever committedevery write attributed at write time: afs ops, afs blame
Undo / exitdelete the clone and hopeafs rm (history stays); an adopted repo restores byte-for-byte

Your repo is still just a directory

Adopt = rename your directory aside and overlay the store on it — nothing copied. Unmount = write the tree back, rename it home. There is no third bucket a file can fall into. Click any part to learn more.

Is my repo safe?

Does git still work?

Yes, natively. Inside the mount .git is a gitfile pointing at your real git directory — the mechanism git itself uses for worktrees. status, commit, pull, rebase, hooks: unchanged, and never routed through FUSE.

Can I undo it?

afs unmount restores the plain directory: the store's tracked files are written back over the origin and it is renamed to the original path — byte-for-byte what you would have had, plus your edits. Nothing is ever deleted; afs rm on an adopted repo only deregisters it.

What is not captured?

Whatever git ignores. .env, secrets, local settings, build output live in the origin and are served straight through: present in the tree, never captured, never replicated, never leave the machine. Same tracked/ignored line you already know from git.

How parallel agents work

  1. afs new <task> — one workspace per independent task. It mounts in under a second with warm caches and the parent's agent memory.
  2. The agent works in it like any directory: reads, edits, builds and tests through the workspace entrance (afs run <task> -- cargo test). Every write is captured and attributed as it happens.
  3. afs stage -m "…" checkpoints the result as an immutable snapshot and prints its id. Workers stop there.
  4. You land snapshots onto the branch one at a time: afs land. Head moved? afs replay rebases and lands automatically when the paths are disjoint. Overlap? afs reconcile prepares a merge workspace you build, test, and land. Nothing merges silently.

Two histories, one tree

Git keeps commits; the store keeps attributed snapshots. They describe the same tree and each does its job: git for what you publish, AgentFS for who wrote what, when, and which parallel attempt it came from. afs push fast-forwards the repo to the branch head and commits with git; afs pull lands the repo's own captured edits. Neither replaces the other, and neither is a copy.

Platforms

PlatformTierStatus
Linuxmounted (FUSE) — live capture, adopt in place, forksavailable
macOSmounted (macFUSE) — same designavailable
macOS without macFUSE · Windowsplain adopt in place — ordinary files, checkpoint with afs stage, same land / replay / reconcileavailable
Windows mounted (WinFsp)mounted tierplanned

Compared with

Git worktrees are cheap to create but cold: every one rebuilds from scratch, changes the path your tools key on, and knows nothing about who wrote what. Sandboxes, containers, cloud dev boxes copy the world per attempt — no local warmth, no history, and merging is your problem. A shared directory is free and has no isolation and no attribution: agents trample each other. AgentFS is the only one where N parallel agents cost roughly what one does.

AgentFS ships with Wigwam; the relay replicates workspaces between your machines.

Get Started