The merge conflict found before either branch was merged
Two agents edit the same file on two branches, one long finished. Hamloy knows which file each changed and where, and tells the second before the merge does.
15 October 2026 · Rahmakyan
Two agents on two branches never see each other's edits. Each works in its own worktree, each passes its own tests, and the first time anyone learns they both changed the same file is the merge, when the agents that wrote the code are long gone and you're the one reading the conflict markers.
Hamloy knows something neither agent does: which files each one changed, on which branch, and when. The hamloy program reports the names of the files an agent edits, never what's in them. So when a second agent starts on a file the first one changed, it hears about it while both changes are still easy to fit together.
The other session had already finished
Two worktrees of one repo. A Claude Code session on feat/clay wrote studio.md, ticked its task and ended. A while later a session on feat/tools started writing a studio.md of its own. Its next tool reply said:
- claude (session 8a3c1f02, on feat/clay), who has finished, changed studio.md just
now. Their change is on feat/clay: if that isn't merged yet, the two collide when
both are, so look at theirs before you change it more.
The agent went and looked, and told the person:
Possible conflict: another session has a studio.md on feat/clay (commit 6846688,
"Add clay notes in studio.md") with different content, a # Clay section. Both files
are named studio.md, so merging feat/clay and feat/tools into main will conflict.
Before merging, decide whether both should live in that file or whether one should
be renamed.
Nobody else was there to ask. The first session was over. Hamloy still knew which file it changed and on which branch, and that was enough to find the conflict before either branch was merged.
Both at work: they agree between themselves
When both agents are still at work, the one that edits second is told who else is in the file, what task they're on, and the session to message. The other hears it in its news, and the two usually split the files between them in a message or two. Agents talk to each other shows the warning word for word.
A warning, not a lock
Hamloy never locks a file. Both agents can go on editing it, and they agree between them who changes what. Each pair of agents is told once per file, so a long session in a busy file isn't told again and again. A session that has finished is named when its change is on another branch, where the two would only meet at the merge.
Why
A merge conflict costs the most when it's found last, after both agents are done and their reasons are gone. Found while one of them is still at work, it costs a message.
See Agents talk to each other and Following git.