Help us improve
Share bugs, ideas, or general feedback.
From a2a-multi-agent
Implements A2A error handling: JSON-RPC errors, A2A-specific codes, task failures, retries, and graceful degradation. For building robust A2A agents.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin a2a-multi-agentHow this skill is triggered — by the user, by Claude, or both
Slash command
/a2a-multi-agent:a2a-error-handlingThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Fetch live docs**:
Implements A2A JSON-RPC 2.0 transport layer: request/response formats, method routing, batch requests, HTTP details. For custom A2A transport handling or protocol debugging.
Implement a JSON-RPC 2.0 A2A server with task lifecycle management, SSE streaming, and push notifications for multi-agent workflows.
Agent-to-Agent (A2A) executor implementation patterns for task handling, execution management, and agent coordination. Use when building A2A executors, implementing task handlers, creating agent execution flows, or when user mentions A2A protocol, task execution, agent executors, task handlers, or agent coordination.
Share bugs, ideas, or general feedback.
Fetch live docs:
https://a2a-protocol.org/latest/specification/ for the error handling sectionsite:github.com a2aproject A2A error codes for error code definitionssite:github.com a2aproject a2a-samples error for error handling examplesA2A has three categories of errors:
failed)All errors follow the JSON-RPC 2.0 error response format:
{
"jsonrpc": "2.0",
"id": "request-id",
"error": {
"code": -32600,
"message": "Invalid Request",
"data": { "details": "..." }
}
}
| Code | Name | Meaning |
|---|---|---|
-32700 | Parse error | Invalid JSON |
-32600 | Invalid request | Not a valid JSON-RPC request |
-32601 | Method not found | Method doesn't exist or isn't supported |
-32602 | Invalid params | Method parameters are invalid |
-32603 | Internal error | Server internal error |
| Code | Name | Meaning |
|---|---|---|
-32001 | TaskNotFoundError | The referenced taskId doesn't exist |
-32002 | TaskNotCancelableError | Task is in a state that can't be canceled (terminal state) |
-32003 | PushNotificationNotSupportedError | Agent doesn't support push notifications |
-32004 | UnsupportedOperationError | The requested operation is not supported |
-32005 | ContentTypeNotSupportedError | Client's accepted output modes don't match agent's capabilities |
-32006 | InvalidAgentResponseError | The agent returned an invalid or malformed response |
-32007 | ExtendedAgentCardNotConfiguredError | Extended Agent Card is not configured |
-32008 | ExtensionSupportRequiredError | A required extension is not supported |
-32009 | VersionNotSupportedError | The requested protocol version is not supported |
Important distinction:
failed state — the request was valid but the task's processing failedExample: If a client sends message/send with invalid JSON → -32700 (protocol error). If a client sends a valid message but the agent's LLM call fails → task state becomes failed with an error message.
The server should:
-32600/-32700 for malformed requests-32601 for unsupported methods-32602 for invalid params-32001 for unknown task IDs-32003/-32005 for unsupported features-32007 if extended Agent Card is not configured-32603 for unexpected server errorsfailed for task-level processing errorsThe client should:
error field vs result field-32603 (internal error) may be retryable-32601 (method not found) won't succeed on retryfailed and read the error message| Error Code | Retryable? | Strategy |
|---|---|---|
-32700 | No | Fix the request |
-32600 | No | Fix the request |
-32601 | No | Method not available on this agent |
-32602 | No | Fix the parameters |
-32603 | Yes | Exponential backoff, max 3 retries |
-32001 | No | Task doesn't exist |
-32002 | No | Task can't be canceled |
-32005 | No | Content type mismatch |
-32007 | No | Extended Agent Card not configured |
data field in JSON-RPC errors for additional debugging contextfailed with a descriptive message when processing failsFetch the specification for the complete list of error codes, their semantics, and any error handling requirements before implementing.