diff --git a/dist/cache-save/index.js b/dist/cache-save/index.js
index fdc89282..02e4fefb 100644
--- a/dist/cache-save/index.js
+++ b/dist/cache-save/index.js
@@ -4282,9 +4282,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
     result["default"] = mod;
     return result;
 };
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
 Object.defineProperty(exports, "__esModule", { value: true });
 const core = __importStar(__webpack_require__(470));
 const exec = __importStar(__webpack_require__(986));
+const os_1 = __importDefault(__webpack_require__(87));
+const path_1 = __importDefault(__webpack_require__(622));
 exports.supportedPackageManagers = {
     npm: {
         lockFilePatterns: ['package-lock.json', 'yarn.lock'],
@@ -4293,7 +4298,7 @@ exports.supportedPackageManagers = {
     pnpm: {
         lockFilePatterns: ['pnpm-lock.yaml'],
         getCacheFolderCommand: 'pnpm get store',
-        defaultCacheFolder: '~/.pnpm-store'
+        defaultCacheFolder: path_1.default.join(os_1.default.homedir(), '.pnpm-store')
     },
     yarn1: {
         lockFilePatterns: ['yarn.lock'],
@@ -50613,9 +50618,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
     result["default"] = mod;
     return result;
 };
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
 Object.defineProperty(exports, "__esModule", { value: true });
 const core = __importStar(__webpack_require__(470));
 const cache = __importStar(__webpack_require__(692));
+const fs_1 = __importDefault(__webpack_require__(747));
 const constants_1 = __webpack_require__(196);
 const cache_utils_1 = __webpack_require__(143);
 function run() {
@@ -50639,6 +50648,9 @@ const cachePackages = (packageManager) => __awaiter(void 0, void 0, void 0, func
         return;
     }
     const cachePath = yield cache_utils_1.getCacheDirectoryPath(packageManagerInfo, packageManager);
+    if (!fs_1.default.existsSync(cachePath)) {
+        throw new Error(`Cache folder path is retrieved for ${packageManager} but doesn't exist on disk: ${cachePath}`);
+    }
     if (primaryKey === state) {
         core.info(`Cache hit occurred on the primary key ${primaryKey}, not saving cache.`);
         return;
diff --git a/dist/setup/index.js b/dist/setup/index.js
index 69ec4c9c..07e6781f 100644
--- a/dist/setup/index.js
+++ b/dist/setup/index.js
@@ -51580,9 +51580,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
     result["default"] = mod;
     return result;
 };
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
 Object.defineProperty(exports, "__esModule", { value: true });
 const core = __importStar(__webpack_require__(470));
 const exec = __importStar(__webpack_require__(986));
+const os_1 = __importDefault(__webpack_require__(87));
+const path_1 = __importDefault(__webpack_require__(622));
 exports.supportedPackageManagers = {
     npm: {
         lockFilePatterns: ['package-lock.json', 'yarn.lock'],
@@ -51591,7 +51596,7 @@ exports.supportedPackageManagers = {
     pnpm: {
         lockFilePatterns: ['pnpm-lock.yaml'],
         getCacheFolderCommand: 'pnpm get store',
-        defaultCacheFolder: '~/.pnpm-store'
+        defaultCacheFolder: path_1.default.join(os_1.default.homedir(), '.pnpm-store')
     },
     yarn1: {
         lockFilePatterns: ['yarn.lock'],