That particular issue is fixed in upstream's 0.7.0. I patched it, but hit another issue afterwards: =================================== FAILURES =================================== _ test_google_docstring_help[simple_google_docstring --help 2 --arg2=test-usage: example.py simple_google_docstring [-h] [--arg2 ARG2] arg1\n\nExtended description.\n\npositional arguments:\n arg1 Description of `arg1`\n\noptional arguments:\n -h, --help show this help message and exit\n --arg2 ARG2 Description of `arg2`\n] _ args = ['simple_google_docstring', '--help', '2', '--arg2=test'] result = 'usage: example.py simple_google_docstring [-h] [--arg2 ARG2] arg1\n\nExtended description.\n\npositional arguments:\n... `arg1`\n\noptional arguments:\n -h, --help show this help message and exit\n --arg2 ARG2 Description of `arg2`\n' @pytest.mark.parametrize('args,result', GOOGLE_DOCSTRING_HELP_CASES) def test_google_docstring_help(args, result): args = args.split() with pytest.raises(SystemExit): with capture.capture_sys_output() as (stdout, stderr): program.execute(args) > assert result == stdout.getvalue() E AssertionError: assert 'usage: examp...n of `arg2`\n' == 'usage: examp...n of `arg2`\n' E Skipping 146 identical leading characters in diff, use -v to show E 1` E E - options: E + optional arguments: E -h, --help show this help message and exit E --arg2 ARG2 Description of `arg2` mando/tests/test_google.py:57: AssertionError _ test_numpy_docstring_help[simple_numpy_docstring --help 2 --arg2=test-usage: example.py simple_numpy_docstring [-h] [--arg2 ARG2] arg1\n\nExtended description.\n\npositional arguments:\n arg1 Description of `arg1`\n\noptional arguments:\n -h, --help show this help message and exit\n --arg2 ARG2 Description of `arg2`\n] _ args = ['simple_numpy_docstring', '--help', '2', '--arg2=test'] result = 'usage: example.py simple_numpy_docstring [-h] [--arg2 ARG2] arg1\n\nExtended description.\n\npositional arguments:\n ... `arg1`\n\noptional arguments:\n -h, --help show this help message and exit\n --arg2 ARG2 Description of `arg2`\n' @pytest.mark.parametrize('args,result', NUMPY_DOCSTRING_HELP_CASES) def test_numpy_docstring_help(args, result): args = args.split() with pytest.raises(SystemExit): with capture.capture_sys_output() as (stdout, stderr): program.execute(args) > assert result == stdout.getvalue() E AssertionError: assert 'usage: examp...n of `arg2`\n' == 'usage: examp...n of `arg2`\n' E Skipping 145 identical leading characters in diff, use -v to show E 1` E E - options: E + optional arguments: E -h, --help show this help message and exit E --arg2 ARG2 Description of `arg2` mando/tests/test_numpy.py:62: AssertionError =========================== short test summary info ============================ FAILED mando/tests/test_google.py::test_google_docstring_help[simple_google_docstring --help 2 --arg2=test-usage: example.py simple_google_docstring [-h] [--arg2 ARG2] arg1\n\nExtended description.\n\npositional arguments:\n arg1 Description of `arg1`\n\noptional arguments:\n -h, --help show this help message and exit\n --arg2 ARG2 Description of `arg2`\n] FAILED mando/tests/test_numpy.py::test_numpy_docstring_help[simple_numpy_docstring --help 2 --arg2=test-usage: example.py simple_numpy_docstring [-h] [--arg2 ARG2] arg1\n\nExtended description.\n\npositional arguments:\n arg1 Description of `arg1`\n\noptional arguments:\n -h, --help show this help message and exit\n --arg2 ARG2 Description of `arg2`\n] ========================= 2 failed, 77 passed in 0.20s ========================= Which seems to be https://github.com/rubik/mando/pull/54