Lesstep
GitHub Actions · Checked November 3, 2026

GitHub Actions: "Cache not found for input keys"

The restore step looked for a cache entry and found none, so the job runs without it. It is not an error, and the step passes. What matters is why nothing matched, and it is usually one of five things.

What it looks like

From a pull request build in October 2026 that took 13 minutes because of it (homeboy #17018):

Cache not found for input keys: Linux-cargo-source-v2-8c1ea9e4…-7eb031de…-8f01ff49…, Linux-cargo-source-v2-8c1ea9e4…-7eb031de…-

1. The key changed

Hash only the files that decide the contents, leave build output out, save under the key the restore step used, and add a restore key so a near entry is used when the exact one is not there:

- uses: actions/cache/restore@v6
  id: restore-cache
  with:
    path: ~/.m2/repository
    key: maven-repo-${{ hashFiles('**/pom.xml', '!**/target/**') }}
    restore-keys: maven-repo-

# ... build ...

- uses: actions/cache/save@v6
  if: steps.restore-cache.outputs.cache-hit != 'true'
  with:
    path: ~/.m2/repository
    key: ${{ steps.restore-cache.outputs.cache-primary-key }}

2. The entry is in a scope this run cannot read

Let a run on push to the default branch save the entries that pull requests restore, with the same key scheme.

3. Same key, different version

Besides the key, every entry has a version, and a restore only matches the same version, also for restore keys. The toolkit computes it from:

With step debug logging on, the restore also logs "Cache not found for version <hash> of keys: ...", which you can compare with the versions of the entries that exist (turning on debug logging).

4. The entry was evicted

Save fewer and smaller entries, skip the save in pull requests (if: github.event_name == 'push' on the save step), or raise the limit in the repository's Actions settings, which is billed above 10 GB.

5. The download failed

A restore that found the entry but could not download it ends with the same line (helion #3799):

Cache hit for: triton-thirdparty-b200-tileir-0d9283bf49
Received 125829120 of 1547099396 (8.1%), 30.0 MBs/sec
...
Failed to restore: The operation cannot be completed in timeout.
Cache not found for input keys: triton-thirdparty-b200-tileir-0d9283bf49

Look one line up. "Cache hit for" followed by "Failed to restore" is a download problem, not a missing entry.

Seeing what is there

gh cache list --key maven-repo- --json key,ref,version,lastAccessedAt,sizeInBytes

cache-hit is empty on a miss

Telling it apart

See failed jobs from IntelliJ IDEA

Pipeline Inbox for GitHub Actions Workflows, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, lists the runs of all your repositories in an IDE tool window, with their jobs and steps, and your current branch's runs are in the status bar. Reading is free; re-running failed jobs, cancelling, running workflows and reviewing deployments are Pro (US$1.50 a month, with a 30-day trial).

GitHub and GitHub Actions are trademarks of GitHub, Inc.; IntelliJ IDEA is a trademark of JetBrains s.r.o. This page is not affiliated with, sponsored or endorsed by GitHub, Inc. or JetBrains.

More: "Unable to reserve cache" · Debug logging and ACTIONS_STEP_DEBUG · "No space left on device" · GitHub Actions plugins for IntelliJ IDEA compared · 日本語