Official A2A (Agent2Agent) CLI with SuperQode and SuperOptiX

The Agent2Agent (A2A) protocol is how one system discovers an agent it has never met and hands it work. Discovery is an Agent Card. Operations go to the interface that card advertises. Until recently, talking to a remote A2A agent from a shell meant custom scripts or a product-specific client, which is exactly the kind of glue code that rots between releases.

The A2A Project has now shipped the official CLI: a2aproject/a2a-cli, binary a2a, currently v0.2.0. It is a standardized client for card discovery, message send, and task management, with protocol-native JSON output for scripts, transport negotiation read straight from the card, and a surface that coding agents can drive from a bundled skill descriptor. Protocol background lives at a2a-protocol.org and the protocol specification is under the latest SPEC, while the CLI carries its own normative behaviour spec in the repo at specification/SPEC.md, covering command taxonomy, output contracts and exit codes.

Install

SHELL
# Homebrew (macOS / Linux)
brew tap a2aproject/a2a-cli https://github.com/a2aproject/a2a-cli
brew install a2a

# WinGet (Windows)
winget install a2aproject.a2acli

# Or download a prebuilt binary from
# https://github.com/a2aproject/a2a-cli/releases/latest

Demo video

Install the binary, fetch the Agent Card, then send a message to the SuperQode and SuperOptiX public agents.

SuperQode and SuperOptiX both speak it

We verified a2a card get and a2a send against both of our public agents, and both products now document the official CLI as the recommended client for third-party, CI, and automation use. SuperQode serves harness-shortlist, a coding agent harness procurement advisor over the Harness Hub catalogue rather than a general office assistant, from a2a.superqode.dev, and the integration is written up at superqode.dev/a2a. SuperOptiX serves framework A2A readiness and Agent Card review from a2a.superoptix.ai, written up at superoptix.ai/a2a. For background on how the SuperQode surface came about, see Introducing SuperQode A2A for Harness Recommendation and Evaluation.

None of this replaces our own CLIs, TUIs, connect, or serve paths. Those remain how you build and operate harnesses and optimizers locally, and they are not going anywhere. The official a2a binary sits alongside them for the cases where a standard client is the right tool: scripts, CI jobs, and agent harnesses that should call our cards the same way they call any other A2A endpoint. That is the point of an official client, one command surface against any conformant Agent Card, including ours.

Smoke test

After install, these commands exercise card fetch and send on both public agents. Add -o json when you want protocol-native output for a pipeline, and lean on the exit codes when you want a CI gate rather than a log line somebody has to read.

SHELL
# SuperQode: discover the Agent Card, then call harness-shortlist
a2a card get https://a2a.superqode.dev
a2a send -a https://a2a.superqode.dev "Which harness should we shortlist for a Python monorepo?"

# SuperOptiX: discover the Agent Card, then ask a readiness question
a2a card get https://a2a.superoptix.ai
a2a send -a https://a2a.superoptix.ai "Does CrewAI support A2A?"

Looking ahead

The A2A ecosystem is still adding tooling around cards and clients, from the TCK to the Inspector to the tiered CLI capabilities the specification lays out. We will keep the SuperQode and SuperOptiX Agent Cards and public pilots aligned with those official clients, so a fresh a2a install keeps working against our endpoints without anyone reaching for a private client. Worth bookmarking: a2a-clithe A2A protocolSuperQode A2A, and SuperOptiX A2A.