One brain.
Every agent.
Claude Code, Codex, OpenCode and Grok can share a rules file — but not what they learn. Every decision, every session, stops at the tool it happened in. Loom makes it one brain: imported, shared, and handed to whoever works next.
$ npm i -g @loompad/cliNode 22+ · macOS, Linux, Windows · no account, no keys
The same brain, on every screen.
Desktop, terminal and command line are paired clients of one local daemon — which is why the window and the terminal below are showing the identical five memories. The pad puts the same thing on your desk.

The workspace: thread, board, source control — and the memory the project has learned, each unit tagged with what it is and where it came from.
Keep agents moving from your phone.
Pair the Android app over your tailnet and watch live agent status, read per-prompt diffs, talk to a run by voice, and keep terminal work moving while you’re away from the desk.

Every agent. One shared memory.
Switch between Claude Code, Codex, OpenCode, Grok and Cursor in one place — and the context follows. No re-explaining, no lost decisions.

Switch tools, re-explain everything.
Claude Code’s memory can’t be read by OpenCode. Antigravity has no idea what you decided an hour ago. Every agent keeps its brain in its own files, so every handoff starts from zero.
One shared brain.
Loom imports each agent’s native memory into one append-only log, merges it with your decisions, and projects the whole thing into whoever picks up next — in their own format, namespaced so it never clobbers your config.
Routes run the chain.
One command runs plan → execute → review across different agents, the brain flowing hop to hop. Or let an LLM pick each next agent with loom route auto.
The baton
Exactly one agent holds the write lock and may edit the tree. Passing it carries the context — interrupt-safe, memory projected, briefing armed. Not isolation. Continuation.
Local-first, yours
One npm i -g, no account, no keys, MIT. The daemon runs on your machine and reaches your phone over your own tailnet. It runs headless on a server too.
Your whole loop, woven.
Six things the daemon does so your agents behave like one. Scroll through it.
- Import
- Baton
- Route
- Search
- Notify
- Project
Pull every agent's memory in.
CLAUDE.md, AGENTS.md, .antigravity — Loom reads each ADE's native memory into one store, merged with your decisions.
~/acme ▸ loom import ✓ CLAUDE.md 1 file ✓ AGENTS.md 1 file ✓ .antigravity/ 3 files merged → .loom/brain
Every one verified. Limits included.
Each adapter is tested against a real version, and where an agent can’t do something, it says so. A green checkmark you can’t trust is worth nothing.
Editors remember you. Loom remembers your agents.
Loom isn’t another editor. It’s the thin layer betweenyour agents — the memory and continuity they don’t share on their own.
One daemon. Four ways in.
Not four products — four paired clients of the same local daemon. Start a run at your desk, check it from your phone, land it with a dial.
CLI & TUI
A full-screen terminal UI, or one-shot commands. The whole daemon from your keyboard.
Desktop
A native window around the same daemon. Deliberately not an IDE — no editor, no embedded browser.
Phone
Android, paired by QR over your tailnet. Voice in, per-prompt diffs, push when a turn lands.
The Pad
A 3D-printed desk controller: one key per agent, a dial for effort, hold-to-talk. Firmware in progress.
