A2A Task Lifecycle
Every A2A task progresses through a defined set of states. Three active states represent in-progress tasks. Three terminal states are immutable – once reached, the task cannot change state.
3
Active
3
Terminal
Active States
submitted is the initial state of every A2A task immediately after tasks/send is called. The server has received and acknowledged the task but has not yet started processing it. The task is in a queue or pending assignment.
working means the remote agent is actively processing the task. This is the primary in-progress state. Long-running tasks spend most of their lifecycle in working. The client can stream progress updates via SSE while the task is in this state.
input-required means the agent has paused execution because it needs additional information from the calling agent or user. The agent cannot proceed until the caller sends a follow-up message. This enables multi-turn interactions within a single task.
Terminal States
completed is the successful terminal state. The agent finished the task and the result artifacts are available. Once in completed, the task cannot change state. Artifacts (text, files, structured data) are returned in the task object.
failed is the error terminal state. The agent could not complete the task due to an unrecoverable error. The task object includes an error message explaining the failure. Failed tasks cannot be retried on the same task ID.
canceled is the terminal state after a successful tasks/cancel call. The agent stopped execution without completing the task. No partial results are available. Either the client or the server initiated the cancellation.