How parallel AI agents should talk to each other (and the bug that proved it) A developer building parallel coding agents found that relaying messages between sessions via copy-paste loses provenance and resembles prompt injection, so they replaced it with references to committed artifacts. They then discovered a bug in their inbox tool where a regex matched the word 'done' in boilerplate text, hiding open messages, highlighting the need for negative-control tests on real inputs. If you run more than one coding agent at a time, you hit a problem nobody has a settled answer for: how do two agent sessions message each other? Not the model talking to a tool — two independent sessions, running in parallel, that need to hand off a decision or a result. The obvious channel is a human relaying copy-paste. I spent a day watching that fail in two specific ways, then replaced it, then found a bug in the replacement that is the best argument for the whole approach. Here's the pattern and the evidence. It fails for two reasons that have nothing to do with typos. 1. It loses provenance. When a message arrives as pasted text, the receiver cannot prove who wrote it. That matters more than it sounds. Two messages reached a session this way in one day: one asserted a state that had never happened "you enabled X" — to a session that had done no such thing , and one reported CI green on a commit that was already two commits stale . Both were caught. They were caught only because the receiver independently checked — the message itself carried zero evidence. 2. It looks exactly like a prompt injection. "Read this and do it" is the shape of an attack. A well-behaved agent should be suspicious of instructions with no verifiable origin — which means the safe agent and the useful relay are in direct conflict. The fix is to stop sending content and start sending a reference to a committed artifact : Read