Install
elanous runs on Bun (not Node) on macOS, Linux and WSL2; Windows native PowerShell is experimental.
One line
curl -fsSL https://github.com/ElanvitalAI/elanous/releases/latest/download/install.sh | bash
Or with npm (needs Bun on your PATH):
npm install -g elanous
Coming from monad (0.1.x)? Don't use monad update to move — see Moving from monad.
The installer:
- downloads the latest release and checks it against
SHA256SUMS— a mismatch stops the install, - installs
bunwith its official installer if it is missing, at the version pinned in.bun-version(turn this off with--no-bootstrap-bun;ELANOUS_BUN_VERSION=latestlifts the pin), - installs into
~/.local/share/elanous(override with--prefix PATHorELANOUS_INSTALL_PREFIX), - adds
~/.local/share/elanous/binto your shellPATH(skip with--no-modify-path), - if a command it needs is missing, names all of them in one install line (without
sudowhen you are root), - ends by telling you the next step based on what it found (for example, whether you are logged in yet).
Open a new shell, then check:
elanous --version # prints the version and the commit it was built from
elanous doctor # what this machine still needs — a report, not a gate
Pin a version with ELANOUS_VERSION (Elanous releases start at 0.2.0):
curl -fsSL https://github.com/ElanvitalAI/elanous/releases/latest/download/install.sh | ELANOUS_VERSION=0.2.0 bash
Windows (native PowerShell) — experimental
irm https://github.com/ElanvitalAI/elanous/releases/latest/download/install.ps1 | iex
elanous --version
It installs into %LOCALAPPDATA%\elanous (override with -Prefix PATH or ELANOUS_INSTALL_PREFIX) with the same layout as below — current is a directory junction, so no administrator rights are needed — and adds bin to your PowerShell profile (skip with -NoModifyPath). WSL2 remains the recommended way to run the harness on Windows.
From a bare Linux machine
A bare image may not even have curl, so install the basics first:
sudo apt-get update && sudo apt-get install -y curl ca-certificates unzip git
curl -fsSL https://github.com/ElanvitalAI/elanous/releases/latest/download/install.sh | bash
source ~/.bashrc
elanous --version && elanous doctor
That is enough to boot. To run the daemon and the harness, let doctor install what they need — build tools and the node-pty rebuild, a pinned static gh, rg, Node and the Codex CLI (about 80 seconds on a bare Debian 12 VM):
elanous doctor --fix --yes --sudo
- ⚠️ Do not install
ghfrom Debian/Ubuntu apt — those packages (Debian 12: 2.23, Ubuntu 24.04: 2.45) are older than the 2.80 the harness needs.elanous doctor --fix --yesfetches a pinned one. - If terminal features stay dark, run
elanous doctor --fix --yesagain — it rebuildsnode-ptyfor the installed version. Re-running the installer on the same version does not. - Prefer to install by hand?
sudo apt-get install -y build-essential ripgrep, Node 20+ andnpm install -g @openai/codexare the equivalent.
Run the daemon in the background
elanous nexus install --systemd-user # Linux: active, enabled, and survives reboots without a login
elanous nexus install --launchd # macOS
The daemon's port answers about 30 seconds after it starts.
From a checkout
git clone https://github.com/ElanvitalAI/elanous && cd elanous
bash scripts/install.sh # same installer, installing this checkout (folder named by commit)
Layout
~/.local/share/elanous/
versions/<version>/ one folder per installed version (older ones are kept)
current -> versions/… the active version
bin/elanous the command on your PATH
install.json what is installed, from where, which commit
Your settings, logins and logs live in ~/.elanous; your memory lives in ~/.local/share/elanous/memory (inside the install folder). The installer never touches either, and the uninstaller removes only what the installer created (versions/, current, bin/, install.json) and names everything it keeps.
Update, roll back, uninstall
elanous self-update # latest release; the previous version stays for rollback
elanous self-update --version 0.1.1 # a specific release
ln -sfn versions/<previous> ~/.local/share/elanous/current # roll back
curl -fsSL https://github.com/ElanvitalAI/elanous/releases/latest/download/uninstall.sh | bash
If you run the background service, restart it after an update — see troubleshooting.
Known limits
- On Linux,
node-ptyhas no prebuilt binary; elanous falls back to Bun's own PTY and nothing breaks.elanous doctor --fix --yesrebuilds it when a C++ toolchain is present. - If
bun installsilently skips an optional dependency on Linux, check whetherTMPDIRand Bun's cache are on different filesystems —elanous doctorreports it asbun-tmpdir, andelanous doctor --fix --yesadds the fix to your shell startup file. See troubleshooting.
Next: quickstart.