{"slug": "agent-shell-0-55-updates", "title": "Agent-Shell 0.55 Updates", "summary": "Agent-shell 0.55 introduces a new inline markdown renderer with improved performance and accessible, navigable tables. The Emacs AI agent mode now supports additional agents and remains vendor-neutral through the Agent Client Protocol, as Anthropic, Google, and Antigravity change their AI tool offerings. Developer xenodium is seeking sponsorships and GitHub stars to sustain the open-source project.", "body_md": "It's been a little while since my [last agent-shell update](https://xenodium.com/agent-shell-0-47-1-updates), so let's go through the latest highlights as of v0.55.\n\n`agent-shell`\n\n?[agent-shell](https://github.com/xenodium/agent-shell) is a native [Emacs](https://www.gnu.org/software/emacs/) mode to interact with AI agents powered by ACP ([Agent Client Protocol](https://agentclientprotocol.com/)).\n\nIf you noticed slower project activity in April, [this is why](https://xenodium.com/and-then-there-were-three). I'm getting better at the [new 24-hour job](https://xenodium.com/and-then-there-were-three), so [I've resumed working on agent-shell](https://github.com/xenodium/agent-shell/commits/main/).\n\nI'm still chipping away at the backlog that built up while I was away, but if there's anything in particular you'd like me to look at, feel free to ping.\n\nWith Anthropic's [SDK subscription support changing](https://zed.dev/blog/anthropic-subscription-changes), Google's [Gemini CLI deprecation](https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/), and [Antigravity's unclear support for the Agent Client Protocol (ACP)](https://github.com/google-antigravity/antigravity-cli/issues/31), vendor-neutral tools matter more than ever.\n\nLuckily, `agent-shell`\n\nis built on [ACP](https://agentclientprotocol.com/), which sidesteps the problem. When a vendor changes course, you can swap providers and keep using your preferred tool. No need to reshape that hard-earned muscle memory.\n\nOn that note, the list of agents supported by `agent-shell`\n\ncontinues to grow.\n\nHere's a list of the latest agents now supported by `agent-shell`\n\n.\n\nSpeaking of vendor-neutral tools being more important than ever, there are a couple of ways to help keep `agent-shell`\n\ngoing. Some cost money, others just a click. All are appreciated ;)\n\n`agent-shell`\n\nhas been attracting quite a few users. It's nice to hear folks are using `agent-shell`\n\non a daily basis. They are often relieved `agent-shell`\n\nexists as an alternative to AI-tools commonly mandated at work. Those tools have well-funded engineering teams behind them, while `agent-shell`\n\nis just me, an indie dev ;) Time spent on `agent-shell`\n\nis time away from work that pays the bills, so if it's useful to you, please consider [sponsoring](https://github.com/sponsors/xenodium) the project.\n\nEvery individual sponsorship genuinely helps keep the project going. And if your employer benefits from your `agent-shell`\n\nuse, they're typically in a position to contribute at a scale individuals can't, so nudge them to chip in too.\n\nHey, I'm looking at you, folks at **Google**, **GitHub**, **GitLab**, **NVIDIA**, **Oracle**, **Red Hat**, Yelp, Venmo, **ARM**, **Spotify**, **Augment Code**, Hinge, Mercury, Nubank, Veeva… Some of you are using `agent-shell`\n\n. Nudge your employer ;)\n\n[Anthropic offers 6 months of free Claude Max 20x](https://claude.com/contact-sales/claude-for-oss) for qualifying open-source projects with at least 5,000+ GitHub stars. [Starring agent-shell](https://github.com/xenodium/agent-shell/) costs nothing and can save me some money. We're only a 5th of the way there ;) so if you don't mind a couple of clicks, the project can really use [another GitHub star](https://github.com/xenodium/agent-shell/).\n\nSpeaking of GitHub stars, `agent-shell`\n\nis now my most popular Emacs package, recently overtaking [chatgpt-shell](https://github.com/xenodium/chatgpt-shell/).\n\nagent-shell now ships with a brand new, more performant inline markdown renderer. This is the [biggest internal change](https://github.com/xenodium/agent-shell/pull/597) in some time. Enabled by default via `agent-shell-markdown-render-function`\n\n(moving away from the overlay-based renderer in shell-maker).\n\nTable content is now accessible. Point can land on any cell, which wasn't possible with the previous overlay implementation. In addition, tables are now also navigable: `TAB`\n\nand `S-TAB`\n\nmove between cells.\n\nSource-block syntax highlighting is now on by default. The per-snippet copy button is now keyboard-accessible too (previously mouse-click only, due to the overlay implementation).\n\nBlockquotes now render in both shell and viewport. More importantly, you can select text in either a viewport page (or the shell itself), press `r`\n\n(for reply) and the selection becomes a blockquote in a fresh prompt.\n\nViewport\n\nShell\n\nSession restoration got a meaningful overhaul ([#605](https://github.com/xenodium/agent-shell/pull/605) by [@nhojb](https://github.com/nhojb)), now exposed via `agent-shell-session-restore-verbosity`\n\n, with four levels:\n\n`minimal`\n\n(default): title only, so restore is fast and quiet (needs `session/resume`\n\nsupport).`last`\n\n: render the last prompt turn (needs `session/load`\n\nsupport).`first-last`\n\n: render the first and last prompt turns (needs `session/load`\n\nsupport).`full`\n\n: replay the whole conversation (needs `session/load`\n\nsupport).Feature availability is agent-specific, requiring either `session/resume`\n\nor `session/load`\n\nrequest support. `agent-shell`\n\ndegrades as needed, ultimately falling back to creating a new session.\n\nNote that anything but `minimal`\n\nverbosity is fairly new, so please [report bugs or rough edges](https://github.com/xenodium/agent-shell/issues).\n\nRelatedly, `agent-shell-session-strategy`\n\nnow defaults to `'prompt`\n\n, and `'new-deferred`\n\nhas been retired.\n\nYou can now fork the current session, starting a new shell that shares the conversation history so far and diverges from there. Invoke via `M-x agent-shell-fork`\n\n.\n\nYou can now restart the current shell anew (drop history) via `M-x agent-shell-restart`\n\nor reload (keep history) via `agent-shell-reload`\n\n.\n\nThe new `agent-shell-new-downloads-shell`\n\nand `agent-shell-new-temp-shell`\n\ncommands create agents anchored at either `~/Downloads`\n\nor a temp directory. Both are also reachable via `C-u M-x agent-shell`\n\n.\n\n[acp.el #20](https://github.com/xenodium/acp.el/pull/20) by [@martenlienen](https://github.com/martenlienen) landed support for ACP connections over TRAMP, now making it possible to drive remote agents from `agent-shell`\n\n. Pair it with [agent-shell-tramp](https://github.com/junyi-hou/agent-shell-tramp) for the user-facing integration.\n\nViewport interaction `(setq agent-shell-prefer-viewport-interaction t)`\n\ncontinues to be my primary way to interact with agents. It is focused (see only the latest interaction), fast (single-key bindings: `y`\n\n= yes, `c`\n\n= continue, `m`\n\n= more…), and offers a richer editing experience (dedicated prompt-crafting buffer).\n\nThe viewport is just a viewport to shell content. You can have your cake and eat it too, by jumping to the related shell buffer if needed.\n\nFrom a viewport, you can press `r`\n\nto reply to the latest agent response. In the past, you could only reply to idle agents. You can now press `r`\n\nto reply to busy agents too, automatically queuing requests on submission.\n\nA new (basic) `agent-shell-list-edit-mode`\n\nlets you edit list-style content inside the viewport.\n\nSome commands prompt you to pick one of your active shell buffers (e.g. `M-x agent-shell-send-region-to`\n\n). The picker now shows extra context for each buffer to help you choose.\n\nThe same mechanism is now used by the new `M-x agent-shell-switch-buffer`\n\ncommand. More on the underlying API later.\n\nFolding got smarter ([#608](https://github.com/xenodium/agent-shell/pull/608) by [@codeluggage](https://github.com/codeluggage)):\n\n`M-x agent-shell-ui-toggle-fragment`\n\ntoggles the fragment at or near point (DWIM).`M-x agent-shell-ui-toggle-all-fragments`\n\ncycles globally between all-expanded and all-collapsed.Together they replace the previous `agent-shell-ui-toggle-fragment-at-point`\n\n, which is now an internal primitive.\n\n`c`\n\njoins the viewport reply gangYou can now press `c`\n\nfrom a viewport to quickly send a \"continue\" request, joining the rest of the single-key reply shortcuts:\n\n`c`\n\n: replies \"continue\" (new)`y`\n\n: replies \"yes\"`m`\n\n: replies \"more\"`a`\n\n: replies \"again\"`1`\n\n… `9`\n\n: replies with the corresponding numbered choice`r`\n\n: opens the reply compose buffer`R`\n\n: same as `r`\n\n, with the agent response quotedTool call status is now rendered as a compact icon-based label by default (`agent-shell--inverse-icon-status-kind-label`\n\n). `agent-shell-styles.el`\n\nships several alternatives, picked via `agent-shell-status-kind-label-function`\n\n.\n\nTo get the previous word-based label back:\n\n```\n(setq agent-shell-status-kind-label-function\n      #'agent-shell--inverse-label-status-kind-label)\n```\n\nYou can now set a default model and session mode for Codex via `agent-shell-openai-default-model-id`\n\nand `agent-shell-openai-default-session-mode-id`\n\n([#405](https://github.com/xenodium/agent-shell/pull/405) by [@robjgray](https://github.com/robjgray)). Both must match an ID from Codex's \"Available models\" / \"Available modes\" listings.\n\nHeaders had a few rendering hiccups on Emacs 31. These are now fixed ([#588](https://github.com/xenodium/agent-shell/pull/588) and [#590](https://github.com/xenodium/agent-shell/pull/590) by [@nhojb](https://github.com/nhojb), [#463](https://github.com/xenodium/agent-shell/pull/463) by [@ftlio](https://github.com/ftlio)). Warnings from deprecated `when-let`\n\nusage were also cleared.\n\n`wl-paste`\n\nis now a supported clipboard handler for pasting images on Wayland ([#461](https://github.com/xenodium/agent-shell/pull/461) by [@martenlienen](https://github.com/martenlienen)).\n\nSimilarly, pasting clipboard images now works on Windows via PowerShell ([#572](https://github.com/xenodium/agent-shell/pull/572) by [@repelliuss](https://github.com/repelliuss)).\n\nThe graphical header got minor tweaks here and there. For example, thought level is now displayed in the header. It can be changed via `M-x agent-shell-viewport-set-session-thought-level`\n\nas well as menus ([#601](https://github.com/xenodium/agent-shell/pull/601) by [@martenlienen](https://github.com/martenlienen)).\n\nagent-shell now supports ACP session config options ([#553](https://github.com/xenodium/agent-shell/pull/553) by [@greggroth](https://github.com/greggroth) and [#613](https://github.com/xenodium/agent-shell/pull/613) by [@catern](https://github.com/catern)). Bind `C-c C-s`\n\n(or call `agent-shell-set-session-config-option`\n\n) to pick from the options the agent advertises. Broadcasted as `config-option-update`\n\nand available externally via `agent-shell-subscribe-to`\n\n.\n\nYou can now skip interrupt confirmations by unsetting `agent-shell-confirm-interrupt`\n\n([#424](https://github.com/xenodium/agent-shell/pull/424) by [@emil-e](https://github.com/emil-e)).\n\nYou can now resume an existing session by its ID via `M-x agent-shell-resume-session`\n\n([#332](https://github.com/xenodium/agent-shell/pull/332)). Primarily useful for external integrations.\n\nYou can now use `agent-shell-outgoing-request-decorator`\n\nto tag or transform outgoing requests.\n\n`agent-shell-subscribe-to`\n\nnow broadcasts `idle`\n\nevents ([#509](https://github.com/xenodium/agent-shell/pull/509) by [@arthurgleckler](https://github.com/arthurgleckler)).\n\n`agent-shell-shell-buffer`\n\nreturns the underlying shell buffer for the current context.\n\n`agent-shell-goto-last-interaction`\n\njumps to the latest prompt/response pair, while `agent-shell-interaction-at-point`\n\nreturns the interaction at point as data.\n\n`agent-shell-status`\n\nreturns `'busy`\n\n, `'blocked`\n\n, or `'ready`\n\nstatus for any shell buffer.\n\nThe agent-supplied session title is now exposed via the `session-title-changed`\n\nevent (delivered via `agent-shell-subscribe-to`\n\n) ([#559](https://github.com/xenodium/agent-shell/pull/559) by [@smagnuso](https://github.com/smagnuso)). Can be handy for buffer names, bookmarks, or recent listings.\n\nThe `agent-shell`\n\nfamily of third-party packages keeps growing. Recent additions:\n\n`agent-shell`\n\nvia `agent-shell`\n\nevents.`agent-shell`\n\nstatus overlay via a floating dashboard.`agent-shell`\n\n.Thank you to all contributors for these improvements!\n\n`agent-circus`\n\nto README.org (`agent-shell-idle-alert-functions`\n\n(`R`\n\n(`agent-shell-list`\n\n(`/`\n\ncompletion regression in viewport buffers (`agent-shell-restore-context`\n\ndefcustom (`agent-shell-hermes-acp-command`\n\n(`.agent-shell/`\n\nto `.git/info/exclude`\n\ninstead of `.gitignore`\n\n(`agent-shell-hermes--ascii-art`\n\n(`.agent-shell/`\n\ndirectory at risk when switching git branches`agent-shell-viewport-reply-1`\n\nerrors with \"Text is read-only\"`agent-shell-mode-hook`\n\ntiming makes subscribing to events difficult`xclip`\n\nclipboard handler silently saves text as PNG in terminal mode`session/prompt`\n\nresponse`image-type`\n\n: Invalid image type `'svg`\n\non calling agent-shell`font-get :size`\n\nreturns 0`agent-shell-diff-accept-all`\n\n/ `-reject-all`\n\nnow focus the originating shell`wl-paste-image-handler`\n\nbreaks pasting text`insert`\n\nediting mode while pressing up/down arrows`agent-shell-get-config`\n\ndoes not work in an `agent-shell-command-prefix`\n\nfunction`request_permission`\n\narrives before `tool_call_update`\n\npopulates `rawInput`\n\nBeyond what's showcased, I've poured much love and effort into polishing the `agent-shell`\n\nexperience. Interested in the nitty-gritty? Have a look through [my regular commits](https://github.com/xenodium/agent-shell/commits/main/).\n\nIf [agent-shell](https://github.com/xenodium/agent-shell) is useful to you, please consider [sponsoring](https://github.com/sponsors/xenodium) the project. I'm now back to working on `agent-shell`\n\ndaily.\n\nLLM tokens aren't free, and neither is the time dedicated to building this stuff (especially as an indie dev). I also have bills to pay ;)\n\nUnless I can make this work sustainable, I will have to shift my focus to work on something else that is.\n\npowered by [LMNO.lol](https://LMNO.lol)", "url": "https://wpnews.pro/news/agent-shell-0-55-updates", "canonical_source": "https://xenodium.com/agent-shell-0-55-updates", "published_at": "2026-06-11 17:17:57+00:00", "updated_at": "2026-06-11 17:34:53.535678+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "ai-products", "large-language-models", "artificial-intelligence"], "entities": ["xenodium", "agent-shell", "Emacs", "ACP", "Anthropic", "Google", "Gemini CLI", "Antigravity"], "alternates": {"html": "https://wpnews.pro/news/agent-shell-0-55-updates", "markdown": "https://wpnews.pro/news/agent-shell-0-55-updates.md", "text": "https://wpnews.pro/news/agent-shell-0-55-updates.txt", "jsonld": "https://wpnews.pro/news/agent-shell-0-55-updates.jsonld"}}