Agent-Shell 0.55 Updates 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. 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. agent-shell ? 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/ . If 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/ . I'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. With 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. Luckily, agent-shell is 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. On that note, the list of agents supported by agent-shell continues to grow. Here's a list of the latest agents now supported by agent-shell . Speaking of vendor-neutral tools being more important than ever, there are a couple of ways to help keep agent-shell going. Some cost money, others just a click. All are appreciated ; agent-shell has been attracting quite a few users. It's nice to hear folks are using agent-shell on a daily basis. They are often relieved agent-shell exists as an alternative to AI-tools commonly mandated at work. Those tools have well-funded engineering teams behind them, while agent-shell is just me, an indie dev ; Time spent on agent-shell is 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. Every individual sponsorship genuinely helps keep the project going. And if your employer benefits from your agent-shell use, they're typically in a position to contribute at a scale individuals can't, so nudge them to chip in too. Hey, 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 . Nudge your employer ; 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/ . Speaking of GitHub stars, agent-shell is now my most popular Emacs package, recently overtaking chatgpt-shell https://github.com/xenodium/chatgpt-shell/ . agent-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 moving away from the overlay-based renderer in shell-maker . Table 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 and S-TAB move between cells. Source-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 . Blockquotes now render in both shell and viewport. More importantly, you can select text in either a viewport page or the shell itself , press r for reply and the selection becomes a blockquote in a fresh prompt. Viewport Shell Session 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 , with four levels: minimal default : title only, so restore is fast and quiet needs session/resume support . last : render the last prompt turn needs session/load support . first-last : render the first and last prompt turns needs session/load support . full : replay the whole conversation needs session/load support .Feature availability is agent-specific, requiring either session/resume or session/load request support. agent-shell degrades as needed, ultimately falling back to creating a new session. Note that anything but minimal verbosity is fairly new, so please report bugs or rough edges https://github.com/xenodium/agent-shell/issues . Relatedly, agent-shell-session-strategy now defaults to 'prompt , and 'new-deferred has been retired. You 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 . You can now restart the current shell anew drop history via M-x agent-shell-restart or reload keep history via agent-shell-reload . The new agent-shell-new-downloads-shell and agent-shell-new-temp-shell commands create agents anchored at either ~/Downloads or a temp directory. Both are also reachable via C-u M-x agent-shell . 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 . Pair it with agent-shell-tramp https://github.com/junyi-hou/agent-shell-tramp for the user-facing integration. Viewport interaction setq agent-shell-prefer-viewport-interaction t continues to be my primary way to interact with agents. It is focused see only the latest interaction , fast single-key bindings: y = yes, c = continue, m = more… , and offers a richer editing experience dedicated prompt-crafting buffer . The 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. From a viewport, you can press r to reply to the latest agent response. In the past, you could only reply to idle agents. You can now press r to reply to busy agents too, automatically queuing requests on submission. A new basic agent-shell-list-edit-mode lets you edit list-style content inside the viewport. Some commands prompt you to pick one of your active shell buffers e.g. M-x agent-shell-send-region-to . The picker now shows extra context for each buffer to help you choose. The same mechanism is now used by the new M-x agent-shell-switch-buffer command. More on the underlying API later. Folding got smarter 608 https://github.com/xenodium/agent-shell/pull/608 by @codeluggage https://github.com/codeluggage : M-x agent-shell-ui-toggle-fragment toggles the fragment at or near point DWIM . M-x agent-shell-ui-toggle-all-fragments cycles globally between all-expanded and all-collapsed.Together they replace the previous agent-shell-ui-toggle-fragment-at-point , which is now an internal primitive. c joins the viewport reply gangYou can now press c from a viewport to quickly send a "continue" request, joining the rest of the single-key reply shortcuts: c : replies "continue" new y : replies "yes" m : replies "more" a : replies "again" 1 … 9 : replies with the corresponding numbered choice r : opens the reply compose buffer R : same as r , 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 . agent-shell-styles.el ships several alternatives, picked via agent-shell-status-kind-label-function . To get the previous word-based label back: setq agent-shell-status-kind-label-function 'agent-shell--inverse-label-status-kind-label You can now set a default model and session mode for Codex via agent-shell-openai-default-model-id and agent-shell-openai-default-session-mode-id 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. Headers 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 usage were also cleared. wl-paste is 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 . Similarly, pasting clipboard images now works on Windows via PowerShell 572 https://github.com/xenodium/agent-shell/pull/572 by @repelliuss https://github.com/repelliuss . The 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 as well as menus 601 https://github.com/xenodium/agent-shell/pull/601 by @martenlienen https://github.com/martenlienen . agent-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 or call agent-shell-set-session-config-option to pick from the options the agent advertises. Broadcasted as config-option-update and available externally via agent-shell-subscribe-to . You can now skip interrupt confirmations by unsetting agent-shell-confirm-interrupt 424 https://github.com/xenodium/agent-shell/pull/424 by @emil-e https://github.com/emil-e . You can now resume an existing session by its ID via M-x agent-shell-resume-session 332 https://github.com/xenodium/agent-shell/pull/332 . Primarily useful for external integrations. You can now use agent-shell-outgoing-request-decorator to tag or transform outgoing requests. agent-shell-subscribe-to now broadcasts idle events 509 https://github.com/xenodium/agent-shell/pull/509 by @arthurgleckler https://github.com/arthurgleckler . agent-shell-shell-buffer returns the underlying shell buffer for the current context. agent-shell-goto-last-interaction jumps to the latest prompt/response pair, while agent-shell-interaction-at-point returns the interaction at point as data. agent-shell-status returns 'busy , 'blocked , or 'ready status for any shell buffer. The agent-supplied session title is now exposed via the session-title-changed event delivered via agent-shell-subscribe-to 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. The agent-shell family of third-party packages keeps growing. Recent additions: agent-shell via agent-shell events. agent-shell status overlay via a floating dashboard. agent-shell .Thank you to all contributors for these improvements agent-circus to README.org agent-shell-idle-alert-functions R agent-shell-list / completion regression in viewport buffers agent-shell-restore-context defcustom agent-shell-hermes-acp-command .agent-shell/ to .git/info/exclude instead of .gitignore agent-shell-hermes--ascii-art .agent-shell/ directory at risk when switching git branches agent-shell-viewport-reply-1 errors with "Text is read-only" agent-shell-mode-hook timing makes subscribing to events difficult xclip clipboard handler silently saves text as PNG in terminal mode session/prompt response image-type : Invalid image type 'svg on calling agent-shell font-get :size returns 0 agent-shell-diff-accept-all / -reject-all now focus the originating shell wl-paste-image-handler breaks pasting text insert editing mode while pressing up/down arrows agent-shell-get-config does not work in an agent-shell-command-prefix function request permission arrives before tool call update populates rawInput Beyond what's showcased, I've poured much love and effort into polishing the agent-shell experience. Interested in the nitty-gritty? Have a look through my regular commits https://github.com/xenodium/agent-shell/commits/main/ . If 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 daily. LLM 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 ; Unless I can make this work sustainable, I will have to shift my focus to work on something else that is. powered by LMNO.lol https://LMNO.lol