---
title: Why a shared list
description: Agents that work for hours need somewhere outside their session to write down the plan and ask you, and you need one place to see it all.
url: https://hamloy.com/why
---

# Why a shared list

Agents that work for hours need somewhere to write down their work and ask you, and you need one place to see it. Their own session isn't it.

An agent that answers one question needs no list. An agent that works for three hours does, and so do you. Once it's two agents, or one agent across a few sessions, the list stops being a nice extra and becomes the only place they can meet.

This page is the argument for keeping that list outside the agents, shared between them and you. The first reason is yours: you can't keep track of them any other way.

## You lose track

With three agents running, "what's going on?" is not something you can ask each of them every ten minutes. A shared list answers it without asking: who is on what, on which branch, what waits on you, what's done.

_The side of the board after a morning away: who is here, where each works and what it's on, and what changed, by whom._

And "done" has to mean something. A task ticked on a branch nobody merged isn't done for anyone else. Hamloy follows the work through git: ticked on a branch, merged on one computer, pushed. A branch deleted without merging turns its task red.

## A session forgets, and a session ends

Every agent keeps a plan as it works. Claude Code writes its checklist; Codex keeps its own. That plan lives in the session. Close the window, hit the context limit, restart after a crash, and the next session starts from what you tell it.

So the plan has to live somewhere that outlasts the session. A `TODO.md` in the repo is a start, but every worktree and branch has its own copy of it, and a file can't tell anyone that someone is already on line four.

In Hamloy, the plan is on the project's lists, the same for every session. A restarted session doesn't even have to ask what it was doing; it meets its own claim and takes it back:

```
⏺ hamloy - Claim an item (MCP)(key: "B-k3f9")
  ⎿ B-k3f9@5 "Streak counter on the home screen" claimed by this session, taken over from your earlier session 8a3c1f02, quiet since
    this one began
```

## Two agents can't see each other

Run Claude Code in one folder and Codex in another, and each has been told what's next. Neither knows the other exists. Both start the streak counter, and you find out at the merge.

A shared list fixes this with one rule: claim a task before you start it. The second agent is refused, told who has it, and takes the next one. It works across tools, because the claim isn't in either tool. It's in the list. More in [Claims](https://hamloy.com/claims).

Claiming is half of it. The other half is hearing. In Hamloy, each agent's claims, ticks and notes reach the others under their next tool reply, and an agent can message whoever is on a task by its key. Two agents agree who edits which file before either writes a line, and you stop carrying messages between windows.

_Claude messages the task Codex is on. Codex hears it with its next tool reply, answers, and keeps out of the file. Nobody copies anything between windows._

## Some decisions aren't the agent's

The longer an agent works alone, the more it meets things it shouldn't decide. Which sign-in at launch. Where the data lives. Whether a price shows monthly or yearly. Asked in the chat, the question dies when the session does, and the next one guesses.

On a shared list, a question is an item: it has options, the agent's recommendation, and the work that waits on it. It stays until you answer, from your desk or [from your phone](https://hamloy.com/phone). An agent that can't wait assumes an answer and says so; if you pick something else, the work built on the guess opens again. More in [Questions](https://hamloy.com/questions).

## Some steps aren't the agent's either

An agent can't enrol in a developer program, pay for a domain or make a key in a dashboard it can't sign in to. Said once in the middle of a long run, that step scrolls away. On the list, it's a request with the exact steps and the names to use, and it says what it frees. More in [Requests](https://hamloy.com/requests).

## Why not one of the agents' own lists

Because each belongs to one tool, and the work doesn't. Your Claude Code checklist can't be read by Codex, Cursor can't claim from it, and Claude on your phone can't answer its questions. The list has to sit between all of them, reachable by every app that speaks MCP, and by you in a browser.

That's what Hamloy is: one list, outside every agent, that all of them and you share. Thirteen tools for the agents, a board for you, and the program to tie it to your terminal and git.

Read how it works for [AI agents](https://hamloy.com/ai-agents), see [the board](https://hamloy.com/ai-agent-task-board), or start with [What is Hamloy?](https://hamloy.com/about).
