GitHub Actions actions/cache "No URL provided" / cache flow misconfigured
actions/cache needs a cache-service URL injected by the GitHub-hosted environment; when that URL is absent (often on self-hosted runners without a cache backend), the action fails with "No URL provided".
What this error means
The cache step fails early with an error indicating no cache service URL is available, so neither restore nor save can run.
github-actions
Error: No URL provided, unable to access the cache service.Common causes
Self-hosted runner without a cache backend
The runner environment did not provide the ACTIONS_CACHE_URL, so the action has no endpoint to call.
Cache action version / backend mismatch
A cache action version expecting a backend that the environment does not expose fails to resolve a URL.
How to fix it
Provide a supported cache backend
- On self-hosted, run with a runner setup that injects the cache service URL.
- Or use a cache backend explicitly supported by your runner provider.
- Confirm the cache action version matches the available backend.
Use managed runners with built-in caching
Managed runners ship an integrated cache backend so actions/cache resolves a service URL automatically without manual configuration.
How to prevent it
- Pair self-hosted runners with a supported cache backend.
- Keep the cache action version aligned with the backend.
- Validate caching on a self-hosted runner before relying on it.
Related guides
GitHub Actions cache size limit (10 GB) exceeded / evictionsFix GitHub Actions cache misses caused by the 10 GB per-repository cache limit evicting older entries.
GitHub Actions "Failed to restore: Cache service responded with 503"Fix GitHub Actions "Warning: Failed to restore: Cache service responded with 503" (or 429) - the cache backen…
GitHub Actions "Cache not found for input keys"Understand GitHub Actions "Cache not found for input keys" from actions/cache - no entry matched the primary…