sccache

sccache 0.18.0

Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cl

  • By Mozilla
  • Open Source
  • Updated Sep 14, 2026
Download for Windows

About sccache

Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cloud storage options, or alternatively, in local storage.

What's new in 0.18.0

sccache 0.18.0

Summary
sccache 0.18.0 is a broad correctness and coverage release: a lot of compiler flags that used to
force a cache miss are now understood, several cache-key and multi-level storage bugs are fixed,
and the Azure backend gained passwordless authentication.
Highlights:
- Cache-key correctness: the assembler gcc/clang would actually invoke is now part of the cache
key, so two toolchains with different binutils can no longer hand each other the wrong object
file (#2843). SCCACHE_BASEDIRS now also strips base directories from the compiler arguments,
so flags like -ffile-prefix-map=/home/user/project=. stop tying an entry to one checkout
(#2840).
- MSVC/clang flag coverage: support for /openmp:llvm, the /fsanitize*, /fsanitize-coverage*
and /fno-sanitize* families, /feature, arm64EC and fastfail, /d20bforceinline, and a large
batch of other flags (#2807, #2830, #2831, #2832), plus more clang CLI options (#2834). gcc now
marks flags as TooHard when they would require caching something else (#2833).
- CUDA: nvcc dryrun parsing works with CUDA 13.3 (#2722), escaped quotes in Windows dryrun
lines are protected before backslash flattening (#2811), and the
--diag-error/--diag-suppress/--diag-warn family is accepted (#2816).
- Multi-level cache: a chain with any writable level is writable again — a single read-only
level no longer makes the whole storage read-only (#2778) — and reads are no longer issued twice
(#2835).
- Azure: Microsoft Entra ID (passwordless) authentication for the Azure Blob backend, for
storage accounts that disable shared-key access (#2802).
- Distributed compilation: rlibs are no longer trimmed from crates that also emit a cdylib,
which made those jobs fail on the build server (#2839).
- Process handling: the jobserver is no longer handed to children that can't use it, which
restores the posix_spawn fast path for child spawns (#2827), and daemonization now uses an
allow-list for inherited file descriptors, fixing make deadlocks caused by leaked jobserver FDs
(#2841).
- MSRV is now 1.91.0 (#2793).
Welcome to 11 new contributors!

Features

  • feat: add Microsoft Entra ID (passwordless) auth for the Azure Blob backend by @babrekel in #2802
  • gcc, clang: make the assembler part of the cache key by @glandium in #2843
  • Strip basedirs from the compiler arguments too by @avikivity in #2840
  • cache: allow skipping capability checks by @Xuanwo in #2822 …

Full release notes »

Technical details

PublisherMozilla
Version0.18.0
Release date2026-09-14
LicenseApache-2.0
Installer typezip
Architecturex64, arm64
Package IDMozilla.sccache

Links & install command

Install sccache from the command line with Windows Package Manager (winget):

winget install --id=Mozilla.sccache -e

Older versions

  • 0.17.0
  • 0.16.0
  • 0.15.0
  • 0.14.0
  • 0.10.0