diff --git a/action.yml b/action.yml
index bf24164..b29d5ea 100644
--- a/action.yml
+++ b/action.yml
@@ -26,7 +26,7 @@ inputs:
     required: false
   cache-local-path:
     description: "Local path to store the cache."
-    default: "/tmp/setup-uv-cache"
+    default: ""
 outputs:
   uv-version:
     description: "The installed uv version. Useful when using latest."
diff --git a/dist/save-cache/index.js b/dist/save-cache/index.js
index bf2c4a0..2cf89c1 100644
--- a/dist/save-cache/index.js
+++ b/dist/save-cache/index.js
@@ -83004,16 +83004,33 @@ var __importStar = (this && this.__importStar) || function (mod) {
     __setModuleDefault(result, mod);
     return result;
 };
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
 Object.defineProperty(exports, "__esModule", ({ value: true }));
 exports.cacheDependencyGlob = exports.githubToken = exports.cacheLocalPath = exports.cacheSuffix = exports.enableCache = exports.checkSum = exports.version = void 0;
 const core = __importStar(__nccwpck_require__(2186));
+const path_1 = __importDefault(__nccwpck_require__(1017));
 exports.version = core.getInput("version");
 exports.checkSum = core.getInput("checksum");
 exports.enableCache = core.getInput("enable-cache") === "true";
 exports.cacheSuffix = core.getInput("cache-suffix") || "";
-exports.cacheLocalPath = core.getInput("cache-local-path");
+exports.cacheLocalPath = getCacheLocalPath();
 exports.githubToken = core.getInput("github-token");
 exports.cacheDependencyGlob = core.getInput("cache-dependency-glob");
+function getCacheLocalPath() {
+    const cacheLocalPathInput = core.getInput("cache-local-path");
+    if (cacheLocalPathInput !== "") {
+        return cacheLocalPathInput;
+    }
+    if (process.env.RUNNER_TEMP !== undefined) {
+        return `${process.env.RUNNER_TEMP}${path_1.default.sep}setup-uv-cache`;
+    }
+    if (process.platform === "win32") {
+        return "D:\\a\\_temp\\setup-uv-cache";
+    }
+    return "/tmp/setup-uv-cache";
+}
 
 
 /***/ }),
diff --git a/dist/setup/index.js b/dist/setup/index.js
index cc6415e..7b96d7c 100644
--- a/dist/setup/index.js
+++ b/dist/setup/index.js
@@ -85908,16 +85908,33 @@ var __importStar = (this && this.__importStar) || function (mod) {
     __setModuleDefault(result, mod);
     return result;
 };
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
 Object.defineProperty(exports, "__esModule", ({ value: true }));
 exports.cacheDependencyGlob = exports.githubToken = exports.cacheLocalPath = exports.cacheSuffix = exports.enableCache = exports.checkSum = exports.version = void 0;
 const core = __importStar(__nccwpck_require__(2186));
+const path_1 = __importDefault(__nccwpck_require__(1017));
 exports.version = core.getInput("version");
 exports.checkSum = core.getInput("checksum");
 exports.enableCache = core.getInput("enable-cache") === "true";
 exports.cacheSuffix = core.getInput("cache-suffix") || "";
-exports.cacheLocalPath = core.getInput("cache-local-path");
+exports.cacheLocalPath = getCacheLocalPath();
 exports.githubToken = core.getInput("github-token");
 exports.cacheDependencyGlob = core.getInput("cache-dependency-glob");
+function getCacheLocalPath() {
+    const cacheLocalPathInput = core.getInput("cache-local-path");
+    if (cacheLocalPathInput !== "") {
+        return cacheLocalPathInput;
+    }
+    if (process.env.RUNNER_TEMP !== undefined) {
+        return `${process.env.RUNNER_TEMP}${path_1.default.sep}setup-uv-cache`;
+    }
+    if (process.platform === "win32") {
+        return "D:\\a\\_temp\\setup-uv-cache";
+    }
+    return "/tmp/setup-uv-cache";
+}
 
 
 /***/ }),
diff --git a/src/utils/inputs.ts b/src/utils/inputs.ts
index dd582a7..66eec47 100644
--- a/src/utils/inputs.ts
+++ b/src/utils/inputs.ts
@@ -1,9 +1,24 @@
 import * as core from "@actions/core";
+import path from "path";
 
 export const version = core.getInput("version");
 export const checkSum = core.getInput("checksum");
 export const enableCache = core.getInput("enable-cache") === "true";
 export const cacheSuffix = core.getInput("cache-suffix") || "";
-export const cacheLocalPath = core.getInput("cache-local-path");
+export const cacheLocalPath = getCacheLocalPath();
 export const githubToken = core.getInput("github-token");
 export const cacheDependencyGlob = core.getInput("cache-dependency-glob");
+
+function getCacheLocalPath(): string {
+  const cacheLocalPathInput = core.getInput("cache-local-path");
+  if (cacheLocalPathInput !== "") {
+    return cacheLocalPathInput;
+  }
+  if (process.env.RUNNER_TEMP !== undefined) {
+    return `${process.env.RUNNER_TEMP}${path.sep}setup-uv-cache`;
+  }
+  if (process.platform === "win32") {
+    return "D:\\a\\_temp\\setup-uv-cache";
+  }
+  return "/tmp/setup-uv-cache";
+}