Protocol
A2A
Type
Tool
Stars
177
License
Apache-2.0
Last push
Nov 6, 2026
Source
Official

A2A CLI A2A tool

by a2aproject• 177•

Command-line interface for talking to A2A-compatible agents

About A2A CLI

A2A CLI is an open-source A2A tool by a2aproject, written mainly in Go. Command-line interface for talking to A2A-compatible agents. It has 177 GitHub stars and uses the Apache-2.0 license, and its code was last pushed on Nov 6, 2026.

New to A2A? Our A2A Protocol guide explains how it works and lists other projects built on it.

At a glance

Protocol
A2A
Type
Tool
Language
Go
License
Apache-2.0
GitHub stars
177
Last push
Nov 6, 2026

Listed from public GitHub data, checked 2026-11-08. Not scanned by AgenticMart.

Questions about A2A CLI

What is A2A CLI?

Command-line interface for talking to A2A-compatible agents It is listed as a A2A tool, maintained in the a2aproject/a2a-cli repository on GitHub.

How do I install A2A CLI?

The project's README gives this command: brew install a2a. Read the README for setup steps and requirements before running it.

Is A2A CLI an official A2A project?

Yes. It is published by the organisation that runs A2A or by its official project.

What license does A2A CLI use?

It is published under the Apache-2.0 license. Check the license file in the repository before using it commercially.

Is A2A CLI still maintained?

Its code was last pushed on Nov 6, 2026, and it had 177 GitHub stars when we checked on 2026-11-08. Look at recent issues and releases in the repository for a fuller picture.

README

A2A CLI

<div align="center" width="800"> <img src="https://raw.githubusercontent.com/a2aproject/A2A/refs/heads/main/docs/assets/a2a_logo/color/SVG/a2a_color.svg" width="600" alt="Agent2Agent Protocol Logo"/> <h3> Discover, message, and manage A2A agents from your terminal. </h3> </div> <p align="center"> <a href="https://github.com/a2aproject/a2a-cli/releases/latest"><img src="https://img.shields.io/github/v/release/a2aproject/a2a-cli?sort=semver" alt="Latest release"></a> <a href="./LICENSE"><img src="https://img.shields.io/github/license/a2aproject/a2a-cli" alt="License: Apache-2.0"></a> </p>

The A2A CLI (a2a) is the official command-line client for A2A (Agent2Agent) agents, maintained by the A2A Project Team.

<div align="center"> <img src="./docs/demo/a2a-demo.gif" alt="a2a CLI demo: build a server from a script, then discover and message it" width="720"> </div>

Why the A2A CLI

A2A is a bidirectional protocol: any A2A agent can act as a client to another and hand off a task. But an agent without an A2A layer can't easily send messages or receive updates. The A2A CLI fills that gap.

With it, you — or any model, agent, or coding harness that can call tools — can discover A2A agent's capabilities and send it work.

Three ways to get started:

  1. Empower AI coding assistants — give your coding agent the a2a tool to offload work to remote A2A agents.
  2. Interact instantly — fetch agent cards, send messages, and stream real-time updates from the terminal.
  3. Automate workflows — seamlessly integrate A2A agents with non A2A Agents and build pipelines by taking advanteage of cli's protocol-native JSON outputs and predictable exit codes.

Built on A2A Protocol v1.0.

Installation

Homebrew (macOS / Linux)

brew tap a2aproject/a2a-cli https://github.com/a2aproject/a2a-cli
brew install a2a

WinGet (Windows)

winget install a2aproject.a2acli

Install script (macOS / Linux)

curl -fsSL https://raw.githubusercontent.com/a2aproject/a2a-cli/main/install.sh | bash

This installs the latest release into /usr/local/bin. Set A2A_INSTALL_DIR to change the destination, or A2A_VERSION to pin a version:

curl -fsSL https://raw.githubusercontent.com/a2aproject/a2a-cli/main/install.sh | A2A_VERSION=0.3.1 bash

