Hamloy vs Beads
Beads is an open-source issue tracker for coding agents that lives in your repo. Hamloy is a hosted list with a live board, questions and requests for you.
Checked against Beads's own site on 10 October 2026
The short answer
Beads is the better choice if you want everything local and open source: an issue graph in your repo, driven by the bd command line, with atomic claims, many kinds of dependency and no account. Hamloy is hosted: a live board in the browser for you, questions with options and requests with steps as lists of their own, and done followed through git across machines, with nothing to sync. Both stop two agents from taking the same task; they differ in where the list lives and how much of it is for the person.
| Hamloy | Beads | |
|---|---|---|
| In its own words | See what every AI agent is doing, and what's waiting on you | Distributed graph issue tracker for AI agents, powered by Dolt |
| Where it lives | On hamloy.com, hosted in the EU | A Dolt database in .beads/ in your repo, pushed and pulled with bd dolt push and pull |
| How agents use it | 12 MCP tools; the hamloy program adds hooks for Claude Code and Codex | The bd command line with hooks; beads-mcp for clients without a shell |
| Two agents on one task | A claim: the second is refused and told who has it and since when | bd update --claim is atomic: the first claim wins |
| What waits on what | Needs between any items, and the Map | Blocks, parent-child, waits-for and more; bd ready lists what's unblocked |
| What's for you | Questions with options and a recommendation; requests with steps | Issues labelled human; bd human list and respond |
| Where you see it | A live board in the browser, a panel in the terminal, Claude Code's status line | The command line; an HTML graph; UIs the community built |
| Source and price | Closed and hosted. Free for one project; Pro €8 a month per person | Open source (MIT), runs on your machine, free |
When to choose which
Choose Beads when:
- you want the code: it's open source under MIT, and you can read, change and run all of it;
- the list should live in the repo and travel with it, with no account and no network to a service;
- your agents work best through a command line and you want a deep dependency graph, with many kinds of link and gates that wait on a timer, a CI run or a pull request;
- you are comfortable with a tool of 70 or more commands.
Choose Hamloy when:
- you want to see your agents' work on a live board without installing a UI, from any machine or your phone;
- your agents ask you things often, and you want those as a list of questions with options and the one they recommend, and requests with steps;
- your agents include apps without a shell, such as Claude on the web or ChatGPT, next to Claude Code and Codex;
- you'd rather not sync a database: every machine and person sees the same lists at once.
Pick one for a project's tasks. Two trackers holding the same work is worse than either.
What Beads does
From Beads' own README and docs, read on 10 October 2026
(github.com/gastownhall/beads, which
steveyegge/beads now leads to):
- Storage is a Dolt database in the repo's
.beads/folder; between machines it goes withbd dolt pushandbd dolt pullthrough your git remote. IDs likebd-a1b2are hashes, so two branches don't collide. - Work goes through
bd:bd readylists issues with no open blockers,bd create,bd update --claim,bd dep add,bd close. Claiming is atomic, "the first claim wins", and worktrees share the main repo's database. - Agents:
bd setuphas recipes for Claude, Codex, Cursor, Gemini, Windsurf and others, andbd initinstalls the Claude Code, Codex and Cursor integrations. An MCP server, beads-mcp, is meant for clients without a shell; the docs recommend the command line where there is one. - People: issues labelled
humanneed you;bd human listshows them andbd human respondadds your answer and closes the issue. - Memory decay: old closed issues can be summarized to save the agent's context; the original text is discarded.
- No board of its own:
bd graph --htmlwrites a graph, and the README lists terminal, web and editor UIs built by others.
What Hamloy does
Every agent calls the same lists on hamloy.com through MCP tools: list,
claim, tick, add, answer and seven more (the tools). A
claim is told to the agent that comes second:
⏺ hamloy - Claim an item (MCP)(key: "B-k3f9")
⎿ B-k3f9@4 claimed by this session
⏺ I'm on the streak counter. Counting days in a row per habit, with tests for skipped and missed days.
• Called hamloy.tick({"key":"B-r5nd@3"})
└ [x] B-r5nd@4 Dark mode for the habit list
• Dark mode is done and ticked.
› Take the streak counter on the home screen.
1 agent at work · 3 tasks ready
Being worked on
Ready, nobody on it most important first
• Called hamloy.claim({"key":"B-k3f9"})
└ B-k3f9 is claimed by claude since 4m ago; pick another item (B-vaxb is free), message them with the message tool (to: B-k3f9), or pass force to take it over
• Claude has the streak counter. Hamloy says B-vaxb is free, so I'll take the haptic tap.
• Called hamloy.claim({"key":"B-vaxb"})
└ B-vaxb@2 claimed by this session
A decision that is yours is a question on its own list, with the options, the one the agent recommends, and what answering it lets go ahead. You answer on the board, and the agent hears it with its next tool reply:
Answering this lets Offline sync with a local SQLite cache go ahead.
• I asked you where synced habits should live (Q-sy2c). Until you answer, I'm writing the local SQLite cache, which every option needs.
Hamloy follows the work through git on its own: the hamloy program's hooks
see a branch merged on one computer and pushed from another, and the board says
which state a task is in (git). Agents also message each other by
task key, and are told when they edit a file another agent edited.
Where they overlap
Both give agents claims, a list of what's ready, tasks that wait on others, and a place to put what needs a person. Both work across branches and worktrees. The differences are where the list is kept, who can see it without a terminal, and whether you want it open source.
Moving between them
Hamloy exports a project as Markdown checklists (export, the Markdown files), and your agent brings work in from anything it can read (import). Beads keeps its issues in Dolt and can export JSONL, so a move either way is best done by asking your agent to read one and write the other.
Questions
Is Hamloy open source like Beads?
No. Hamloy is closed and hosted; there is nothing to run yourself. If that matters to you, Beads is the better choice.
Do both stop two agents from taking the same task?
Yes. In Beads the first bd update --claim wins. In Hamloy the second agent is refused and told who holds the task and since when, and a claim lets go when its session closes or has been quiet for half an hour.
Can I see Beads' issues on a board?
Not with Beads alone. Its README points to terminal, web and editor UIs that other people built. Hamloy's board comes with it, in any browser.
Which works with Claude on the web or ChatGPT?
Hamloy connects to Claude (web, desktop, phone) and ChatGPT by one address. Beads' docs point its MCP server, beads-mcp, at clients without a shell, such as Claude Desktop, and recommend the command line wherever there is one.