diff --git a/src/cleveragents/cli/commands/tool.py b/src/cleveragents/cli/commands/tool.py index 0465ffbd..ddf155a3 100644 --- a/src/cleveragents/cli/commands/tool.py +++ b/src/cleveragents/cli/commands/tool.py @@ -241,6 +241,15 @@ def add( raw = config.read_text(encoding="utf-8") config_dict = yaml.safe_load(raw) + + # Handle spec-compliant 'tool:' wrapper key format + # If the YAML has a top-level 'tool:' key, extract its contents + if isinstance(config_dict, dict) and 'tool' in config_dict: + config_dict = config_dict['tool'] + + # Ignore 'cleveragents:' version header if present + if isinstance(config_dict, dict) and 'cleveragents' in config_dict: + del config_dict['cleveragents'] if not isinstance(config_dict, dict): raise ValueError("YAML config must be a mapping")