---
title: Agents & harnesses
description: Nori is the harness — an ACP host that runs your coding agent as a separate process.
status: verified
sidebar:
  order: 1
---

The Nori CLI is a **harness, not an agent**. It has no model and no coding
engine of its own — it runs your chosen coding agent and gives it a terminal,
durable sessions, approvals, and tool plumbing.

## Host and agent

- **Nori (the host, the harness)** — the TUI, session transcripts, approvals,
  MCP forwarding, and the loop that drives a turn.
- **The agent** — Claude Code, Codex, or any agent you register. It runs as a
  **separate subprocess** and talks to Nori over a protocol.

The key idea: Nori never reimplements an agent — it hosts one.

## The out-of-process boundary

Each agent keeps its own authentication, its own slash commands, and its own
tools. Running it as a subprocess means Nori doesn't have to absorb any of
that — it forwards. Slash commands the agent advertises over the protocol
appear in the composer alongside Nori's own, and the MCP servers from Nori's
`config.toml` are handed to the agent when a session starts. Switching agents
— `/agent` in the TUI, or `-a <slug>` at launch — swaps the whole subprocess,
cleanly.

## The protocol

The host-agent contract is the
[Agent Client Protocol (ACP)](/cli/concepts/acp/). Anything that speaks ACP
can be the agent — which is exactly why "any agent" is a real promise and not
a marketing line.

## Next steps

- [Agent Client Protocol](/cli/concepts/acp/) — what actually travels between
  host and agent
- [Agents guide](/cli/guides/agents/) — the built-in agents, and how to
  register your own
- [MCP & hooks](/cli/guides/mcp-and-hooks/) — the tool plumbing Nori forwards
  to whichever agent is running
