Junie for ACP clients
Use Junie CLI with editors and IDEs that support the Agent Client Protocol (ACP).
What is ACP?
Agent Client Protocol (ACP) is a protocol that standardizes communication between code editors/IDEs and coding agents, similar in spirit to how the Language Server Protocol (LSP) unified language tools. In short, ACP decouples agents and editors so that:
Agents that implement ACP can work with any ACP-compatible editor.
Editors that support ACP can integrate any ACP-compatible agent.
ACP reuses MCP JSON structures where appropriate and adds types tailored for agentic coding UX (for example, diffs). Markdown is used as the default user-readable format.
For the full documentation index (entry point), see official site.
When to use ACP mode
Use ACP mode when:
You are building an editor/IDE integration that expects an ACP-capable agent.
You want Junie to serve requests initiated from an ACP client (instead of direct human interaction in the terminal).
Use standard (non-ACP) Junie CLI when:
You operate Junie interactively in your terminal.
You run Junie in headless/CI scripts without an ACP client.
Enable ACP mode in Junie CLI
To run Junie CLI in ACP mode, use the --acp flag:
Local vs. remote scenarios
ACP supports both local and remote agent setups:
Local agents: subprocess communication via JSON-RPC over
stdio.Remote agents: HTTP or WebSocket communication. Full support for remote agents is evolving in the ecosystem.
Refer to the official ACP documentation for the current transport recommendations and capabilities.