LispM Agent
The agents, in your own Emacs 30.1 or later. Then M-x lispm in any project.
(use-package lispm
:vc (:url "https://github.com/LispMachineLab/lispm-agent" :rev :newest)
:config (lispm-mode-line-mode 1))
LispM
AI agents that run inside Emacs. Their conversations are org documents, their tools are Lisp, and Emacs itself is the harness.
On a Lisp Machine everything was a live Lisp object, and the editor and the system were one. Its inhabitants were programs. Emacs kept that way of working, if not the machine; LispM makes room in it for agents.
Each agent's chat is an org document, and that document is its context.
An agent's tools are Elisp functions. It writes Lisp to combine them, and drives Emacs itself.
A command or an edit waits as an org TODO entry until you allow it.
What agents remember is org files under git.
LispM Agent
Talk to an agent in a chat laid out like Claude Code's. Underneath, the chat is an org document, its tools are Elisp, and it can evaluate Lisp in the Emacs you are using.
It reads the code, asks before it runs a command or changes a file, writes the fix and runs the tests.
Any endpoint speaking the OpenAI Chat Completions API or the Anthropic Messages API, local or hosted.
Run several in a project, each in a session you can come back to.
A core set of tools, and the rest, MCP servers among them, found when a session needs them.
Hooks and timers start agents, and agents delegate work to each other.
LispM Desktop
An Emacs distribution built around LispM Agent, laid out as Mac OS 9's desktop and ready from the first start.
A desktop, a Finder for your files, and an editor with a workspace for each project, its files, agents and shells together.
LispM's agents, Claude Code, Codex and Hermes work side by side, every session listed in the sidebar to resume where it ran.
Drag windows off the desktop, hide it and bring it back in a click, and change the look from the Control Strip.
The first start asks for vim or Emacs keys and an appearance, then installs the rest.
Platinum, Mac OS 9's own greys, and Dracula.
Try it with its own init directory; your configuration is not touched.
LispM Browser
A WebKit browser in Emacs: tabs, history and bookmarks, the keyboard as Vimium uses pages, and Chrome extensions.
The location field takes an address or a search; f labels every link in sight, and typing a label follows it.
On macOS 15.4 and later, WebKit runs Chrome extensions itself, as Safari runs its own. The APIs WebKit lacks are filled in, so even heavy extensions work: the Rabby wallet runs its worker, its page provider and its popup, and its approvals open in windows of their own.
The puzzle piece opens the Chrome Web Store; Add to LispM on an extension's page adds it: its signature is checked, and what it may do is asked first.
Each pinned extension has its button there, badge and all: a click opens its popup under it, a right click its menu.
lispm://extensions, like chrome://extensions: turn them on and off, see what they may do, reload, remove, or load an unpacked one.
M-e presses an extension's button for the page in front, and every action is a command, its questions asked in the minibuffer.
Every page a tab, with its icon, history and bookmarks kept as Emacs keeps them.
Closing pages and running their scripts no longer crashes Emacs on macOS.
Any Emacs built with xwidgets runs it; LispM Desktop makes it one of its applications.
LispM is a Mac app. Emacs, the editor it is made of, comes inside it: you need not know Emacs to begin.

macOS 11 or later, on Apple silicon or Intel. Free.
It is in Applications, in the Utilities folder; or press Command-Space and type Terminal.
curl -fsSL https://lispm.ai/install.sh | shA few minutes later, once Emacs and LispM are in. From then on it is in Applications with your other apps.
The line runs install.sh, which installs Apple's command line tools if they are missing, puts LispM.app in Applications and LispM's files in ~/.lispm. Run the line again to update; delete both to uninstall.
Each project also stands on its own, in your own Emacs.
The agents, in your own Emacs 30.1 or later. Then M-x lispm in any project.
(use-package lispm
:vc (:url "https://github.com/LispMachineLab/lispm-agent" :rev :newest)
:config (lispm-mode-line-mode 1))What LispM.app runs, in your own Emacs 30.1 or later with SVG, git and curl, on macOS or GNU/Linux.
git clone https://github.com/LispMachineLab/lispm-desktop ~/lispm-desktop
emacs --init-directory ~/lispm-desktopThe browser, in an Emacs 30.1 or later built with xwidgets.
(package-vc-install "https://github.com/LispMachineLab/lispm-browser")
(require 'lispm-browser)
(lispm-browser-setup)Then give the agents a model. Claude Code, Codex and Hermes, once installed, show beside LispM's own agents, which need only OPENAI_API_KEY or ANTHROPIC_API_KEY set in your shell's profile, where LispM.app reads it, or in your own Emacs's environment. For any other server, local or hosted, see Backends.