              core.debug(`File Size: ${archiveFileSize}`);
              // For GHES, this check will take place in ReserveCache API with enterprise file size limit
              if (archiveFileSize > fileSizeLimit && !utils.isGhes()) {
-@@ -203,8 +207,15 @@ function saveCache(paths, key, options) {
+@@ -182,18 +187,19 @@ function saveCache(paths, key, options) {
+             core.debug(`Saving Cache (ID: ${cacheId})`);
+             yield cacheHttpClient.saveCache(cacheId, archivePath, options);
+         }
+-        catch (error) {
+-            const typedError = error;
+-            if (typedError.name === ValidationError.name) {
+-                throw error;
+-            }
+-            else if (typedError.name === ReserveCacheError.name) {
+-                core.info(`Failed to save: ${typedError.message}`);
+-            }
+-            else {
+-                core.warning(`Failed to save: ${typedError.message}`);
+-            }
+-        }
++        // PATCH: Error handling is done in action code, allowing us to provide better reporting
++        // catch (error) {
++        //     const typedError = error;
++        //     if (typedError.name === ValidationError.name) {
++        //         throw error;
++        //     }
++        //     else if (typedError.name === ReserveCacheError.name) {
++        //         core.info(`Failed to save: ${typedError.message}`);
++        //     }
++        //     else {
++        //         core.warning(`Failed to save: ${typedError.message}`);
++        //     }
++        // }
+         finally {
+             // Try to delete the archive to save space
+             try {
+@@ -203,8 +209,15 @@ function saveCache(paths, key, options) {
                  core.debug(`Failed to delete archive: ${error}`);
              }
          }

             yield tar_1.extractTar(archivePath, compressionMethod);
             core.info('Cache restored successfully');
-            return cacheEntry.cacheKey;
+            return restoredEntry;
         }
         catch (error) {
             const typedError = error;
@@ -153,6 +155,7 @@ function saveCache(paths, key, options) {
         const archiveFolder = yield utils.createTempDirectory();
         const archivePath = path.join(archiveFolder, utils.getCacheFileName(compressionMethod));
         core.debug(`Archive Path: ${archivePath}`);

+    constructor(key: string, size?: number);
+}
diff --git a/node_modules/@actions/cache/lib/cache.js b/node_modules/@actions/cache/lib/cache.js
index 4dc5e88..9cb8123 100644
--- a/node_modules/@actions/cache/lib/cache.js
+++ b/node_modules/@actions/cache/lib/cache.js
@@ -95,27 +95,30 @@ function restoreCache(paths, primaryKey, restoreKeys, options) {
             }
             archivePath = path.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
             core.debug(`Archive Path: ${archivePath}`);
