Cachely vs Nx Powerpack cache

The supported successor to the deprecated Nx Powerpack cache packages.

Nx deprecated its own self-hosted cache packages - @nx/s3-cache, @nx/gcs-cache, @nx/azure-cache, and @nx/shared-fs-cache, the caching half of Nx Powerpack - because the CREEP cache-poisoning vulnerability (CVE-2025-36852) is baked into their bucket-credential design and cannot be patched. Nx's migration advice is Nx Cloud, or a server that implements the Nx remote cache OpenAPI specification. Cachely is exactly that server, managed for you, with the 409-on-existing-key and read-only token enforcement the spec demands.
Quick answers

Cachely vs Nx Powerpack cache: pricing and feature answers

Is migration from @nx/s3-cache a drop-in change?

On Nx 20.8 or later, yes. Upgrade every runner first, then remove the deprecated plugin, set NX_SELF_HOSTED_REMOTE_CACHE_SERVER NX_SELF_HOSTED_REMOTE_CACHE_ACCESS_TOKEN and keep nx.json task config unchanged.

Why move off Nx Powerpack cache packages now?

This page states those packages were deprecated after CVE-2025-36852 and are not receiving updates or patches.

What changes in day-to-day operations?

You move from shared bucket credentials to scoped workspace tokens enforced at the API, with read-only tokens for untrusted builds.

Related: Cachely pricing | Security model | Nx Cloud alternative guide | Setup docs.

Migration runbook

Migrate from Nx Powerpack cache packages without changing task hashes

This is a cache-backend swap. Nx still computes the task hash from the same targets, inputs, outputs, and named inputs, so your task graph does not need to move. The change is removing the deprecated bucket plugin and pointing Nx at a server that implements its self-hosted remote cache API.

1. Upgrade every Nx runner to version 20.8 or later

Nx introduced its OpenAPI self-hosted cache support in version 20.8. Upgrade local development, CI, and any release runners before removing the Powerpack package. Complete the normal Nx migration review first; the cache-backend swap itself does not require changing task inputs or outputs.

2. Remove the deprecated package and bucket configuration

npm uninstall @nx/s3-cache
# or @nx/gcs-cache, @nx/azure-cache, @nx/shared-fs-cache

Delete the matching cache block from nx.json, remove its bucket credentials from CI and developer environments, then revoke those credentials. Do not leave an unused writer key active as a fallback.

3. Configure the supported Nx remote cache API

NX_SELF_HOSTED_REMOTE_CACHE_SERVER=https://remote.cachely.dev
NX_SELF_HOSTED_REMOTE_CACHE_ACCESS_TOKEN=<your-token>

Use a read-write token only on protected branches. Pull requests and forks should receive a read-only token, so they can restore trusted artifacts but cannot publish a cache entry that a later privileged build will consume.

4. Verify the migration before removing the rollback window

  • Run one cacheable target from a clean checkout and confirm it uploads to the new backend.
  • Run the same target again from another clean environment and confirm Nx restores it from the remote cache.
  • Run an untrusted workflow with the read-only token and confirm reads work while writes are rejected.
  • If the backend is unavailable, disable remote caching temporarily rather than restoring a deprecated read-write bucket plugin.

Primary sources: Nx's deprecated self-hosted cache package notice, Nx's self-hosted remote cache guide, and CVE-2025-36852. For S3-compatible endpoints and the old plugin shape, see the Nx S3 cache migration guide.

Side by side

Cachely vs the Nx Powerpack cache packages (@nx/s3-cache and friends)

Cachely versus the Nx Powerpack cache packages (@nx/s3-cache and friends) compared feature by feature.
FeatureCachelyNx Powerpack cache
StatusActively developed managed service.Deprecated; no updates or security patches, may be removed from npm.
Cache poisoning (CVE-2025-36852)Closed by design: read-only PR tokens plus create-if-absent writes (409 on existing keys), enforced at the API.Vulnerable by design - one bucket credential grants read and write to every build, and it cannot be fixed.
Credential modelPer-pipeline workspace tokens, scoped read-only or read-write, revocable in one click.A single cloud storage credential shared across all builds, managed through bucket IAM.
InfrastructureNothing to provision - managed storage on Cloudflare R2 included.Your own S3/GCS/Azure bucket or shared filesystem, plus its IAM, lifecycle, and cost management.
LicenseNo CLI-side license: Nx self-hosted OpenAPI remote cache support ships in Nx 20.8+.Required a Powerpack activation key (free only for small teams).
Insights and ROIHit rate, slowest tasks, CI minutes and cost saved, optimization suggestions.None - a bucket has no idea what it saved you.
Migration effortUpgrade to Nx 20.8+ if needed, remove the plugin, then set two environment variables. nx.json task config is unchanged.n/a - this is what you are migrating from.

Checked against public documentation on 20 August 2026. Nx Powerpack cache may have changed since; let us know and we will update the page.

Bottom line

When Cachely is the right call

If you are on one of the deprecated packages today, Nx's own guidance is to treat them as a live risk and migrate. Nx Cloud is the first-party option; a hardened OpenAPI-spec server is the self-hosted-style option.

Choose Cachely when you want that second option without building and operating it yourself: the same drop-in protocol, the mandatory anti-poisoning behaviour already enforced, managed storage included, and ROI reporting on top - at one flat price. If you specifically want a bucket-backed setup, the Nx S3 cache guide walks through the @nx/s3-cache replacement options.

FAQ

Cachely vs Nx Powerpack cache: migration and feature FAQ

What happened to the Nx Powerpack cache packages?
Nx deprecated @nx/s3-cache, @nx/gcs-cache, @nx/azure-cache, and @nx/shared-fs-cache (the caching half of Nx Powerpack) because of the CREEP cache-poisoning vulnerability (CVE-2025-36852). The flaw is in their bucket-credential design and cannot be patched, so the packages will not receive updates. Nx recommends migrating to Nx Cloud or to a server that implements the Nx remote cache OpenAPI specification.
Is Cachely a drop-in replacement for @nx/s3-cache and the other Powerpack cache packages?
On Nx 20.8 or later, yes. Cachely is a managed implementation of the exact Nx remote cache OpenAPI specification Nx points migrators at. Upgrade every runner first, then remove the plugin and its bucket/IAM plumbing, set NX_SELF_HOSTED_REMOTE_CACHE_SERVER NX_SELF_HOSTED_REMOTE_CACHE_ACCESS_TOKEN and keep your nx.json task config unchanged.
Why is a bucket-backed Nx cache unsafe?
The deprecated packages share a single credential with read and write access to the whole cache, so any pull-request build that holds it can upload a poisoned artifact that later trusted builds download. Cachely closes this by brokering every request through its API: pull-request builds get read-only tokens, and writes are create-if-absent (an existing key returns 409 Conflict), so a known-good artifact can never be replaced.
Do I still need a Powerpack license key with Cachely?
No. Cachely does not use Powerpack. OpenAPI self-hosted remote cache support ships in the Nx CLI itself starting in Nx 20.8; Cachely is the server side, on a flat subscription with no bucket to provision.
How is Cachely priced compared with the deprecated Powerpack cache packages?
Cachely uses one flat subscription based on usage limits, not per-seat or per-workspace billing. It replaces plugin plus bucket/IAM overhead with a managed cache service.