> ## Documentation Index
> Fetch the complete documentation index at: https://site.aspect.build/llms.txt
> Use this file to discover all available pages before exploring further.

# External remote cache and execution

> Expose a second Aspect Workflows remote cache and execution endpoint so developer workstations get the same Bazel cache hits CI runners enjoy.

Aspect Workflows can expose a second cache and execution endpoint, separate from the CI-internal cluster, that developer workstations reach over the internet. Developers configure their `~/.bazelrc` to point at this endpoint and benefit from the same remote cache hits and remote execution workers that CI uses, without accessing the internal VPC.

The external remote cache is a separate cache cluster that complies with the [Bazel Remote Execution Protocol v2](https://docs.bazel.build/versions/2.0.0/remote-execution.html). The external remote execution cluster accepts build actions from developer machines and runs them on dedicated workers for the target platform architecture (x86-64, arm64, or custom).

The external cache can be configured in either of two modes:

* **Independent storage** (the default): the external cache has its own backing storage, sized and scaled separately from the internal CI cache. Use this when you want to isolate CI's cache from developer traffic.
* **Pass-through**: the external cache reuses the internal CI cache as its upstream storage, so a cache entry written by a CI runner becomes available to developer workstations immediately, and vice versa. This is the lowest-friction setup when you want CI and developer caches to share hits without operating two storage layers.

Access to both clusters is authenticated via **OpenID Connect** or **Personal Access Tokens (PATs)**. PATs are issued from the Aspect admin portal and presented to Bazel via `--remote_header=X-Aspect=aw_pat_XXXX`, convenient for local development on a workstation where an interactive OIDC flow isn't a fit.

{user.loggedIn && user.tenantMetadata?.docsGroups?.includes('workflows-subscriber') ? (
<Info>
See also:
<ul>
<li><a href="/docs/aspect-workflows/using-workflows/remote-cache-config">Remote cache configuration</a></li>
<li><a href="/docs/aspect-workflows/using-workflows/remote-execution-config">Remote execution configuration</a></li>
<li><a href="/docs/aspect-workflows/using-workflows/external-cache-config">External remote cache and execution configuration</a></li>
</ul>
</Info>
) : !user.loggedIn ? (
<Info>
To access the complete product documentation, including installation and detailed configuration, <a href="/login?redirect=%2Fdocs%2Faspect-workflows%2Ffeatures%2Fexternal-cache-exec">log in</a> with your Aspect account, or ask an Admin in your organization to invite you via the <a href="https://auth.aspect.build/oauth/portal/users">Aspect admin portal</a>.
</Info>
) : (
<Info>
If you are a Workflows customer, contact Aspect support for access to complete product documentation, including installation and detailed configuration. <br /><br />Not a customer yet? Sign up for a free 30-day trial at <a href="/trial">/trial</a> to get started.
</Info>
)}
