Skip to content

BuildNot yet confirmed elsewhere1 publisher2 min readPublished

A2A ships an official CLI after its community and SDK clients drifted apart

A2A has shipped a2a, an official command-line client built from its Go SDK's CLI, as one command surface for every A2A Protocol v1.0 agent. Scripts that broke when moved between drifting community and SDK clients now get one target to code against.

The Engineer · Build desk

How we use AISend a correction

Illustration accompanying A2A ships an official CLI after its community and SDK clients drifted apart
Generated illustration

What happened

  • The project says shell scripts, scheduled jobs, build steps and test harnesses had no easy way to discover an agent's capabilities, message it or follow a task to completion.
  • From a terminal, a2a fetches an agent card, sends a message and streams real-time task updates.
  • A coding assistant given the a2a tool can hand work to specialized remote A2A agents without bespoke integration code, according to the project.
  • Two built-in server modes ship with it: --echo returns the message as a connectivity check, and --exec serves any stdin-to-stdout program as an A2A agent.
  • The project labels --echo and --exec as tools for learning, demos and testing, and says they are not for production.

Why it matters

  • capability Integration tests for A2A clients can run against a script-backed agent, so a test suite no longer needs an SDK or a hand-written server to have something to call.
  • constraint Because exit status decides task outcome, a wrapped script that exits non-zero on a mere warning will report a failed task to every client that calls it.
  • decision Teams already scripting against a community or SDK client have to choose between porting to the official surface now and waiting to see whether their client converges on it.

Under `--exec`, the contract has three rules. The CLI writes the incoming message to the program's stdin and returns whatever it prints on stdout as the response [9]. Exit 0 succeeds and any non-zero code fails [9]. Stderr is logged and attached to the failure [9]. By that contract, `cat` is an A2A agent [13].

We think tying task outcome to process exit status is the right design. Exit status is the signal a CI runner already checks. Attaching stderr to the failure keeps the error text with the task that failed [9].

Streaming depends on the wrapped program too. Without `--chunk`, the server waits for the script to exit and returns everything it printed as one response [10]. With `--chunk` set to a newline, each line goes out as its own streamed piece [10]. That puts the program's output buffering inside the streaming path. The project's sample script calls `sys.stdout.flush()` after every line, and its docstring says to run it with `python3 -u` "so stdout is unbuffered and chunks stream promptly" [11].

For pipelines, the post promises protocol-native JSON output and predictable exit codes [1]. Output shape was one of the things the older community and SDK clients disagreed on, along with command names, flags and transport handling [4]. Building the official client from the Go SDK's CLI [5] makes that SDK's choices the reference point. In our view the official label ends the drift only when the clients in other languages converge on it or retire. The post does not say whether any of them will be deprecated.

What to watch

  • Whether the other A2A SDKs retire their own CLIs or realign their commands, flags and output to the official a2a surface.
  • Publication of the exit-code table and JSON output schema that CI jobs built on a2a would parse.
  • Whether a2a handles agents that do not yet speak A2A Protocol v1.0.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence40
Adoption
Insufficient
Hype gap+15
Incentives65
Confidence50
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    Protocol-native JSON output and predictable exit codes make a2a easy to drop into pipelines, bridging non-A2A systems to A2A agents.

  2. [2]

    From the terminal, the CLI can fetch an agent card, send a message and stream real-time updates.

  3. [3]

    The A2A CLI (a2a) is the official command-line client: one standard command surface for every A2A agent.

    ReportedSupportedSource: A2A project blogView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. a2a-protocol.org

    1 article · October 10, 2026

    Meet the A2A CLI: discover, message, and manage agents from your terminal

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

Entities

Loading related stories