Published Build3 min read
ACP Moves the Swappable Part From the Model to the Whole Agent
JetBrains has documented how IntelliJ IDEA talks to coding agents over the Agent Client Protocol.
Written for builders.See today for builders

What happened
- The Agent Client Protocol (ACP) defines a common contract between a client, such as IntelliJ IDEA, and an agent.
- IntelliJ IDEA already includes several ACP-compatible agents: Codex, Claude Agent, and Junie, which require no manual ACP configuration.
- The number of named bundled ACP agents in IntelliJ IDEA is three.
- IntelliJ IDEA remains the environment where you navigate the project, inspect code, and review changes; across the ACP connection, each agent maintains its own models, behaviour, authentication, and agent-side tools.
- The replaceable unit is larger than an LLM: an ACP-compatible agent includes the full harness around the model, comprising its planning logic, tools, model-routing behaviour, and observability.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
JetBrains has published how IntelliJ IDEA connects to coding agents over the Agent Client Protocol, which it describes as a common contract between a client such as the IDE and an agent [1]. The part that matters for procurement, not demos, is what ACP defines as swappable: according to JetBrains, an ACP-compatible agent carries the entire harness around the model, including its planning logic, tools, model-routing behaviour, and observability [5].
The split is explicit. The IDE stays the place where you navigate the project, inspect code, and review changes, while across the ACP connection each agent keeps its own models, behaviour, authentication, and agent-side tools [4]. Mechanically, for a local agent the IDE starts a subprocess and speaks JSON-RPC over standard input and output [9], prompts flow outward, and progress updates, file operations, and permission requests come back [10]. JetBrains frames the analogy as LSP for coding agents [7]: before LSP, every language needed a separate editor integration, and LSP collapsed that matrix into one contract [8]. The protocol came out of a collaboration between JetBrains and Zed, with both JetBrains IDEs and Zed as intended clients from the start [11].
If the harness is the unit, then model choice stops being the thing you control at the IDE layer. Model routing sits inside the agent [5], so "we can change models" becomes a promise made by your agent vendor rather than a switch you own. What you are actually evaluating when you pick an agent is the planning behaviour, the tool surface, the auth flow, and how much you can see of what it did.
The word "swap" also needs qualifying. JetBrains says you can replace one agent with another without changing how IntelliJ IDEA integrates with it [6], but agents declare their optional capabilities during initialisation, and plans, modes, slash commands, session loading, and terminal operations can all differ [12]. A team workflow built on one agent's slash commands or its ability to reload sessions is not covered by the contract. The portable asset is narrower and more useful: the edit-and-review loop, where AI Chat surfaces the changed file and opens the diff in the editor next to the conversation [16], so switching agents does not mean reviewing changes somewhere else [17].
Lock-in does not vanish here, it moves. IntelliJ IDEA ships three agents that need no manual ACP configuration - Codex, Claude Agent, and Junie [2][3] - and the ACP Registry supplies both further agents and the metadata the IDE needs to install, update, and uninstall them, so adding one does not mean maintaining another IDE plugin [13][14]. JetBrains notes that each registry agent keeps its own license, service, credentials, and privacy terms, and advises checking those before granting repository access [15]. That is the real switching cost: credentials, contracts, and data terms per agent. Add the context plumbing, since extra tools and context reach the agent through MCP, including user-configured servers and the integrated IntelliJ MCP server, exposed per agent [18][19]. Internal agents that implement ACP can be registered privately through acp.json [20].
Watch how much of the optional capability set competing agents actually declare in common, because that is the ceiling on real portability. Watch whether session state survives a move between agents, given that session loading is optional [12]. And watch whether registry metadata grows the version pinning and update controls a regulated team needs [14].
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
The Agent Client Protocol (ACP) defines a common contract between a client, such as IntelliJ IDEA, and an agent.
- [2]
IntelliJ IDEA already includes several ACP-compatible agents: Codex, Claude Agent, and Junie, which require no manual ACP configuration.
- [4]
IntelliJ IDEA remains the environment where you navigate the project, inspect code, and review changes; across the ACP connection, each agent maintains its own models, behaviour, authentication, and agent-side tools.
- [5]
The replaceable unit is larger than an LLM: an ACP-compatible agent includes the full harness around the model, comprising its planning logic, tools, model-routing behaviour, and observability.
- [6]
Because ACP standardises the boundary between the IDE and the agent, one agent can be swapped for another without changing how IntelliJ IDEA integrates with it.
- [7]
ACP is often described as the LSP (Language Server Protocol) for coding agents.
Sources & coverage · 1 publisher
The reporting this story was synthesized from, earliest first. Every link goes to the original.
- blog.jetbrains.comAnton ArhipovAug 12How to Use AI Agents in IntelliJ IDEA With ACP
Additional citations
- JetBrains blog

