Skip to main content

Users already have Claude Code, Codex, Cursor, opencode, Kiro, and friends installed and logged in. Each one has its own CLI, protocol, and quirks, so an app built on top of them ends up with a driver per agent.

anyagent is that layer, written once. It finds the agents, speaks each one’s protocol (native or ACP), and gives you one typed API.

Three objects

Who owns what

Design rules

  1. Same types for every agent. Provider-specific data rides in extensions instead of leaking into the API.
  2. Capabilities are reported, not assumed. After open, the session tells you what this agent can do on this connection. Gate features on that, not on the agent’s name.
  3. A turn ends exactly once. Whether the wire said so or anyagent inferred it, you get one TurnEnded.

Where to go

Quickstart

Install, discover, open, prompt, stream, answer one permission.

Core API

Runtime, Session, SessionOptions, every EventKind, requests, errors.

Features

Each thing anyagent does, in a few sentences and one snippet.

Agents

The catalog, the capability matrix, per-agent quirks, custom ACP agents.

Building an app

How the pieces fit in a real chat app: threads, streaming, permissions, persistence.

Architecture

The codebase map and how an event travels from wire to your UI.

License

MIT or Apache-2.0.