Skip to content

Compare

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 with bd dolt push and bd dolt pull through your git remote. IDs like bd-a1b2 are hashes, so two branches don't collide.
  • Work goes through bd: bd ready lists 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 setup has recipes for Claude, Codex, Cursor, Gemini, Windsurf and others, and bd init installs 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 human need you; bd human list shows them and bd human respond adds 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 --html writes 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:

S claude · streaks · ~/pebble

⏺ 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.

C codex · ~/pebble-2

• 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.

Right now

1 agent at work · 3 tasks ready

Being worked on

Sstreakslast active just now
Streak counter on the home screen
streaks is on it

Ready, nobody on it most important first

Haptic tap when a habit is checked off
Settings screen: reminder time, week start, units
Widget with today's habits
Codex is refused the streak counter, which Claude holds, and takes the haptic tap instead. Claude Code or Codex, the claim holds.

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:

Where should synced habits live?
Ccodex 3d ago
Supabase: Postgres with auth and row-level security built in recommended
Our own Postgres on Fly.io
iCloud only, no server
Or answer in your own words Why (optional) Answer

Answering this lets Offline sync with a local SQLite cache go ahead.

C codex · ~/pebble · feat/offline

• 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.