Axel
axel

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
axel

The 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/axel

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

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 claude CLI directly; no Node or npm needed.
  • Codex: nothing to install either. Axel's adapter drives your codex through codex 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.

On this page