Repro
{{unity command batch --on_error continue --format json --operations '[
{"command":"editor_status","params":{"nope":"foo"}},
{"command":"find_assets","params":{"type":"Texture2D","limit":"x"}}]'}}
Observed
{{success: true, errors: []
results[0] {"command":"editor_status","success":true, ...} # "nope" ignored
results[1] {"command":"find_assets","success":false,
"error":"Parameter 'limit' could not be converted to Int32: Input string was not in a correct format."}}}
A direct dispatch refuses an unknown name:
{{unity command console_status --cursor … --level … --limit …
→ exit 2
{ "success": false, "errors": [
{ "code": "INVALID_COMMAND_ARGS",
"message": "Invalid arguments for console_status:\n console_status has no parameter --cursor.\n console_status has no parameter --level.\n console_status has no parameter --limit." }
] }}}
ExpectedEach operation goes through the same binder as a direct dispatch: an unknown name fails that operation with INVALID_COMMAND_ARGS. Type coercion already does this per operation.
AI Kit today: we check every operation against the registry before we send the batch.