aspect-launcher on your PATH as aspect. The launcher downloads and runs the Aspect CLI version configured in your repository, the way Bazelisk fetches the configured Bazel.
Install with curl
The curl script works on macOS and Linux without any prerequisite package manager. Run:aspect-launcher binary to /usr/local/bin/aspect with sudo mv, so it may prompt for your password. Pass a version to pin the launcher, as CI jobs should:
GITHUB_TOKEN if it’s set.
Updating with curl
Re-run the installation script:Install with Homebrew (macOS)
Updating with Homebrew (macOS)
Install the Aspect CLI with direnv and multitool
This method assumes your development environment uses bazel_env.bzl. For examples, refer to the aspect-starters repositories on GitHub.
- Add
aspectto the multitool lockfile, as shown in this example. - Build and run your
bazel_envtarget. Bazel will handle the installation ofaspect, making it available on your PATH.
bazel_env”:
Install with GitHub Actions
Use theaspect-build/setup-aspect action. In one step it:
- installs the launcher, and Bazelisk unless
bazelis already onPATH - exchanges your
ASPECT_API_TOKENfor a short-lived JWT - runs
aspect setup bazelrc(bazelrc-generate, on by default), so vanillabazelcalls use the remote cache and stream to the Build Results UI - caches
--repository_cachethrough the GitHub Actions cache (on by default);--disk_cachecaching is off by default (disk-cache: trueto turn it on)
ubuntu-latest, macos-latest) and on Aspect Workflows CI runners.
.aspect/version.axl (see version pinning). The launcher reads that file and downloads the matching CLI on first aspect invocation, so local and CI stay in sync without bumping a launcher version in your workflow YAML.
Without setup-aspect
To install the launcher inline instead, use the curl script with a pinned version. Buildkite, GitLab, and CircleCI have their own integrations; see CI setup.
setup-aspect does: the token exchange, the generated ~/.aspect/bazelrc, the repository cache, and the Bazelisk install.
Install the Aspect CLI manually from GitHub
Visit the Aspect CLI Releases page on GitHub to download the appropriate binary for your platform, such asaspect-launcher-aarch64-apple-darwin for macOS arm64, or equivalents for other architectures and operating systems.
macOS example
-
Download the
aspect-launcher-aarch64-apple-darwinbinary from the Aspect CLI Releases page. -
In your terminal, run these commands to clear the untrusted developer attribute, make the binary executable, and move it to your PATH:
Keep your team typing bazel with the tools/bazel wrapper
A tools/bazel wrapper in your
workspace routes each bazel invocation to the right tool (aspect for the verbs it
wraps, vanilla bazel for everything else) and
aspect setup tools-bazel-wrapper installs it.
Usage telemetry
The launcher and CLI send usage telemetry. SetDO_NOT_TRACK to any value to turn it off:
Community
Join the Aspect Community Slack, Aspect’s free community support. Ask in#help for general support. Join the discussion and see what others are building with the Aspect CLI and Aspect Extension Language (AXL) in the #cli and #axl channels.
For Bazel and the Bazel rulesets, Bazel Slack is the best place for support and discussion. Ask about Aspect’s rules_js in #javascript and rules_py in #python.
