manzaltu/claude-code-ide.el

Claude Code IDE integration for Emacs

What it solves

Claude Code IDE for Emacs integrates the Claude Code CLI into the Emacs editor, transforming it from a simple terminal wrapper into an Emacs-aware AI assistant. It solves the problem of context switching between a standalone terminal and the editor by creating a bidirectional bridge that allows Claude to understand and interact with the user's active buffers, project structure, and editor state.

How it works

The package implements the Model Context Protocol (MCP) to create a communication bridge between the Claude Code CLI and Emacs. It manages Claude instances as side-windows, integrating with Emacs' project.el for automatic project detection and supporting multiple concurrent sessions per project. It leverages terminal backends like vterm, eat, or ghostel to run the CLI, while providing a specialized interface for code suggestions via Emacs' ediff for visual diffing and interactive editing before changes are applied.

Who it’s for

Emacs users who use the Claude Code CLI and want a deeply integrated AI coding assistant that can access their editor's context, project-wide navigation, and custom Elisp functions.

Highlights

  • Emacs-Aware Context: Claude can automatically detect the active file, access selected text, and leverage LSP, Tree-sitter, and Imenu for intelligent code navigation.

  • MCP Tool Integration: Allows any Emacs command or function to be exposed as a tool for Claude, enabling project-wide refactoring and custom workflow automation.

  • Interactive Diffing: Integrates with ediff to allow users to visually compare and modify Claude's suggested changes before they are applied to the original files.

  • Session Management: Supports multiple named Claude instances per project, with advanced window management and tab-bar integration for context switching.

  • Diagnostic Integration: Connects with Flycheck and Flymake to provide Claude with access to diagnostic data (errors and warnings) from opened files.

Related

  • Project
  • Project
  • Project
  • Dispatch
  • Project