Markdown to-do lists were never meant to survive a 40-step agent session, yet that is what most coding agents lean on. Beads bets the missing piece for long-horizon agent work isn't a smarter model but a real issue tracker the agent can query — one that knows what's blocked, surfaces what's ready next, and persists across sessions and branches.
What Sets It Apart
- A graph, not a flat list. Issues carry typed dependency links (
relates_to,duplicates,supersedes), so an agent can ask "what's ready to work on?" instead of re-reading a markdown file every turn. - Dolt as the store. Tasks live in a version-controlled SQL database with cell-level merge, so two agents on two branches can edit the same tracker and reconcile cleanly — the failure mode that breaks shared markdown checklists.
- Content-hash IDs (
bd-a1b2). IDs derive from content rather than a counter, so parallel agents never collide on issue numbers. - Memory decay built in. Compaction summarizes stale issues so the context window goes to what still matters, not to closed tickets.
Who It's For
Great fit if you drive Claude Code, Copilot CLI, or a custom agent through multi-day work and keep losing the thread between runs — Beads gives the agent durable, queryable state, and runs with zero git required (point BEADS_DIR at a folder and go). Look elsewhere for a single short session or a solo human checklist: a graph database plus a Dolt dependency is real overhead that a plain list avoids. It's also young and Go-based, so expect a moving CLI surface and rough edges.