diff --git a/typ/arg_parser.py b/typ/arg_parser.py
index f7a6026..831d0cd 100644
--- a/typ/arg_parser.py
+++ b/typ/arg_parser.py
@@ -280,6 +280,8 @@
             v = d[k]
             argname = _argname_from_key(k)
             action = self._action_for_key(k)
+            if not action:
+              continue
             action_str = _action_str(action)
             if k == 'tests':
                 tests = v
@@ -310,8 +312,9 @@
             if action.dest == key:
                 return action
 
-        assert False, ('Could not find an action for %s'  # pragma: no cover
-                       % key)
+        # Assume foreign argument: something used by the embedder of typ, for
+        # example.
+        return None
 
 
 def _action_str(action):
diff --git a/typ/tests/arg_parser_test.py b/typ/tests/arg_parser_test.py
index 8e3a7bd..3d443f6 100644
--- a/typ/tests/arg_parser_test.py
+++ b/typ/tests/arg_parser_test.py
@@ -44,6 +44,13 @@
         check(['--jobs', '3'])
         check(['-vv'], ['--verbose', '--verbose'])
 
+    def test_argv_from_args_foreign_argument(self):
+        parser = ArgumentParser()
+        parser.add_argument('--some-foreign-argument', default=False,
+                            action='store_true')
+        args = parser.parse_args(['--some-foreign-argument', '--verbose'])
+        self.assertEqual(['--verbose'], ArgumentParser().argv_from_args(args))
+
     def test_valid_shard_options(self):
         parser = ArgumentParser()
 
