---
title: Agents
description: Run the built-in agents or register any ACP agent of your own.
status: draft
sidebar:
  order: 1
---

Every agent runs as an external ACP subprocess — Nori is the harness around
it. Pick with `/agent` in the TUI or `-a <slug>` at launch.

## Built in

| Slug | Provider | Context window | Runs via |
|---|---|---|---|
| `claude-code` (default) | Anthropic | 1M | the Claude Code ACP adapter |
| `codex` | OpenAI | 258K | the Codex ACP adapter |
| `gemini` | Google | 1M | Gemini CLI's native ACP mode |

Adapters launch through `bunx` when bun is on your PATH, otherwise `npx`.

## Bring your own

Register any ACP-speaking agent in `~/.nori/cli/config.toml`:

```toml
[[agents]]
name = "My Agent"
slug = "my-agent"

[agents.distribution.npx]
package = "my-acp-agent"
args = ["--acp"]
```

Distribution variants: `local` (a command on your machine), `npx`, `bunx`,
`pipx`, or `uvx`. Optional keys: `context_window_size`, `auth_hint`,
`transcript_base_dir`. A custom slug that matches a built-in replaces it.

Capabilities are agent-driven: Nori enables `/compact`, `/fork`, session
listing, and `/config` per agent based on what the agent advertises in its
ACP handshake.
