Installation

Install, verify, update, and uninstall the Fiveonefour CLI.

Requirements

  • OS: macOS or Linux on x86_64 or aarch64
  • Runs: sign-in (ax auth login or AX_API_KEY); sign up for an account. Runs execute in Fiveonefour-managed sandboxes, so no local Docker or provider keys are needed. See Model providers

Quick install

curl -fsSL https://dl.514.ax/install.sh | bash -s -- axax --help

Then sign up for an account, and sign in with ax auth login.

What the install script does

  1. Downloads the release archive for your OS/arch and verifies its SHA-256 checksum (and GPG signature when gpg is present).
  2. Installs it under ~/.fiveonefour/versions/axp/<channel>/<version>/.
  3. Writes a version-pinning wrapper at ~/.fiveonefour/bin/ax and puts ax on your PATH (a symlink into a directory already on PATH, or a PATH export appended to your shell rc).

Install with Homebrew

If you use Homebrew (including Linuxbrew), install the latest stable CLI from our tap:

brew install 514-labs/tap/ax
ax --help

Then sign up for an account, and sign in with ax auth login.

Homebrew tracks the latest stable release only. To install a specific version, a dev or branch build, or to pin versions, use Quick install.

Versions

Install a specific version by appending the version identifier to the quick install command:

curl -fsSL https://dl.514.ax/install.sh | bash -s -- ax@0.4.0-rp

List available versions (pass stable, dev, or all after --list to narrow the channel):

curl -fsSL https://dl.514.ax/install.sh | bash -s -- --list

Check the active version:

ax --version

Update to the latest stable release:

ax update

Homebrew installs update with brew upgrade ax instead.

Version pinning

The ax command is a small wrapper. Each run, it takes the version from the first of these it finds:

  1. the AX_VERSION env var (a version id or branch:<name>)
  2. the nearest .ax-version file
  3. the latest installed stable

A pinned version you don't have yet is downloaded on first use. Legacy AXP_VERSION and .axp-version still work. Homebrew installs skip the wrapper.

Install location

By default, Fiveonefour installs into ~/.fiveonefour. Set FIVEONEFOUR_HOME before running the installer if you need a different install root.

Telemetry

The installer, uninstaller, and CLI send a bounded product-telemetry event to Fiveonefour. Each event carries a random install id (cid) stored in ~/.fiveonefour/machine_id, plus command name, success, exit code, duration, CLI version, OS, and architecture. It does not collect prompts, SQL, credentials, command arguments, or hardware identifiers. Until you sign in, it also does not collect user or organization identity. Events that fail to send are kept locally for up to 24 hours and retried.

The first time a cid is minted — install, or the first CLI run on a machine that has none — the command names what is collected, this page, and how to opt out. Authenticating the CLI sends one alias event that links that cid to your account; anonymous rows are not rewritten. Deleting ~/.fiveonefour/machine_id starts a fresh, unlinked identity.

Disable it for the installer:

DO_NOT_TRACK=1 curl -fsSL https://dl.514.ax/install.sh | bash -s -- ax

Disable it for a CLI run:

DO_NOT_TRACK=1 ax experiment run experiment.yaml

For persistent opt-out, set telemetry_enabled = false in ~/.fiveonefour/config.toml. Opt-out sends nothing at all, including the install id: the cid file is neither minted nor read. Opting out also deletes any events still waiting to be retried in ~/.fiveonefour, without sending them.

In a recognized CI environment (a provider variable such as GITHUB_ACTIONS, GITLAB_CI, BUILDKITE, or CI=true), the CLI sends no command telemetry. To keep sending from CI, set AX_TELEMETRY_IN_CI=1; an explicit opt-out still wins.

Coding-agent sessions

When you run ax from a shell tool inside Claude Code or Codex, the CLI also tells your AX account which agent session it ran in, so the AX plugin can offer to send feedback at the end of that session. The report is signed in only and carries the agent client, the session id the agent already exports to its shell (CLAUDE_CODE_SESSION_ID or CODEX_SESSION_ID), and the command name (for example experiment.list). It never carries arguments, output, file names, or paths. It runs alongside your command, is skipped when you are signed out, and never changes the command's output or exit code.

Turn it off with AX_AGENT_SESSION_REPORT=0. Any of these also turns it off:

Opt-outValue
DO_NOT_TRACK1
AX_FEEDBACK_OPT_OUTtrue
AX_TELEMETRY0
AX_TELEMETRY_ENABLEDfalse
telemetry_enabled in ~/.fiveonefour/config.tomlfalse

Troubleshooting

ax: command not found after install

The installer writes the wrapper to ~/.fiveonefour/bin/ax. If that directory was not already on PATH, it either symlinks into a PATH directory or appends an export to your shell rc.

Open a new shell, or source the rc file the installer updated:

# zsh
source ~/.zshrc

# bash
source ~/.bashrc

Or add the path for the current session:

export PATH="$HOME/.fiveonefour/bin:$PATH"
ax --help

If you installed with FIVEONEFOUR_HOME=<path>, use <path>/bin instead. See also Troubleshooting.

Checksum mismatch

If SHA-256 verification fails, retry the install. A transient download glitch is the usual cause. If it fails again with the same digest error, report it: the published archive and checksum should always match.

Uninstall

Uninstall the wrapper and cached CLI versions:

bash <(curl -fsSL https://download.514.ax/uninstall.sh) --yes

Homebrew installs uninstall with brew uninstall ax instead.

The uninstaller removes installer-managed files only. Other files under ~/.fiveonefour, such as credentials or config, are left in place.