Skip to content

ScriptedTool accepts clap-based builtins

ScriptedToolBuilder::builtin(...) registers a builtin that receives raw arguments, next to the ToolDef tools of a ScriptedTool. Commands that need positionals, short flags, -- or required-argument checks at parse time can now use clap inside a ScriptedTool:

.builtin("get_agent", Box::new(GetAgent))

A tool whose schema sets "additionalProperties": false now rejects an unknown flag with an error that names the valid flags, instead of silently dropping it. clap output is stripped of ANSI codes.

See Scripted tools, clap builtins and #2408.