Autolith, or AL, is a terminal agent inside a live Common Lisp image. It can observe, self-modify, discover, introspect its own code, its live state and what it’s doing. This lets Autolith adapt to the user’s preferences or to what is needed for the task. This may sound unstable, but Autolith creates generations of this image your or it can rollback to. Even a full frontal lobotomy is not a showstopper as AL will just reload into a recovery image and diagnose and optionally fix the issue.
Autolith has a moderate focus on good ergonomics, good visuals, following XDG standards and similar, and minimal intrusiveness. It is not a “small game engine”, but it is pretty close to a Lisp Machine.
Autolith supports the following platforms
- Linux (x86_64 + aarch64)
- MacOS (x86_64 + aarch64)
- FreeBSD (x86_64)
- NetBSD (x86_64)
- OpenBSD (x86_64)
- Windows (x86_64)
Adding more platform support is always welcome!
Autolith questions and issues can be discussed on the Lambda Symbolics Zulip.
Standalone binary releases are available for Linux, MacOS, the BSDs and Windows. Nix packages are also available.
On Linux, MacOS and the BSDs, the curl-into-sh installer installs or updates the packaged release for your platform. Inspect the installer script before piping it into a shell, or trust us with your life, hehe.
curl -fsSL https://sh.lambda-symbolics.com/autolith | shOn Windows, download the x86-64 ZIP from the
latest release, extract it into a writable folder, and run
.\bin\autolith.cmd from PowerShell.
Nix also supplies the complete runtime:
nix run github:lambda-symbolics/autolithTo build from a source checkout instead, follow the guide’s Source checkout section.
Authenticate providers either with web flows or API keys:
autolith auth chatgpt
autolith auth copilot
autolith auth gemini
autolith auth grok
autolith auth nous
autolith auth anthropic
autolith auth fireworks
autolith auth opencode
autolith auth openrouter
autolith auth mistralThen start Autolith:
autolithIf you want to pull an update, you can do so easily:
(update)Or do autolith update in your shell.
