diff --git a/lib/util/fs/util.spec.ts b/lib/util/fs/util.spec.ts
index c37d971b0673f6ad57b553fe74dd50ca4e1d5deb..345acf38c21adc1d483d4e012843671bc5644b73 100644
--- a/lib/util/fs/util.spec.ts
+++ b/lib/util/fs/util.spec.ts
@@ -73,6 +73,7 @@ describe('util/fs/util', () => {
     ${'/foo'}           | ${false}
     ${'&&'}             | ${false}
     ${';'}              | ${true}
+    ${'./[foo]/bar'}    | ${true}
   `('isValidPath($value) == $expected', ({ value, expected }) => {
     expect(isValidPath(value, 'cacheDir')).toBe(expected);
   });
diff --git a/lib/util/fs/util.ts b/lib/util/fs/util.ts
index ab7df10fdb1990c5f504bdeb200370eb642164be..d43d6e27b6f27cc70330c808987eb9a0ce5fc82b 100644
--- a/lib/util/fs/util.ts
+++ b/lib/util/fs/util.ts
@@ -5,7 +5,7 @@ import { logger } from '../../logger';
 
 // http://www.mtu.edu/umc/services/digital/writing/characters-avoid/
 // We allow spaces, but not newlines
-const restricted = /[[\]#%&<>*?\b\n\r\0!'"|‘“^`]/;
+const restricted = /[#%&<>*?\b\n\r\0!'"|‘“^`]/;
 
 function assertBaseDir(path: string, baseDir: string): void {
   if (!path.startsWith(baseDir)) {