diff --git a/src/constants.ts b/src/constants.ts
index 0158ae0..771dbed 100644
--- a/src/constants.ts
+++ b/src/constants.ts
@@ -11,12 +11,14 @@ export enum Inputs {
 export enum Outputs {
     CacheHit = "cache-hit", // Output from cache, restore action
     CachePrimaryKey = "cache-primary-key", // Output from restore action
-    CacheMatchedKey = "cache-matched-key" // Output from restore action
+    CacheMatchedKey = "cache-matched-key", // Output from restore action
+    CachePath = "cache-path" // Output from restore action
 }
 
 export enum State {
     CachePrimaryKey = "CACHE_KEY",
-    CacheMatchedKey = "CACHE_RESULT"
+    CacheMatchedKey = "CACHE_RESULT",
+    CachePath = "CACHE_PATH"
 }
 
 export enum Events {
diff --git a/src/restoreImpl.ts b/src/restoreImpl.ts
index 74a366d..2ef2c51 100644
--- a/src/restoreImpl.ts
+++ b/src/restoreImpl.ts
@@ -32,6 +32,8 @@ export async function restoreImpl(
         const primaryKey = core.getInput(Inputs.Key, { required: true });
         stateProvider.setState(State.CachePrimaryKey, primaryKey);
 
+        stateProvider.setState(State.CachePath, core.getInput(Inputs.Path)); // Output path unchanged from input
+
         const restoreKeys = utils.getInputAsArray(Inputs.RestoreKeys);
         const cachePaths = utils.getInputAsArray(Inputs.Path, {
             required: true
diff --git a/src/stateProvider.ts b/src/stateProvider.ts
index beb41e5..60c28b4 100644
--- a/src/stateProvider.ts
+++ b/src/stateProvider.ts
@@ -35,7 +35,8 @@ export class StateProvider extends StateProviderBase {
 export class NullStateProvider extends StateProviderBase {
     stateToOutputMap = new Map<string, string>([
         [State.CacheMatchedKey, Outputs.CacheMatchedKey],
-        [State.CachePrimaryKey, Outputs.CachePrimaryKey]
+        [State.CachePrimaryKey, Outputs.CachePrimaryKey],
+        [State.CachePath, Outputs.CachePath]
     ]);
 
     setState = (key: string, value: string) => {