Skip to content
A whole session: the source on the left, and on the right two prompts, the tools each one ran, the diffs they were allowed to make, and the answers

Emacs Client for Claude Code

An Emacs client for the Claude Code CLI. Conversations run directly in ordinary Emacs buffers — no terminal emulator required.

ecc runs claude headless, talks to it over pipes in its stream-json protocol, and draws the conversation in an ordinary Emacs buffer. The transcript is read-only text, so isearch, occur and M-w work in it. A permission request, a diff or a plan is answered with one key, in the transcript or from the file you are editing.

Answer from any buffer

The mode line counts the requests waiting in every session, and C-c c a allows the oldest from wherever you are. Permissions and plans

Review the change

Every change of a session in one diff, however it was made. Comment on lines and send the comments as one prompt. Reviewing changes

Send from your code

Send the region, fix the error at point, or write @region, @cursor and @diagnostics in a prompt. Sending from your code

Several sessions

A sidebar listing every session, a tab for each, and a mark on each session waiting for you. Session management

Hand over to the terminal

ecc-tui-open hands the conversation to the CLI’s own interface, and ecc-tui-return takes it back. Handing over

Off until you turn it on

Requests are denied unless you allow them. The MCP server is off, and evaluating Elisp is a separate opt-in. Configuration

ecc needs Emacs 29.1 or later and the claude CLI, and no other package. Start with the installation, then a first session.