This happened due to not resetting the `invoked_subcommand` state tracking. Since the `invoked_subcommand` was not reset, it would always assume that it was valid and repeatedly call it when passed invalid subcommands/arguments.
This happened due to not resetting the `invoked_subcommand` state tracking. Since the `invoked_subcommand` was not reset, it would always assume that it was valid and repeatedly call it when passed invalid subcommands/arguments.