Installation
Rex, Axel, and the harness your agents run.
Requirements
- macOS (Linux works for the CLI; the floating panes need Rex).
- Rex, the terminal Axel lives in. Outside Rex, Axel runs the same interface inline in your terminal.
- A harness: Claude Code, Codex or OpenCode, installed and logged in.
Install Axel
curl -fsSL https://axel.md/install | sh
axelThe script downloads the latest release for your Mac, checks its sha256 and puts axel in
~/.local/bin (set AXEL_INSTALL_DIR to choose another place). Every commit on main
that passes CI is released; run it again to update, or pass a version:
curl -fsSL https://axel.md/install | sh -s -- 0.3.80.
With Homebrew
brew install scarce/axel/axelbrew upgrade then brings the newest build. Use the full name: Homebrew core has an
unrelated axel.
From source
With Rust and just:
git clone https://github.com/scarce/axel && cd axel
just install # release build, linked into ~/.local/bin and ~/.cargo/bin~/.local/bin usually comes before Homebrew on your PATH, so a source build wins over
the Homebrew one until you remove ~/.local/bin/axel.
First run
The first time, axel runs axel setup before anything else:
- it checks this machine: Rex, git, and which harnesses (Claude Code, Codex, OpenCode) and ACP adapters are installed, and offers to install a missing adapter;
- it creates your first agent: a name, its harness, a few skills, a colour and a runtime mode;
- for Claude Code on autopilot, it offers to accept Claude Code's one-time bypass prompt;
- then it opens the launcher.
It also creates your owner key (an Ed25519 key kept in the macOS keychain) and the local
database at ~/.axel/axel.db. Run axel setup again any time to add another agent, and
axel doctor to check everything is in order.
Managed sessions (recommended)
Axel drives agents best over the Agent Client Protocol: you then work in Axel's own thread view, and permissions are decided by your policies rather than by a dialog in some pane.
- Claude Code: nothing to install. Axel's adapter is built in and drives the
claudeCLI directly; no Node or npm needed. - Codex: nothing to install either. Axel's adapter drives your
codexthroughcodex app-server, so it always runs your Codex version, config and login. - OpenCode: ACP is built into OpenCode itself (
opencode acp).
Without an adapter, an agent runs as its normal CLI in a Rex pane, and reports its status through hooks that Axel installs at launch.
A key binding
Bind Axel to a key in Rex: append
docs/rex-init.lua to
~/.config/rex/init.lua, then run rex config reload.
Claude Code's autopilot prompt
Agents run on autopilot by default: Claude Code starts with bypass permissions, and
Axel's guard hook still refuses irreversible shell commands. Claude Code asks you to accept
that mode once per machine. Accept it the first time, or set it ahead of time in
~/.claude/settings.json:
{ "skipDangerousModePermissionPrompt": true }See Permissions and budgets for the other modes.