When does handing work from one agent to another lose the original request?
Casey Holt
October 7, 2026
The original request is lost when the second agent does not receive your sentence. It receives a summary, a rewritten task, or the latest tool result, and that becomes the job. The loss happens at the handoff, not halfway through the second agent’s work. By the time the file agent is editing, “the staging link is wrong” has already become “update the fallback URL,” and the second agent is doing that competently. Your words survive only if they are copied through unchanged, and if the second agent is built to stop when they are missing.
A handoff is not a conversation. It is a new prompt. Whatever you do not put in that prompt is gone, even if the first agent remembers it.
The sentence that never arrived
I asked for one thing: the staging link is wrong, find out whether the deploy env or the frontend fallback is what users hit, and do not change code until you know which. A reader agent opened the status of the last deploy and wrote a note. The note said the frontend still contained a hardcoded host and recommended changing it. The coordinator handed the file agent that note and not my sentence. The file agent changed the host. The env var was the thing users hit. The fallback was a dead string. The edit was a clean diff against a task I did not write.
Nothing in the file agent’s log showed my hedge. “Do not change code until you know” was not in its prompt. It could not have obeyed it. I had obeyed it in my head and assumed the handoff carried the head. The handoff carried the first agent’s conclusion, which is the opposite of a constraint. Conclusions feel like progress. They are how the request gets replaced by a plan.
I reran with my sentence pasted above the note, and with an instruction that the note was untrusted. The file agent stopped and asked which host the deploy had actually rendered. That stop was available the first time. The handoff had thrown it away.

The three replacements
A summary replaces the request when the first agent is asked to “brief” the next one. Briefs drop hedges, name a single cause, and sound more confident than the page was. The second agent treats the brief as the user. I do not allow briefs. I allow attachments under the original sentence, labeled as tool output, not as instructions.
A rewrite replaces it when the coordinator turns your verbs into the specialist’s verbs. “Check the link” becomes “edit the file that contains the host.” The specialist is now able to succeed. Success is the loss. If the specialist cannot act on your exact words, the handoff should fail, not get translated until it can.
A tool result replaces it when the second prompt is only the last page, the last diff, or the last error. Models continue from the nearest artifact. The error becomes the task: make the error go away. Making the error go away can mean deleting the test. Your request was to find out why staging is wrong. Those are different jobs, and the second one is easier, so it wins when it is the only paragraph in the prompt.
Window cuts and the word continue
Even a careful copy dies if the second agent’s context is filled with the page and your sentence is the first line that gets truncated. I have seen a long accessibility snapshot push the user message out of the window the tool runtime actually sent. The agent then answered the snapshot. Put the original sentence last, after the attachment, not first. First is what falls off. Last is what the model treats as the task, which is what you want only if the last text is still yours.
“Continue” is a replacement that looks like a handoff courtesy. The first agent says it is handing off. The second agent sees continue, plus the first agent’s last paragraph. Continue means proceed with that paragraph. It does not mean proceed with the user. I ban continue as a handoff payload. The payload is the original sentence, then the artifact, then nothing that says keep going.
A shared transcript feels safer and is not, if the second agent is only shown the tail. Products describe this as the same conversation. The model call is still a slice. I log the exact messages in the second call. If my sentence is not in that list, the handoff already lost, and I do not grade the diff.

What the second agent should do when the sentence is missing
Stop. Not infer. A file agent that receives only “update the fallback URL” should refuse unless the user sentence is present and mentions that file or asks for a code change. This will annoy you on the days you wanted the translation. The annoyance is the request still existing. I would rather re-send my sentence than accept a diff that cannot be traced to it.
The first agent should not be the one that decides the second agent’s prompt. It can write a note to a file. A person, or a dumb copier that prepends the stored user sentence, builds the next prompt. If the first agent writes the next prompt, it will write a prompt it can imagine succeeding. That is the summary. Take prompt-writing away from it.
Two agents in one “team” chat do not get an exemption. The team view is for you. Each model call still needs the sentence. I have watched a team thread where agent B replied “done” to agent A’s plan, and my message was twenty lines up, never copied. The UI showed a collaboration. The second call showed a plan. Collaboration without the sentence is the loss with extra speakers.
A handoff I trust
I store the user sentence at the start of the run and I do not let any agent edit that field. When work moves, the next prompt is that field, then a fenced block of tool output, then a line that says the fenced block is evidence, not a new task. The next agent must quote a phrase from the field in its first tool call or refuse. If it quotes the summary instead, I throw the run out. Quoting is a cheap test that the sentence was in view.
I do not hand off in order to hide length. If the page is long, trim the page, not the request. People do the opposite because the page feels like the work and the request feels like preamble. The preamble is the job. The page is a claim.
Handoffs for their own sake are how this bug gets a schedule. If one agent can finish without a second prompt, do not introduce a second prompt. Every boundary is a place your sentence can be replaced by someone else’s confidence. Use the boundary when the tools must be split, such as a reader that must not mail. Then pay the cost of copying your sentence across. Do not pay it with a brief.
Partial loss is still loss
Sometimes the sentence arrives and a clause does not. “Find out whether the env or the fallback is what users hit, and do not change code yet” becomes “find out whether the env or the fallback is what users hit.” The second agent investigates by editing, because the prohibition was the part a summarizer called tone. I treat a dropped “do not” as a failed handoff. The test is a string compare against the stored sentence, not a vibe that the topic survived. Topic survival is how you get a relevant wrong diff. If the compare fails, the second agent does not start. I resend the full sentence. I do not ask the first agent to “include the constraints this time.” It already decided they were tone.
Names and numbers drop the same way. A recipient, a slug, a date that was a possibility rather than a promise. The second agent fills a plausible one from the tool output. Plausible is not yours. If the original named a slug, the handoff has to contain that slug as you typed it. I would rather the second agent say the slug was not in its prompt than watch it choose the newest file. Newest is a guess the summary made easy.
The moment to look
Look at the second prompt, not at the second agent’s manners. If your sentence is there, intact, you have not lost it yet. If a summary, a rewrite, a bare tool result, or the word continue is there instead, the original request is already gone, and a correct-looking diff will be about the replacement. Paste your sentence back in, or stop the run. Do not argue with the agent that never saw you. A polite result about the wrong sentence is the handoff failing in its most expensive form, because you will almost merge it.