diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index e62fc62..960ec98 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -35,6 +35,25 @@ jobs:
         uses: ./
       - run: uv sync
         working-directory: __tests__/fixtures/uv-project
+  test-default-version-cache: # https://github.com/astral-sh/setup-uv/issues/171
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        os: [ubuntu-latest, macos-latest, macos-14]
+    steps:
+      - uses: actions/checkout@v4
+      - name: Install latest version
+        uses: ./
+      - name: Verify cache hit
+        id: re-setup-uv
+        uses: ./
+      - name: Verify uv cache hit
+        run: |
+          if [ "$UV_CACHE_HIT" != "true" ]; then
+            exit 1
+          fi
+        env:
+          UV_CACHE_HIT: ${{ steps.re-setup-uv.outputs.uv-cache-hit }}
   test-specific-version:
     runs-on: ubuntu-latest
     strategy:
@@ -105,13 +124,7 @@ jobs:
     runs-on: ${{ matrix.os }}
     strategy:
       matrix:
-        os:
-          [
-            ubuntu-latest,
-            macos-latest,
-            macos-14,
-            windows-latest,
-          ]
+        os: [ubuntu-latest, macos-latest, macos-14, windows-latest]
     steps:
       - uses: actions/checkout@v4
       - name: Install default version
diff --git a/action.yml b/action.yml
index fbe7e34..7dc5612 100644
--- a/action.yml
+++ b/action.yml
@@ -47,6 +47,8 @@ inputs:
 outputs:
   uv-version:
     description: "The installed uv version. Useful when using latest."
+  uv-cache-hit:
+    description: "A boolean value to indicate a cache entry for uv was found"
   cache-hit:
     description: "A boolean value to indicate a cache entry was found"
 runs:
diff --git a/dist/setup/index.js b/dist/setup/index.js
index ac48421..30db9fd 100644
--- a/dist/setup/index.js
+++ b/dist/setup/index.js
@@ -90010,8 +90010,10 @@ function setupUv(platform, arch, versionInput, checkSum, githubToken) {
         const toolCacheResult = (0, download_version_1.tryGetFromToolCache)(arch, resolvedVersion);
         if (toolCacheResult.installedPath) {
             core.info(`Found uv in tool-cache for ${resolvedVersion}`);
+            core.setOutput("uv-cache-hit", true);
             return { uvDir: toolCacheResult.installedPath, version: resolvedVersion };
         }
+        core.setOutput("uv-cache-hit", false);
         const versionResult = yield (0, download_version_1.downloadVersion)(platform, arch, resolvedVersion, checkSum, githubToken);
         return { uvDir: versionResult.cachedToolDir, version: versionResult.version };
     });
diff --git a/src/setup-uv.ts b/src/setup-uv.ts
index 40e1e3a..3cc2337 100644
--- a/src/setup-uv.ts
+++ b/src/setup-uv.ts
@@ -80,8 +80,10 @@ async function setupUv(
   const toolCacheResult = tryGetFromToolCache(arch, resolvedVersion);
   if (toolCacheResult.installedPath) {
     core.info(`Found uv in tool-cache for ${resolvedVersion}`);
+    core.setOutput("uv-cache-hit", true);
     return { uvDir: toolCacheResult.installedPath, version: resolvedVersion };
   }
+  core.setOutput("uv-cache-hit", false);
 
   const versionResult = await downloadVersion(
     platform,