# LispM > A Lisp Machine for agents. AI agents that run inside Emacs. Their conversations are org documents, their tools are Lisp, and Emacs itself is the harness. ## Download LispM for Mac 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. 1. **Open Terminal.** It is in Applications, in the Utilities folder; or press Command-Space and type Terminal. 2. **Paste this line, and press Return.** ```sh curl -fsSL https://lispm.ai/install.sh | sh ``` 3. **LispM opens.** A 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](https://github.com/LispMachineLab/lispm-desktop/blob/main/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. ## The editor, the operating system and their agents, one world. 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. - **Conversations are documents**: Each agent's chat is an org document, and that document is its context. - **Tools are Lisp**: An agent's tools are Elisp functions. It writes Lisp to combine them, and drives Emacs itself. - **Approvals are TODOs**: A command or an edit waits as an org TODO entry until you allow it. - **Memory is git**: What agents remember is org files under git. ## Already use Emacs? Each project also stands on its own, in your own Emacs. Each project's section ends with how. ## LispM Agent: Emacs is the harness. 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. - **Ask, and it works in your project.** It reads the code, asks before it runs a command or changes a file, writes the fix and runs the tests. - **Any model**: Any endpoint speaking the OpenAI Chat Completions API or the Anthropic Messages API, local or hosted. - **Many agents**: Run several in a project, each in a session you can come back to. - **Tools on demand**: A core set of tools, and the rest, MCP servers among them, found when a session needs them. - **Woken by Emacs**: Hooks and timers start agents, and agents delegate work to each other. The agents, in your own Emacs 30.1 or later. Then M-x lispm in any project. ```elisp (use-package lispm :vc (:url "https://github.com/LispMachineLab/lispm-agent" :rev :newest) :config (lispm-mode-line-mode 1)) ``` Repository: https://github.com/LispMachineLab/lispm-agent ## LispM Desktop: A desktop for your agents. An Emacs distribution built around LispM Agent, laid out as Mac OS 9's desktop and ready from the first start. - **Every project, a workspace.** A desktop, a Finder for your files, and an editor with a workspace for each project, its files, agents and shells together. - **Every agent, one sidebar.** LispM's agents, Claude Code, Codex and Hermes work side by side, every session listed in the sidebar to resume where it ran. - **Make it yours.** Drag windows off the desktop, hide it and bring it back in a click, and change the look from the Control Strip. - **Ready at once**: The first start asks for vim or Emacs keys and an appearance, then installs the rest. - **Two appearances**: Platinum, Mac OS 9's own greys, and Dracula. - **Leaves yours alone**: Try it with its own init directory; your configuration is not touched. What LispM.app runs, in your own Emacs 30.1 or later with SVG, git and curl, on macOS or GNU/Linux. ```sh git clone https://github.com/LispMachineLab/lispm-desktop ~/lispm-desktop emacs --init-directory ~/lispm-desktop ``` Repository: https://github.com/LispMachineLab/lispm-desktop ## LispM Browser: The web, inside Emacs. A WebKit browser in Emacs: tabs, history and bookmarks, the keyboard as Vimium uses pages, and Chrome extensions. - **Browse from the keyboard.** The location field takes an address or a search; f labels every link in sight, and typing a label follows it. ### Chrome extensions, inside Emacs. 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. - **From the Web Store**: 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. - **On the toolbar**: Each pinned extension has its button there, badge and all: a click opens its popup under it, a right click its menu. - **A page of their own**: lispm://extensions, like chrome://extensions: turn them on and off, see what they may do, reload, remove, or load an unpacked one. - **And from the keyboard**: M-e presses an extension's button for the page in front, and every action is a command, its questions asked in the minibuffer. - **Tabs**: Every page a tab, with its icon, history and bookmarks kept as Emacs keeps them. - **Steady**: Closing pages and running their scripts no longer crashes Emacs on macOS. - **On its own**: Any Emacs built with xwidgets runs it; LispM Desktop makes it one of its applications. The browser, in an Emacs 30.1 or later built with xwidgets. ```elisp (package-vc-install "https://github.com/LispMachineLab/lispm-browser") (require 'lispm-browser) (lispm-browser-setup) ``` Repository: https://github.com/LispMachineLab/lispm-browser ## Links - [LispMachineLab on GitHub](https://github.com/LispMachineLab) - [The film](https://lispm.ai/assets/video/lispm-film.mp4): A 57-second film: from the Lisp Machines to LispM Desktop, an agent fixing a failing test inside Emacs, Claude Code, Codex and Hermes side by side, and windows dragged off the desktop. - [Model servers for LispM Agent](https://github.com/LispMachineLab/lispm-agent#backends) All three projects are free software, under the GNU Affero General Public License, version 3 or later. The film's photographs are from Wikimedia Commons; their authors and licenses are credited at its end.