ACP (Agent Client Protocol)
Flock ships an ACP v1 stdio agent via flock acp. Editors such as Zed can spawn Flock as an external coordination agent — scheduler-primary runs that produce episodes, not chat transcripts.
MCP remains the primary Cursor integration path. See Cursor setup.
Capabilities
| Method | Status |
|---|---|
initialize | Protocol v1, camelCase agent capabilities |
session/new | Binds sessionId → flock-memory acp_sessions |
session/prompt | Runs FlockEngine + persist_episode_bundle; emits session/update stream |
session/resume | Restores checkpoint metadata (no chat replay) |
session/load | Replays episode metadata via session/update notifications |
session/cancel | Aborts in-flight prompt task |
session/close | Cancels + marks session closed |
permissions/request | Governance pipeline; set FLOCK_ACP_AUTO_DENY=1 in CI |
prompt | Deprecated alias for session/prompt |
Phase 2 ships async streaming notifications, tool bridge (flock_* registry), and permission UX. Phase 3 enables in-process mux episodes (context.mux: true or FLOCK_MUX_AUTO=1).
Diagnostics
flock acp doctor
Prints protocol version, agent capabilities, memory backend, and env flags (FLOCK_MUX_AUTO, FLOCK_ACP_AUTO_DENY).
Zed smoke (5 steps)
- Build Flock:
cargo build --release -p flock-cli - Copy examples/zed-acp.json into your Zed settings agents list (adjust
commandpath). - Open a workspace with a
.flock/directory (or let Flock create one on first prompt). - Start the Flock agent in Zed and send:
reach targetwith context plugingridworld. - Confirm the agent returns
stopReason: completed, ≥3session/updatenotifications, and.flock/episodes/<goal_id>.jsonexists.
Mux episodes
Set "mux": true in prompt context or export FLOCK_MUX_AUTO=1 when a multiplexer socket is healthy. ACP attaches pane_tree to persisted episodes for evolve flywheel compatibility.
Limitations
- No full chat transcript replay on
session/load— episode metadata only (MEMORY_ARCHITECTURE). - External editor MCP servers are bridged for
flock_*tools only in Phase 2; shell/file tools remain editor-side. - crates.io publish for library crates is dry-run only until the API stabilizes.
Related
- Engineering plan:
docs/ACP_IMPLEMENTATION_PLAN.mdin the repository (not published in this book) - CLI reference —
flock acp - Deployment — releases