← all repositories
xenodium/agent-shell

Emacs as the universal remote for ACP coding agents

A native Emacs shell that fronts multiple LLM agents through the Agent Client Protocol.

1.6k stars Emacs Lisp Coding Assistants
agent-shell
Velocity · 7d
+7.6
★ / day
Trend
accelerating
star history

What it does

agent-shell turns an Emacs buffer into a chat interface for coding agents such as Claude, Gemini, Codex, and Goose. It uses the Agent Client Protocol to marshal requests to each vendor’s CLI, then streams the responses back into a native comint buffer via shell-maker. The result feels like a standard shell session, except the other end is an LLM agent.

The interesting bit

Rather than reimplementing agent logic in Emacs Lisp, the project bets on ACP as a narrow waist—standardizing on the protocol and letting external CLIs do the heavy lifting. This architectural thrift has spawned an entire ecosystem of satellite packages, from Org Babel backends to multi-agent coordination, suggesting Emacs is being repositioned as a control plane for agentic workflows.

Key highlights

  • Supports a broad roster of agents: Claude, Gemini, Codex, Goose, Cursor, Auggie, Mistral Vibe, Qwen, and local Ollama models via Opencode.
  • Feels native: runs inside a comint buffer through shell-maker, leveraging Emacs’s existing shell infrastructure.
  • Environment variable handling includes inheritance from the parent Emacs process and loading from .env files, which helps manage API keys and proxies.
  • Satellite ecosystem includes extensions for Org-mode transcripts, tab-bar workspaces, session management, and code review interfaces.
  • Available on MELPA alongside its dependency packages acp.el and shell-maker.

Caveats

  • Every supported agent requires its own external CLI tool installed and available in PATH; this is a frontend, not a self-contained runtime.
  • Upstream ACP support is uneven: some agents, like Google’s Gemini CLI, still need an --experimental-acp flag.

Verdict

Worth a look if you already live in Emacs and want a single, keyboard-native interface for juggling multiple coding agents. If you prefer all-in-one IDEs or graphical chat interfaces, this will feel like unnecessary plumbing.

Frequently asked

What is xenodium/agent-shell?
A native Emacs shell that fronts multiple LLM agents through the Agent Client Protocol.
Is agent-shell open source?
Yes — xenodium/agent-shell is open source, released under the GPL-3.0 license.
What language is agent-shell written in?
xenodium/agent-shell is primarily written in Emacs Lisp.
How popular is agent-shell?
xenodium/agent-shell has 1.6k stars on GitHub and is currently accelerating.
Where can I find agent-shell?
xenodium/agent-shell is on GitHub at https://github.com/xenodium/agent-shell.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.