跪拜 Guibai
← All articles
AI Programming · Agent · Claude

A Claude Code GUI for IntelliJ IDEA That Actually Feels Native

By 沉默王二 ·
Read original on juejin.cn ↗ Google Translate ↗ Alt translation

Running an AI coding agent inside the IDE, rather than in a separate terminal, keeps the developer in the same tool where they review diffs, run tests, and debug. The SDK-based architecture also means the plugin works with cheaper third-party models, avoiding lock-in to a single provider's pricing.

Summary

CC GUI is a JetBrains plugin that brings Claude Code's agentic coding into IntelliJ IDEA without a terminal. Instead of calling the Claude CLI, it spawns a persistent Node.js daemon that loads the official Claude Agent SDK, cutting cold-start latency by 2–5 seconds per request. Communication between the Java plugin and the daemon runs over NDJSON via stdin/stdout, with request IDs enabling parallel conversations.

Configuration reuses the existing `~/.claude/settings.json`, so any model already set up in the CLI—Anthropic official, GLM-5.1, Kimi 2.6, or DeepSeek V4—works immediately. The plugin also surfaces MCP servers like Chrome DevTools for browser automation and an IDEA MCP for editor integration, plus Skill packs such as web-access and frontend-design that extend the agent's capabilities.

Two real-world refactors on an open-source community project demonstrate the workflow: migrating an article read counter from direct SQL to a Redis-backed atomic-increment scheme with batched scheduled syncs, and splitting a comment system's eager-load query into paginated top-level comments with lazy-loaded replies. In both cases, the agent scanned the codebase, proposed a multi-file plan, executed the changes, and ran browser-based verification through the Chrome DevTools MCP.

Takeaways
CC GUI loads Anthropic's Claude Agent SDK directly, bypassing the Claude CLI entirely.
A persistent Node.js daemon preloads the SDK into memory, eliminating 2–5 seconds of cold start per request.
Java-to-daemon communication uses NDJSON over stdin/stdout, with request IDs enabling parallel conversations.
Configuration is shared with the terminal Claude Code via `~/.claude/settings.json`; no separate setup is needed.
Any API-compatible model can be plugged in, including DeepSeek V4, GLM-5.1, and Kimi 2.6.
MCP servers like Chrome DevTools and an IDEA MCP give the agent browser automation and editor integration.
Skill packs (web-access, frontend-design) extend the agent with domain-specific capabilities.
A Redis article-read-count migration used atomic `incr` operations, key expiration, and batched scheduled syncs.
A comment-system refactor split eager loading into paginated top-level queries and lazy-loaded replies across 7 files.
The daemon auto-exits when IDEA closes and auto-restarts up to 3 times if it crashes.
Conclusions

Embedding an AI agent inside the IDE changes the review dynamic: the developer can inspect every file change in real time as the agent edits, which a terminal-based agent cannot offer.

Reusing the existing Claude Code settings file is a quiet but powerful design choice—it means the plugin inherits whatever model and tool configuration the developer already trusts, with zero migration friction.

The NDJSON-over-stdin architecture is simple enough to be debuggable with basic logging, yet robust enough to support parallel agent sessions, which is rare in IDE-integrated AI tools.

Pushing browser automation through a Chrome DevTools MCP inside the IDE closes the loop between backend changes and frontend verification without leaving the editor, compressing a multi-tool workflow into one window.

Support for third-party models like DeepSeek V4 turns the plugin into a cost-control lever: a team can run the same agentic workflow at a fraction of Anthropic's API pricing without changing tools.

Concepts & terms
Claude Agent SDK
Anthropic's official Node.js SDK (`@anthropic-ai/claude-agent-sdk`) that provides programmatic access to Claude's agentic capabilities, including tool use, multi-step reasoning, and file editing, without going through the CLI.
NDJSON (Newline-Delimited JSON)
A streaming format where each line is a complete, valid JSON object. Used here for bidirectional communication between the Java plugin and the Node.js daemon process via stdin/stdout.
MCP (Model Context Protocol)
An open protocol that lets AI agents connect to external tools and data sources. In CC GUI, MCP servers give Claude Code access to browsers, IDEs, and git, among other tools.
daemon.js
A persistent Node.js background process spawned by CC GUI that preloads the Claude Agent SDK into memory and handles all agent requests, avoiding cold-start latency on each conversation turn.
Skill packs
Pre-built capability extensions for Claude Code that unlock domain-specific tasks, such as web-access for authenticated browsing or frontend-design for generating HTML/CSS from descriptions.
Source: juejin.cn ↗ Google Translate ↗ Backup ↗