Extensions

Extensions let teams add domain-specific capabilities without forking the A2A core model.

What extensions are for

  • Data-only metadata enrichment
  • Profile constraints on message shape or workflow
  • Additional RPC methods (extended skills)
  • Extra task-state semantics for specialized domains

Guardrails

To keep interoperability intact, extensions should not:

  • mutate core schema contracts,
  • redefine core enums,
  • bypass core authentication and authorization controls.

Use metadata and explicit extension schemas instead.

Declaration and activation

  • Agents declare supported extensions in AgentCard capabilities.
  • Clients request activation per call, usually via A2A-Extensions.
  • Agents echo activated extension URIs in the response context.

Example request header:

A2A-Extensions: https://example.com/ext/konami-code/v1

Required extensions

If an extension is marked required: true, client requests must comply with that extension’s contract, or the server should reject the request.

Implementation advice

  • Put version in extension URI.
  • Use a new URI for breaking changes.
  • Publish extension specs at stable URLs.
  • Validate extension payloads as strictly as core protocol data.

Related references