Skip to main content
Documentation menu

Features

ACP client

chanto acp-client <command...> runs an external agent under Chanto's own UI. The command must speak Agent Client Protocol version 1 over stdio, which is what the Claude Agent SDK adapter (claude-agent-acp), OpenCode and others do:

sh
chanto acp-client claude-agent-acp
chanto acp-client opencode acp

Chanto is the ACP client here. The agent's session starts in the current directory, so it reads the project instructions it normally uses (CLAUDE.md, AGENTS.md, its own configuration). Its text, reasoning, tool calls, diffs and plans stream into the TUI exactly like Chanto's own, its permission requests become the same permission dialogs, and /clear starts a fresh agent process and session.

The agent runs its own loop, so Chanto's /model, tools, hooks, subagents, context compaction, session files and usage accounting do not apply. Chanto answers fs/read_text_file and fs/write_text_file requests, and the terminal/* methods: an agent that asks for a command gets it run through Chanto's own environment, with its output available to the agent and the terminal killed when the session ends. Your configured MCP servers are handed to the agent at session start (variables expanded, and disabled or gated servers left out), except HTTP or SSE servers when the agent doesn't advertise those transports. A form elicitation becomes the normal question dialog, and a URL elicitation shows the address and asks before confirming. The agent's config_option_update and available_commands_update notifications update what Chanto knows and appear as a one-line note. If the agent process restarts, Chanto restores its previous session with session/load or session/resume (history the agent replays is not shown twice), and /clear closes it explicitly when the agent supports session/close. The agent's session id is saved with the Chanto session, so /resume (and --continue) restores the agent's side of the conversation too. Modes and settings the agent advertises when the session starts are listed once: /agent-mode <id> and /agent-config <id> <value> change them, and without arguments they list the available modes and settings with their current values. /agent-login [method] and /agent-logout use the agent's own sign-in methods; when it reports that authentication is required, Chanto points at /agent-login. When the agent advertises slash commands, they appear in completion and /help and are sent to it as prompts; Chanto commands of the same name win. The agent's stderr is kept only for error messages (the last 20 lines) and is not shown in the transcript. If a turn is cancelled, Chanto asks the agent to stop (session/cancel) and terminates it if it has not stopped within 10 seconds.

Edit this page on GitHub Report a problem

Commands, settings, errors: type a few words.