sccache integration
sccache is a compiler caching tool that supports C, C++, Rust, and other languages.
Namespace provides high-performance sccache caching with very low network latency between runners and the cache storage. This allows your builds to reuse compilation results across runs, significantly reducing build times.
sccache caching is particularly effective for:
- C and C++ projects with long compilation times
- Rust projects where incremental compilation can be slow
- Projects that benefit from sharing compilation artifacts across team members
Getting started
You can produce a ready-to-use configuration using the CLI:
Configure cache access and start sccache
nsc cache sccache setup generates short-term credentials and prints the environment variables needed to configure sccache (e.g. SCCACHE_WEBDAV_ENDPOINT, SCCACHE_WEBDAV_TOKEN) as KEY=value lines. Export them into your shell, then start sccache:
$ export $(nsc cache sccache setup --cache_name default)
$ sccache --start-serversccache will now use Namespace's remote cache for all subsequent compilations.
GitHub Actions Example
In GitHub Actions, append the output of nsc cache sccache setup to $GITHUB_ENV so the credentials are available in every subsequent step. Setting RUSTC_WRAPPER: sccache on the build step makes cargo invoke sccache, which auto-starts a server using the env from $GITHUB_ENV.
jobs:build:runs-on: namespace-profile-defaultsteps:- uses: actions/checkout@v4- name: Configure sccacherun: nsc cache sccache setup --cache_name default >> "$GITHUB_ENV"- name: Buildenv:RUSTC_WRAPPER: sccacherun: cargo build
Using from your local workstation
You can also use the same sccache cache locally from your workstation. Since the cache is shared, local builds benefit from artifacts already cached by CI — and vice versa.
First, create a long-term token with access to the cache:
$ nsc cache sccache create-token --cache_name default
Token ID: tok_...
Name: sccache-default-n525mfg
Expires At: 2026-02-13T12:07:43+01:00
You can set up your sccache config with:
nsc cache sccache setup --token token.json --cache_name defaultThis saves the token to token.json in the current directory. Then configure sccache using the token and start the server:
$ export $(nsc cache sccache setup --token token.json --cache_name default)
$ sccache --start-serverThis sets the environment variables needed to configure sccache with credentials bound to your user. If the current user gets removed from the workspace (or their permissions are reduced), the token becomes invalid. The token can also be revoked ahead of time.
How it works
The sccache caching solution provides remote storage for compilation artifacts, where the hot cache lives as close to the consumer (e.g. your CI job runner) as possible. The cold caching tier is backed by our high-performance artifact storage and enables sccache to retain a vast amount of cached artifacts.
Access to the sccache cache is granted through short-lived secure credentials.
Usage
Namespace accounts sccache cache usage in two categories:
- Artifact cache storage
- Artifact cache reads
For detailed billing information for each item as well as included amounts in your plans, visit the pricing page.

