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
CLI

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
All reasons and checks

lambda-symbolics/autolith

Install

Manual install

curl -fsSL https://sh.lambda-symbolics.com/autolith | sh

The installer for Linux, macOS and BSD. Read the script before running it.

Access and checks

How we review

Broad 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 mode

Limitations

  • 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.

CLI tools

A 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

CLIBroad access3.5KRepository stars
Official

A personal AI agent for the terminal with shell, Python, web and local models, one of the earliest agent CLIs

CLIExtended access4.5KRepository stars

A tmux-based TUI that runs Claude Code, Codex and other agents in one list: status, quick prompts, worktrees and diff review

CLIBroad access625Repository stars

Autocontext runs an agent task through evaluation and keeps traces, reports and a playbook so the next run starts from accumulated lessons

SkillBroad access1.3KRepository stars

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

CLIExtended access8.1KRepository stars

A local dashboard for running many agents across machines: memory, code graph and agent-to-agent messaging

CLIBroad access839Repository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialRepository starsMain difference
Autolith: a terminal agent in Common Lisp (this entry)no521
ANUSyes6,555a terminal agent that edits project files but not its own core
Grok Buildyes27,589xAI's terminal agent that reads Claude Code skills and plugins
OpenCodeno222,896an 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.

README badge

Report a problem

Foxx AIAutolith: a terminal agent in Common Lisp
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.