Kilo Code's JetBrains plugin is built natively in Kotlin using JetBrains' split mode API, which separates the plugin into frontend (UI, chat rendering) and backend (file indexing, terminal execution) modules. This architecture ensures the plugin works properly in remote development scenarios without latency penalties. The post explains what split mode is, why Kilo Code designed for it from the start rather than retrofitting, and how competing tools like Copilot, Claude Code, and Windsurf handle (or struggle with) the same challenge. It also explains why Kilo Code skipped JetBrains' ACP protocol in favor of a purpose-built integration that preserves custom UI controls like model pricing, approval flows, and MCP server management.
Table of contents
What split mode actually isWhy we designed for it up front instead of retrofittingHow other agents get into JetBrainsWhy we skipped ACPTry it100 Impressions