Agent-Shell 0.63 Updates

xenodium2 pts0 comments

agent-shell 0.63 updates

xenodium.com

██ ██ ███████ ███ ██ ██████ ██████ ██ ██ ██ ███ ███<br>██ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ ████ ████<br>███ █████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██<br>██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██<br>██ ██ ███████ ██ ████ ██████ ██████ ██ ██████ ██ ██

July 22, 2026

agent-shell 0.63 updates

It's been a little over a month since the 0.55 update, but plenty has landed since. Let's go through the highlights as of v0.63.

What's agent-shell?

agent-shell is a native Emacs mode to interact with AI agents powered by ACP (Agent Client Protocol).

Supported agents

The roster continues to grow.

This time we get two new agents supported:

Oh My Pi (omp), #631 by @tychoish.

Grok Build (xAI), #720 by @eddof13.

Additionally:

Claude regains rendering thinking output, since its ACP server started omitting by default.

Cursor now runs on the official Cursor CLI (agent acp). Note a recent CLI is required, as the acp subcommand was only added in 2026.

Codex now uses @agentclientprotocol/codex-acp.

Cline now accepts a default model and session mode via defcustoms (#693 by @nhojb).

Goose no longer requires an OpenAI key by default (#711 by @hoyon).

Qwen now has explicit support for OpenAI-compatible keys.

Preferred agent

agent-shell-preferred-agent-config gained finer control over agent selection. Set to an agent identifier to skip the picker entirely, or wrap it to keep the picker with a preselected default:

(setq agent-shell-preferred-agent-config 'claude-code) always starts Claude, no prompt.

(setq agent-shell-preferred-agent-config '(preselect . claude-code)) keeps the picker but preselects Claude as the default.

Custom markdown renderers

The new markdown renderer introduced in 0.55 is now extensible. Third-party packages can claim and render specific markdown constructs (source blocks, inline code ranges, etc) through agent-shell-markdown-render-functions.

Thanks to Andrea Alberti for driving the first integration in agent-shell-math-renderer, which renders LaTeX math equations as SVGs.

agent-shell faces

If you've wanted more theming control over agent-shell buffers, this is now possible via agent-shell-faces.el. Additionally, check out agent-shell-markdown.el for Markdown theming.

Less chatter, more grouping

If your agent session requires lots of tool use (fairly typical), you may notice that shell output is fairly verbose or chatty. This can be quite distracting, so from now on, tool usage as well as thinking are grouped together under an "Activity" section (collapsed by default). If you're a fan of the chatty output, not to worry. Use agent-shell-activity-group-expand-by-default to expand the lot by default.

The new "Activity" section has customisable headers (via agent-shell-activity-group-header-label-function). You now have three ways of rendering the activity header:

Descriptive

Collapsed

Expanded

(setq agent-shell-activity-group-header-label-function<br>#'agent-shell-activity-group-descriptive-label)

Count

Collapsed

Expanded

(setq agent-shell-activity-group-header-label-function<br>#'agent-shell-activity-group-count-label)

Tally

Collapsed

Expanded

(setq agent-shell-activity-group-header-label-function<br>#'agent-shell-activity-group-tally-label)

Inline image and rich content rendering

agent-shell can now render agent-supplied image content inline, whether base64-encoded, a remote URL, or a resource_link/resource content block (#676 by @melito). Audio and other binary resources now render as links that can open externally.

Per-agent MCP servers

You can now attach MCP servers per agent kind through its config using the :mcp-servers field, as requested in #593.

Diff improvements

Section titles now summarize lines added and removed.

In addition, pressing RET in a diff buffer jumps to the file location where the change would apply, while multi-diff permission requests are now supported.

Improved out-of-turn handling

Some agents emit notifications outside of the usual prompt session request/response turn. Historically, these have been dropped by agent-shell. These out-of-turn notifications should now render as expected. Please file a bug if you continue to run into issues.

New copy commands

A few new commands for grabbing hidden content out of the shell buffer:

M-x agent-shell-copy-as-markdown copies buffer text as markdown.

M-x agent-shell-copy-source-block-at-point copies the source block at point.

M-x agent-shell-copy-link-url-at-point copies the URL of the link at point.

Viewport tweaks

The viewport picked up a few refinements:

agent-shell-viewport-dismiss-on-send dismisses the viewport once you send.

Submitting prompts via C-u C-c C-c now enables you to continue queuing additional requests.

History navigation now preserves your in-progress prompt.

Session choices

The new agent-shell-session-choices-function lets you customize what options are presented when starting a new shell. This is useful if you'd like to hide some of these...

agent shell activity default markdown group

Related Articles