01
Zero changes to your workflows
An optimized pass-through cache. `actions/cache`, `cache: npm` and the setup actions keep working exactly as written, with your keys and restore keys — they just restore faster.
02
NVMe-backed, replicated
Hot caches live on NVMe right next to the runner, so restores run at local-disk speed instead of over the internet. Everything is replicated to object storage, so a cache survives any single machine.
03
Shared across your organization
Caches are shared across the repositories and members of your organization, so one person's build warms the cache for everyone else. Nothing is ever shared between organizations.
04
Namespaced by repository and branch
Every entry is namespaced by organization, repository and branch, set from the job's identity — not from anything a workflow can claim. A branch restores from its own cache first, then its pull request base, then the default branch.
05
Every cache you use
Dependency caching for npm, pnpm, Yarn, pip, Cargo, Go, Ruby, Java and Bun; build caches for Rust, Go, Turbo and Nx; Docker images and system packages; and toolchains ready before your job starts.
06
Poisoning-resistant writes
Fork pull requests read caches and cannot write them. Untrusted branches write to their own scoped keys, so a poisoned entry can never replace what your default branch restores.
07
Visible decisions
Each lookup shows hit, miss or fallback, the key used and where it was restored from, so a slow restore is never a mystery.