diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for pms-infra-cmdrun
 
+## 0.0.7.0 -- 2025-09-07
+
+* Support invalidChars configs.
+
 ## 0.0.6.0 -- 2025-08-11
 
 * Fixed encoding.
diff --git a/pms-infra-cmdrun.cabal b/pms-infra-cmdrun.cabal
--- a/pms-infra-cmdrun.cabal
+++ b/pms-infra-cmdrun.cabal
@@ -20,7 +20,7 @@
 -- PVP summary:     +-+------- breaking API changes
 --                  | | +----- non-breaking API additions
 --                  | | | +--- code changes with no API change
-version:            0.0.6.0
+version:            0.0.7.0
 
 -- A short (one-line) description of the package.
 synopsis:           pms-infra-cmdrun
diff --git a/src/PMS/Infra/CmdRun/DS/Core.hs b/src/PMS/Infra/CmdRun/DS/Core.hs
--- a/src/PMS/Infra/CmdRun/DS/Core.hs
+++ b/src/PMS/Infra/CmdRun/DS/Core.hs
@@ -148,12 +148,14 @@
 genCmdRunTask dat = do
   toolsDir <- view DM.toolsDirDomainData <$> lift ask
   resQ <- view DM.responseQueueDomainData <$> lift ask
+  invalidChars <- view DM.invalidCharsDomainData <$> lift ask
+  invalidCmds <- view DM.invalidCmdsDomainData <$> lift ask
   let nameTmp = dat^.DM.nameDefaultCmdRunCommandData
       argsBS = DM.unRawJsonByteString $ dat^.DM.argumentsDefaultCmdRunCommandData
   args <- liftEither $ eitherDecode $ argsBS
   
-  name <- liftIOE $ DM.validateCommand nameTmp
-  argsStr <- liftIOE $ DM.validateArg $ args^.argumentsStringToolParams
+  name <- liftIOE $ DM.validateCommand invalidChars invalidCmds nameTmp
+  argsStr <- liftIOE $ DM.validateArg invalidChars $ args^.argumentsStringToolParams
 #ifdef mingw32_HOST_OS
   let scriptExt = ".bat"
 #else
