Skip to content

Agents & harnesses

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.

  • 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.

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 host-agent contract is the Agent Client Protocol (ACP). Anything that speaks ACP can be the agent — which is exactly why “any agent” is a real promise and not a marketing line.

this page as markdown: /cli/concepts/agents-and-harnesses.md· index for agents: /llms.txt