diff -r 36af3566b67a Lib/argparse.py --- a/Lib/argparse.py Thu Nov 03 15:38:58 2016 +0200 +++ b/Lib/argparse.py Fri Nov 04 15:16:07 2016 -0400 @@ -1978,7 +1978,8 @@ required_actions = [] for action in self._actions: if action not in seen_actions: - if action.required: + if (action.required and + action.nargs not in [OPTIONAL, ZERO_OR_MORE]): required_actions.append(_get_action_name(action)) else: # Convert action default now instead of doing it before