acli

One durable command surface for starting, resuming, inspecting, and naming sessions across the AI agent command line tools already installed on your machine.

Install acli

The installer detects your platform, downloads the precompiled binary acli 0.2.1, verifies its published SHA-256 digest, and installs it atomically in ~/.local/bin.

curl -qfsSL https://www.loxal.net/acli/install.sh | bash

No package manager, administrator access, Rust toolchain, Cargo installation, Apple Developer ID, or access to the private source repository is required. You can inspect the installer before running it.

A stable layer over changing provider CLIs

Uniform sessions

Start a new session, resume one, or pass native arguments through Claude Code, Codex CLI, GitHub Copilot CLI, and Gemini CLI with consistent commands.

Cross-provider threads

Inspect available sessions across providers and apply safe display names without silently rewriting provider-owned state.

Compatibility checks

acli doctor checks installed provider versions and the native options on which the normalized interface depends.

Native escape hatch

Raw mode preserves the provider command, terminal, signals, and exit status when exact provider behavior matters more than normalization.

Platforms and requirements

macOS

Apple Silicon and Intel are supported on macOS 11 or newer. The installer verifies each download against its published SHA-256 digest.

Linux

x86_64 glibc Linux is supported and tested on Ubuntu 22.04 and 26.04. Linux ARM64 and Alpine/musl are not available yet.

Provider CLIs are separate prerequisites. acli does not bundle Claude Code, Codex CLI, GitHub Copilot CLI, or Gemini CLI. Install and authenticate the providers you intend to use through their respective vendors before running them through acli.

Unrestricted max sessions are the default

acli starts new and resumed wrapped sessions with --profile max. Depending on the provider, this bypasses approvals and sandbox restrictions and selects maximum reasoning effort. Codex defaults to max, never ultra; Gemini manages reasoning internally because its CLI exposes no effort option.

The default is intentionally high privilege

The max profile maps to bypassed approvals plus danger-full-access, bypassPermissions, --allow-all, or --yolo. Use it only where you intentionally trust the agent with everything accessible to your user account.

Select --profile native to retain provider policy, or use raw for an exact, unmodified invocation. Explicit provider permission and effort arguments override acli defaults. acli adds an extra directory only when you set ACLI_EXTRA_DIR.

Download security contract

For every public version, the release pipeline:

  1. build only the reviewed public feature set in a credential-free environment and scan the resulting binary strings for credentials, secrets, private paths, and internal infrastructure details;
  2. publish a versioned manifest containing the SHA-256 digest for every supported platform artifact;
  3. have the installer detect the platform, download to a temporary location, verify the expected SHA-256 digest, and fail closed before installation on any mismatch;
  4. complete dependency and licensing review and test each supported platform artifact; and
  5. install atomically into a user-owned directory, without sudo, only after all checks succeed.

Piping a remote script into a shell carries risk. Inspect the installer before executing it and verify that the HTTPS hostname is exactly www.loxal.net once the release status changes.