This is an early release preview. You may encounter bugs.
Agent Shell logo
Unclaimed

Tool interface coding

Agent Shell

A native Emacs buffer to interact with LLM agents powered by ACP

B 77/100 GitHub score ? This grade is derived from GitHub signals, not user votes. Open for the full breakdown.
Discussion

01 / Summary

About Agent Shell.

Agent Shell is an Emacs package that gives you a native shell buffer for talking to coding agents over the Agent Client Protocol (ACP). It builds on the built-in comint shell through shell-maker and uses acp.el for the protocol, so any ACP-speaking agent can be driven from inside the editor.

Configurations ship for Claude Agent, Codex, Gemini CLI, Goose, Grok Build, Cursor, Kimi Code CLI, CodeBuddy, Kiro CLI, Qwen Code, Auggie, Mistral Vibe, Factory Droid, Pi, Oh My Pi, Opencode, and Antigravity. M-x agent-shell starts or reuses a session for any configured agent, and a prefix argument forces a new one so several shells can run at once. Authentication is per provider and accepts a login flow, an API key, an OAuth token, Vertex AI or enterprise variants, or credentials managed outside Emacs.

Alongside the shell buffer, a viewport presents one request and response at a time, splitting composing and reading into separate major modes with their own key maps in a buffer named after the shell. A prompt sent while the agent is working is queued and submitted when the turn ends. Agents advertising the _session/steering ACP extension can instead take it into the running turn, which the Claude and Codex packages implement; steering is always explicit, replaces rather than adds to what the agent was doing, and a declined steer interrupts the turn and says so rather than letting the agent continue in a direction you believe you corrected.

Agents can be run inside Docker containers or devcontainers by prefixing the launch command, either with a static list or a function that picks a container per buffer or project. A path resolver maps container paths to the local working directory, and turning off the text-file client capabilities keeps the agent reading and writing inside the container instead of on the host filesystem. MCP servers are declared once in agent-shell-mcp-servers rather than repeated per agent.

Session controls surface in the shell header once the agent advertises them: model, session mode, and thought level, each clickable and bound to a key. Per-project data such as transcripts and screenshots goes to a .agent-shell/ directory in the project root, added to .gitignore the first time it is created. Every setting can be applied per project through directory-local variables.

  • ACP shell: a comint-based Emacs buffer that speaks the Agent Client Protocol to any conforming agent
  • Agent catalog: built-in configurations for seventeen agents, editable through agent-shell-agent-configs
  • Flexible authentication: login flows, API keys, OAuth tokens, Vertex AI and enterprise modes, or external credentials, each settable from a string or a function
  • Viewport interface: compose and view modes for working one interaction at a time, with peek, reply, quote-reply, and navigation between interactions
  • Steering and queueing: queued prompts by default, with explicit steering into a running turn where the agent supports the extension
  • Session controls: model, session mode, and thought level switchable from the header or by key binding when the agent advertises them
  • Container execution: static or per-buffer command prefixes for devcontainers and Docker, with a path resolver and optional file-capability lockdown
  • MCP configuration: servers declared once and shared across agents
  • Image input: clipboard images and screenshots sent through platform helpers detected at runtime
  • Sleep inhibition: on Emacs 31.1 and later, the system is kept awake for the duration of a turn and released afterward
  • Edit-safe writes: selected buffer-local minor modes are disabled while the agent applies edits
  • Extension ecosystem: separate packages add a sidebar, bookmarks, notifications, Org transcripts, Org Babel blocks, dashboards, transcript search, and multi-agent coordination

02 / Discussion CREDIBILITY-GATED

Discussion

Reading is open to everyone. Posting and voting need a verified identity or a GitHub grade of B or higher.

  • No discussions yet.

04 / Build

Build with Agent Shell.

Browse the catalog for frameworks, tools, and harnesses, each scored on real GitHub credibility.

Get Agent Shell →

Browse the catalog