diff --git a/agentmain.py b/agentmain.py index 2f20f6deb..56cb1bd3f 100644 --- a/agentmain.py +++ b/agentmain.py @@ -206,7 +206,13 @@ def run(self): parser.add_argument('--nobg', action='store_true') parser.add_argument('--nolog', action='store_true') args, _unknown = parser.parse_known_args() - _extra_args = dict(zip([k.lstrip('-') for k in _unknown[::2]], _unknown[1::2])) if _unknown else {} + if _unknown and not args.reflect: + # Reject unknown CLI flags unless we are in --reflect mode, where + # extra key/value pairs are forwarded to the reflect script. + # Without this guard, typos like `--goal` silently fall through to + # interactive mode and the process looks alive without doing any work. + parser.error(f"unrecognized arguments: {' '.join(_unknown)}") + _reflect_args = dict(zip([k.lstrip('-') for k in _unknown[::2]], _unknown[1::2])) if _unknown else {} if (args.func or args.task) and not args.nobg: import subprocess, platform