From Source (Linux / Windows / macOS)

go install github.com/a2aproject/a2a-cli@latest
# go install names the binary `a2a-cli`; rename it to `a2a`
mv "$(command -v a2a-cli)" "$(dirname "$(command -v a2a-cli)")/a2a"

Prebuilt binaries

Download an archive from the latest release, extract it, and put the a2a binary on your PATH.

Usage

# Discover an agent's card
a2a card get https://agent.example.com

# Send a message and wait for the result
a2a send -a https://agent.example.com "Hello, what can you do?"

# Stream events as they arrive
a2a send -a https://agent.example.com --stream "Summarize this document"

# Send asynchronously and poll until completion
a2a send -a https://agent.example.com --async "Analyze this dataset"
a2a task get -a https://agent.example.com <task-id> --wait --timeout 60s

# Find agents in an AI Catalog and talk to one by its identifier (experimental)
a2a catalog add corp https://acme.com
a2a catalog search finance
a2a send -a urn:air:acme.com:agent:finance "What were last quarter's expenses?"

See the full command reference for all commands, flags, configuration, and server mode.

Cookbook

Learn the CLI by example. The cookbook is a short, hands-on course — each lesson is a small folder you can run on its own, building from your first A2A server up to streaming, configuration, and the full message and task lifecycle:

  1. Build a quick A2A server — turn an ordinary script into an A2A server with --exec, then send it a message.
  2. Discover and talk to an agent — read an agent's card, save it, and send a text message.
  3. Configure the CLI — flags, environment variables, and .env files, and how to tell which one won.
  4. Messages and tasks — build multi-part messages, stream replies, and follow a task through its lifecycle.

Agent Skill

Give your AI coding agent the ability to drive a2a directly. The a2a-cli Agent Skill teaches harnesses like Claude Code, Cursor, and Codex to delegate work to A2A agents from the command line.

Install it into your agent with skills:

npx skills add https://github.com/a2aproject/a2a-cli --skill a2a-cli

The skill drives the a2a binary, so install the CLI first. The descriptor lives at skills/a2a-cli/SKILL.md.

Agent Plugin

Prefer a plugin-aware client? The same skill ships as an Agent Plugin in the a2aproject/agent-plugins marketplace, published from agent-plugin/ on every release. In Claude Code:

/plugin marketplace add a2aproject/agent-plugins
/plugin install a2a-cli@a2a-plugins

Like the skill, it drives the a2a binary — install the CLI first.

About the Project

Several community and SDK-provided A2A CLIs existed across languages, but they diverged in command names, flags, output shapes, and transport handling. This project reconciles them into one standardized CLI — built for long-term stability and cross-transport consistency. It builds on the CLI from the A2A Go SDK.

The Specification (SPEC.md) captured that reconciliation — command taxonomy, output contracts, polling/streaming rules, and exit codes — and served as the roadmap.

Custom Transport Plugins

The CLI speaks JSON-RPC, REST and gRPC out of the box. Additional transport bindings can be added without recompiling by dropping an a2a-transport-<name> binary on your PATH. The CLI launches the plugin as a local proxy that speaks a standard A2A binding and forwards to the custom protocol, so --transport <name> works uniformly for built-ins and plugins:

$ a2a transport list
$ a2a send --transport slimrpc --endpoint slim://agents.example/agent "hello"

Authoring a plugin in Go is a few lines with the devkit/clitransport package — you provide an a2aclient.Transport, it produces a CLI-compatible plugin. See the transport plugin guide and the runnable echo plugin example.

How to Contribute & Provide Feedback

We welcome review and input from engineers and the community:

  1. Read the Specification (SPEC.md) for background.
  2. Open an issue or pull request to share suggestions, questions, or edge cases.

You can also help by sharing how you use the tool. See the Contributing guide; conformance details live in the Compliance Checklist (COMPLIANCE.md).

License

The A2A CLI and Specification are open-source and licensed under the Apache License 2.0.

More A2A projects

All 20 →