Autolith: a terminal agent in Common Lisp
Autolith
A terminal AI agent living inside a Common Lisp image: it edits its own code, rolls back to earlier generations and connects MCP servers
- 521 ★ on the repository
- Last commit
- ISC
Broad access
Why this level
- The agent runs commands in your terminal and changes its own code
- Installation goes through a script from the internet, provider keys live in the configuration, and MCP servers widen the agent's permissions
Install
Manual install
curl -fsSL https://sh.lambda-symbolics.com/autolith | shThe installer for Linux, macOS and BSD. Read the script before running it.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent runs commands in your terminal and changes its own code
- Installation goes through a script from the internet, provider keys live in the configuration, and MCP servers widen the agent's permissions
This is third-party code. Review the repository files before installing.
What it does
Autolith, or AL, starts in your terminal as a standalone agent. It runs inside a live Common Lisp image, so it can see its own code and current state and change both while it works on a task. That is how the agent adapts to your habits and to the job at hand. Self-editing does not leave the agent without a safety net. The author says Autolith keeps generations of the image and you can return to any of them. If the image is broken, the agent loads a recovery image, looks for the cause and optionally fixes it. Providers connect with the autolith auth command: the README lists chatgpt, copilot, gemini, grok, nous, anthropic, fireworks, opencode, openrouter and mistral, some through a web login and some through an API key. Autolith is also an MCP client over stdio and Streamable HTTP: servers are described in an mcp.sexp file, and the approval mode (prompt, read-only, allow or deny) is set per server.
Who it is for. For developers who want a terminal agent with a modifiable core and an interest in Common Lisp, and for people building their own environment around an agent.
Good fit when
- You want a terminal agent that picks among several providers and keeps a login for each through autolith auth
- You want the agent to adapt its own behavior to your work and to be able to return to an earlier image generation
- You work on BSD: builds exist for FreeBSD, NetBSD and OpenBSD on x86_64
- The agent needs a local stdio MCP server and a remote HTTPS one, each with its own approval mode
- A repository must not be able to enable MCP servers for itself: Autolith forbids this by default, and trusted directories are listed in directory-scopes.sexp
Not a fit when
- You need a plugin for Claude Code or Codex: Autolith is a separate agent and does not embed into another program
- Your team does not want the agent changing its own code while it works: self-modification is the core idea
- You need stable releases without surprises: the repository ships versions very often, and docs/releases holds dozens of release notes
- Your platform is not on the list: Linux, macOS, FreeBSD, NetBSD, OpenBSD and Windows on x86_64 are supported, plus aarch64 for Linux and macOS
Example request
Install Autolith, connect a provider with autolith auth and add my local MCP server to mcp.sexp with the prompt approval modeLimitations
- A login with at least one model provider is required. Which providers are reachable from Russia depends on the provider and was not checked for this card.
- The installer runs as curl ... | sh. The README itself advises reading the script before running it.
- init.lisp files in trusted directories run as full Common Lisp and can leave side effects until a restart.
- Sandbox mode does not confine an external MCP server: a call needs a separate approval.
- The project moves fast: the author keeps a roadmap and keeps refining the configuration format.
How to disable. The author describes no dedicated uninstall command. Remove the binary release with the files the script installed, and disconnect MCP servers by deleting their entries from mcp.sexp in the autolith configuration directory.
FAQ
How do I install Autolith on a Mac or Linux?
With curl -fsSL https://sh.lambda-symbolics.com/autolith | sh. For Nix there is nix run github:lambda-symbolics/autolith. On Windows the releases page carries a ZIP: extract it into a writable folder and run .\bin\autolith.cmd from PowerShell.
What does Autolith do if it stops starting after a self-change?
According to the author it loads a recovery image, diagnoses the problem and optionally fixes it. Image generations are also kept, so you can return to one of them.
Can I connect MCP servers to Autolith?
Yes. Autolith works as an MCP client over stdio and Streamable HTTP. Servers are described in mcp.sexp in the configuration directory, and HTTP servers need HTTPS except for a loopback address.
Which MCP approval modes does Autolith have?
One mode is chosen per server: prompt applies the session's normal permissions, read-only lets through only listed tools annotated as read-only, allow lets everything through, and deny blocks everything, including in a full-access session.
Which platforms does Autolith support?
Linux and macOS on x86_64 and aarch64, FreeBSD, NetBSD, OpenBSD and Windows on x86_64. Binary releases sit on the releases page, and a Nix package is ready.
Discussion
No questions or reviews yet.
Related
CLI toolsA local-first AI agent running on your own machine via llama.cpp that drives a browser, edits files, runs approved commands and remembers context across session
A personal AI agent for the terminal with shell, Python, web and local models, one of the earliest agent CLIs
A tmux-based TUI that runs Claude Code, Codex and other agents in one list: status, quick prompts, worktrees and diff review
Autocontext runs an agent task through evaluation and keeps traces, reports and a playbook so the next run starts from accumulated lessons
A Go CLI that configures the AI coding agents you already use: it gives them shared memory, a workflow and deterministic steps without replacing the agents them
A local dashboard for running many agents across machines: memory, code graph and agent-to-agent messaging
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Repository stars | Main difference |
|---|---|---|---|
| Autolith: a terminal agent in Common Lisp (this entry) | no | 521 | |
| ANUS | yes | 6,555 | a terminal agent that edits project files but not its own core |
| Grok Build | yes | 27,589 | xAI's terminal agent that reads Claude Code skills and plugins |
| OpenCode | no | 222,896 | an open-source terminal agent without a self-modifying image |
README in short
The project description: a terminal agent in a live Common Lisp image with attention to ergonomics, visuals and XDG standards. Linux, macOS and BSD have a one-line installer, a Nix package is ready, and the agent updates with autolith update or the (update) function. A Friends of Autolith section lists related projects. The docs split into a guide, architecture, skills, MCP and RLM, with contributor rules kept apart.