diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5b1aa6b4d40fe1b4900fc7d56d1b5287672fceb6..ced5fc670133e578c795e68ca4d02d1c5cdbaf63 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,8 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
 
 ## Version 0.7.15 - Unreleased
 
+### Added
+* Allow special options to be passed to cli
 
 ## Version 0.7.14 - Released 2024-04-15
 
diff --git a/scriptconfig/config.py b/scriptconfig/config.py
index c07169ec0b798720212cc3094f90b5551b9ee39d..d4854cc3cb8dcdf046352037e6b815cf01c49d73 100644
--- a/scriptconfig/config.py
+++ b/scriptconfig/config.py
@@ -341,7 +341,7 @@ class Config(ub.NiceRepr, DictLike, metaclass=MetaConfig):
 
     @classmethod
     def cli(cls, data=None, default=None, argv=None, strict=True,
-            cmdline=True, autocomplete='auto'):
+            cmdline=True, autocomplete='auto', special_options=True):
         """
         Create a commandline aware config instance.
 
@@ -390,7 +390,7 @@ class Config(ub.NiceRepr, DictLike, metaclass=MetaConfig):
         # prevents adding clean options for control flow.
         self = cls(_dont_call_post_init=True)
         self.load(data, cmdline=cmdline, default=default, strict=strict,
-                  autocomplete=autocomplete)
+                  autocomplete=autocomplete, special_options=special_options)
         return self
 
     @classmethod
@@ -564,7 +564,8 @@ class Config(ub.NiceRepr, DictLike, metaclass=MetaConfig):
         self._alias_map = None
 
     def load(self, data=None, cmdline=False, mode=None, default=None,
-             strict=False, autocomplete=False, _dont_call_post_init=False):
+             strict=False, autocomplete=False, _dont_call_post_init=False,
+             special_options=True):
         """
         Updates the configuration from a given data source.
 
@@ -738,7 +739,7 @@ class Config(ub.NiceRepr, DictLike, metaclass=MetaConfig):
             # should override them IF they exist on in sys.argv, but not if
             # they don't?
             read_argv_kwargs = {
-                'special_options': True,
+                'special_options': special_options,
                 'strict': strict,
                 'autocomplete': autocomplete,
                 'argv': None,