Before you start
-
The Aspect CLI, v2026.41.24 or newer. Install it, then pin the version for everyone in
.aspect/version.axl:.aspect/version.axl - An Aspect account. Sign up on the Free tier. See pricing for what it includes.
1. Log in
--org <name|id> to choose without a prompt.
Over SSH, the CLI detects the remote session and prints the sign-in URL instead of opening a browser. Open it anywhere, sign in, and paste back either the callback URL from the address bar or the authorization code. --no-browser forces this flow.
2. Build with --remote
--remote connects the task to the remote cache and the build event service. The first build fills the cache; after that, actions already built with the same inputs, platform and configuration come back from it.
Off CI, a task builds locally unless you pass the flag, so you choose when your builds use the cache.
What the flag accepts
--remote takes a comma-separated list. The cache and build events are on unless you subtract them with a no- token.
Remote execution is coming soon to Aspect Cloud (early access); until then, naming
exec against Aspect Cloud is an error.
To stop typing the flag, set it once for the repository:
.aspect/config.axl
--remote=none on the command line opts a single build out of that default.
3. Or use vanilla bazel
--remote is an Aspect CLI flag, so a bazel build from the same shell doesn’t know about it. aspect setup bazelrc writes the equivalent flags where Bazel finds them.
.aspect/bazelrc in the checkout, plus a try-import at the top of the repository’s .bazelrc. Commit both. The file declares what’s available and turns nothing on, so it’s safe for everyone who builds the repository. Opt a build in by name:
bazel call on your machine instead, write the machine rc, which is never committed:
aspect as a credential helper, serving the login from step 1. aspect has to be on PATH wherever bazel runs.
Check it worked
Your credential
It renews itself. A browser login also obtains a refresh token, so you log in again only when that expires, not every time the access token does. It lives in your OS keyring: the macOS Keychain, or the Linux kernel keyring. Where no keyring is reachable, the CLI falls back to a0600 file at ~/.aspect/credentials.json. Set ASPECT_CREDENTIALS_FILE to store it in a file at that path instead.
Profiles keep identities apart. Use them on a shared machine, or to separate a personal account from a work one:
aspect auth logout, or aspect auth logout --all for every profile.
aspect auth status --output=json gives scripts and AI assistants a machine-readable view, including the exact command that fixes a logged-out entry.
Next
- Aspect Cloud CI setup: the same cache on the CI runners you already have.
- Build metadata: label vanilla
bazelbuilds with their commit and branch in the Build Results UI.

