diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 803cae4..893401a 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -188,6 +188,29 @@ An unknown name is rejected as an `[tui].theme` configuration error. The full action vocabulary is the `Action` enum in `crates/maestro-tui/src/action.rs`. +## Structured sessions: `claude-code-acp` + +A session spawned with `view: Structured` (#134) runs Claude Code as a child +of the daemon over the Agent Client Protocol instead of in a tmux pane. The +daemon resolves the adapter binary, `claude-code-acp`, on its `PATH` at spawn +time. Install it once per host: + +```sh +npm install -g --prefix ~/.local @zed-industries/claude-code-acp +``` + +That puts `claude-code-acp` in `~/.local/bin`, which must be on the daemon's +`PATH` (a systemd user unit does not read your shell profile; set +`Environment=PATH=…` in the unit or install somewhere already on it). The +adapter needs a logged-in Claude Code (`claude /login`). + +When the adapter is missing the spawn still creates the session, marked dead +with the install command above as its activity detail, so the sidebar says +what to run. The adapter is a child of the daemon: it ends with a `DELETE +/api/sessions/:id` (`session/cancel`, then `SIGTERM`) and with the daemon +itself. Terminal sessions keep surviving restarts through tmux; structured +ones do not yet. + ## The browser UI The daemon serves the SPA off its own listener. Open