diff --git a/scripts/sstate-cache-management.py b/scripts/sstate-cache-management.py
index d3f600bd28..303b8f13a3 100755
--- a/scripts/sstate-cache-management.py
+++ b/scripts/sstate-cache-management.py
@@ -267,6 +267,10 @@ def parse_arguments():
     #     help="Remove both the symbol link and the destination file, default: no.",
     # )
 
+    parser.add_argument(
+        "-n", "--dry-run", action="store_true", help="Don't execute, just go through the motions."
+    )
+
     parser.add_argument(
         "-y",
         "--yes",
@@ -314,6 +318,9 @@ def main():
     if args.debug >= 1:
         print("\n".join([str(p.path) for p in remove]))
     print(f"{len(remove)} out of {len(paths)} files will be removed!")
+    if args.dry_run:
+        return 0
+
     if not args.yes:
         print("Do you want to continue (y/n)?")
         confirm = input() in ("y", "Y")
