HSX_E_ROLLBACK_FAILED

Rollback did not change live traffic.

What this error means

A linked rollback could not restore live Cloudflare traffic to the target version. Traffic is unchanged: either the plan/commit was rejected by the control plane, the Cloudflare deployment create failed, or the target went live but its health probe failed and traffic was restored to the pre-rollback version. The attempt is recorded; the active pointer was NOT advanced.

When this error stops a command, hs-x exits with code 1. With --json, the failure is reported as a structured error whose code field is HSX_E_ROLLBACK_FAILED — stable to match on in scripts and agents.

Likely causes

  • The target deploy has no recorded Cloudflare Worker version (history-only) and cannot be a rollback target
  • The target bindings differ from the current deploy (re-run with --force after reviewing compatibility)
  • Cloudflare rejected the deployment create (version not found/not deployable, auth, or API error)
  • The rolled-back version went live but failed its health probe, so traffic was restored

How to fix it

  • Read the recorded status/detail in the error output (failed vs probe-failed-restored)
  • Roll forward with a fresh healthy deploy instead of rolling back to an unhealthy version
  • Pass --force to override the non-adjacent / binding-compatibility gate when you have reviewed it

Still stuck? Re-run the command with --debug for the wire-level detail, or hs-x doctor to check accounts, link state, and connectivity in one pass.