From 396c02c6de4bff1533f3fcbcf682a8ce61d1194a Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Tue, 5 Aug 2025 13:33:12 +1200 Subject: [PATCH] [core] Allow extra args on cli and just ignore them (#9814) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- esphome/__main__.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/esphome/__main__.py b/esphome/__main__.py index 5e45b7f213..47e1c774ac 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -767,6 +767,12 @@ POST_CONFIG_ACTIONS = { "discover": command_discover, } +SIMPLE_CONFIG_ACTIONS = [ + "clean", + "clean-mqtt", + "config", +] + def parse_args(argv): options_parser = argparse.ArgumentParser(add_help=False) @@ -1032,6 +1038,13 @@ def parse_args(argv): arguments = argv[1:] argcomplete.autocomplete(parser) + + if len(arguments) > 0 and arguments[0] in SIMPLE_CONFIG_ACTIONS: + args, unknown_args = parser.parse_known_args(arguments) + if unknown_args: + _LOGGER.warning("Ignored unrecognized arguments: %s", unknown_args) + return args + return parser.parse_args(arguments)