Skip to main content
Failed requests return a JSON-RPC 2.0 error object:
  • code: an integer identifying the kind of error
  • message: a short human-readable description
  • data (optional): additional information whose shape depends on the code

Error Codes

Receivers MUST treat an unrecognized code as a generic failure. Implementation-specific errors SHOULD use codes outside -32768 to -32000, which is reserved for JSON-RPC and ACP.

Common Cases

Unknown Methods

A receiver that does not implement a method, or receives a capability-gated method it did not advertise, MUST respond with -32601.

Invalid Parameters

Malformed parameters and unsupported values get -32602. For example, an invalid session/list cursor, or an unknown configId or value in session/set_config_option.

Unknown Sessions

If a session-scoped request names a session that does not exist or is not active on the connection, the Agent MUST respond with -32002 and set data.sessionId to the requested ID. A session is active once it is created or resumed on the connection, until it is closed. This applies to session/prompt, session/set_config_option and session/close, and to session/resume of a session that does not exist or was deleted. Deleting a session that does not exist still succeeds; see Deleting Sessions.

Requests Before Initialization

Agents MUST reject any request other than initialize that arrives before initialization completes with -32600.