diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,4 +1,7 @@
-# Revision history for stack-clean-old-work
+# Release history for stack-clean-old-work
+
+## 0.3.1 (2021-08-01)
+- 'delete-work': use find -prune and ignore inaccessible files (@petrem, #4)
 
 ## 0.3 (2021-01-08)
 - drop subsubcommands to simplify UI
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
 
 ## Usage
 ```
-stack-clean-old [size|list|remove|keep-minor] [(-p|--project) | (-g|--ghc)] [GHCVER]
+stack-clean-old [size|list|remove|keep-minor|purge-older|delete-work] [(-p|--project) | (-g|--ghc)] [GHCVER]
 ```
 Options:
 
@@ -29,11 +29,16 @@
     removes the builds/installs for previous minor ghc versions.
     If GHCVER is given then only minor versions older than it are removed.
 
-If you remove any needed snapshot builds for a version of ghc, then you would have to rebuild them again for any projects still using them, so removal should be used cautiously, but it can recover a lot of diskspace.
+`purge-older` and `delete-work`:
+    see sections below
 
-NBB: All the command support `--dry-run` (`-n`) so you can check the effect
-of running them safely beforehand.
+If you remove any needed snapshot builds for a version of ghc,
+then you would have to rebuild them again for any projects still using them,
+so removal should be used cautiously, but it can recover a lot of diskspace.
 
+NBB: All the command support `--dry-run` (`-n`), so please use it to
+check the effect of running them safely beforehand.
+
 ### Example usage
 To remove project builds for ghc-8.2.2:
 ```
@@ -71,8 +76,13 @@
 
 NB: If you regularly build your project for several branches/tags against the same LTS or ghc version then it is safer to avoid using `purge-older`.
 
-Also `stack-clean-old delete-work` can be used to recursively remove
-_all_ `.stack-work/` dirs from a project to save space (seems same as `stack clean --full`).
+### Deleting all `.stack-work/` subdirectories
+`stack-clean-old delete-work` can be used to recursively remove
+_all_ `.stack-work/` dirs from a project to save space
+(seems same as `stack clean --full`).
+
+`stack-clean-old delete-work --all` works from outside stack projects:
+please test with `--dry-run` first.
 
 ## Installation
 
diff --git a/src/Directories.hs b/src/Directories.hs
--- a/src/Directories.hs
+++ b/src/Directories.hs
@@ -25,7 +25,7 @@
 switchToSystemDirUnder dir = do
   ifM (doesDirectoryExist dir)
     (setCurrentDirectory dir)
-    (error' $ dir ++ "not found")
+    (error' $ dir ++ " not found")
   systems <- listDirectory "."
   -- FIXME be more precise/check "system" dirs
   -- eg 64bit intel Linux: x86_64-linux-tinfo6
diff --git a/src/GHC.hs b/src/GHC.hs
--- a/src/GHC.hs
+++ b/src/GHC.hs
@@ -78,4 +78,4 @@
 doRemoveGhcVersion dryrun ghcinst = do
   Remove.doRemoveDirectory dryrun ghcinst
   Remove.removeFile dryrun (ghcinst <.> "installed")
-  putStrLn $ ghcinst ++ "compiler " ++ (if dryrun then "would be " else "") ++ "removed"
+  putStrLn $ ghcinst ++ " compiler " ++ (if dryrun then "would be " else "") ++ "removed"
diff --git a/src/Snapshots.hs b/src/Snapshots.hs
--- a/src/Snapshots.hs
+++ b/src/Snapshots.hs
@@ -169,7 +169,8 @@
     if allrecurse then return True
     else doesDirectoryExist ".stack-work"
   if recurse then do
-    workdirs <- sort <$> cmdLines "find" ["-type", "d", "-name", ".stack-work"]
+    -- ignore find errors (e.g. access rights)
+    workdirs <- sort . lines <$> cmdIgnoreErr "find" [".", "-type", "d", "-name", ".stack-work", "-prune"] []
     unless (null workdirs) $ do
       mapM_ putStrLn workdirs
       Remove.prompt dryrun "these dirs"
diff --git a/stack-clean-old.cabal b/stack-clean-old.cabal
--- a/stack-clean-old.cabal
+++ b/stack-clean-old.cabal
@@ -1,5 +1,5 @@
 name:                stack-clean-old
-version:             0.3
+version:             0.3.1
 synopsis:            Clean away old stack build artefacts
 description:
         A tool for removing old .stack-work/install builds and
@@ -9,7 +9,7 @@
 license-file:        LICENSE
 author:              Jens Petersen <juhpetersen@gmail.com>
 maintainer:          Jens Petersen <juhpetersen@gmail.com>
-copyright:           2020  Jens Petersen <juhpetersen@gmail.com>
+copyright:           2020-2021  Jens Petersen <juhpetersen@gmail.com>
 homepage:            https://github.com/juhp/stack-clean-old
 bug-reports:         https://github.com/juhp/stack-clean-old/issues
 build-type:          Simple
