Skip to main content
Glama

batch

Destructive

Execute an ordered list of tool calls in one request, with precondition checks and a per-step trace; it halts on failure for safe re-planning.

Instructions

Run an ORDERED LIST of tool calls in one shot (collapses many round-trips into one). Each step is { name, arguments, expect? } (args is accepted for arguments). name+arguments is a normal tool call (compound like {"name":"computer","arguments":{"action":"type","text":"hi"}} or a granular tool). Optional expect is a precondition checked by RE-PERCEIVING before the step runs: {"window":"notepad"} (foreground window must match) or {"element":"Send"} (a11y element must be present). The batch HALTS on the first failed precondition, safety stop, or step error and returns a per-step trace so you re-plan from real state. Every step goes through the same safety gate as a direct call. Use expect to guarantee you act on the right window/element instead of guessing. Set dryRun:true to pre-scan safety tiers without executing. A confirm-tier step still HALTS the batch by default; allowConfirm:true only proceeds if the operator started the daemon with CLAWD_BATCH_ALLOW_CONFIRM=1 (otherwise it is ignored — confirm-tier stays gated).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stepsYesOrdered steps to run. Each step is a normal tool call: { "name": "<tool>", "arguments": {...}, "expect"?: {"window"?,"element"?} } ("args" is accepted for "arguments"). (A JSON-encoded string of the same array is also accepted.)
dryRunNoOnly report each step's safety tier; do not execute.
maxStepsNoHard cap on executed steps (default 12).
allowConfirmNoRequest that confirm-tier steps proceed. Only effective if the operator enabled CLAWD_BATCH_ALLOW_CONFIRM=1 on the daemon; otherwise ignored and the batch halts at the confirm step. Never bypasses block-tier.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.5.16

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructive/openWorld/non-idempotent, and the description adds substantial context beyond them: the batch HALTS on the first failed precondition, safety stop, or step error and returns a per-step trace; every step passes the same safety gate as a direct call; allowConfirm only works if the daemon was started with CLAWD_BATCH_ALLOW_CONFIRM=1 and never bypasses block-tier. These are exactly the operational traits an agent needs and none are in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and every sentence carries information about halting, safety gating, or parameter aliases. It is dense and parenthetical-heavy, which slightly hurts scanability, but there is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex, no-output-schema meta-tool this is thorough: it covers step structure, aliases, precondition semantics, halt conditions, the safety gate, dryRun, and confirm-tier gating. An agent has everything needed to construct and reason about a batch without opening the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: `expect` is a precondition re-checked by re-perceiving before the step runs, `args` is an alias of `arguments`, and `arguments` may carry an `expect` assertion array verified post-step. The allowConfirm env-var gating and dryRun pre-scan behavior also go beyond the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific verb and resource ('Run an ORDERED LIST of tool calls in one shot') and explains the mechanism ('collapses many round-trips into one'). It also clarifies its relationship to the sibling tools by describing each step as 'a normal tool call (compound like computer/window or a granular tool)', so an agent can distinguish this meta-tool from the single-capability siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete usage guidance: use `expect` to 'guarantee you act on the right window/element instead of guessing', and set dryRun:true to pre-scan safety tiers without executing. It also states the halt semantics that govern when a batch is viable. It stops short of an explicit 'prefer batch over sequential calls when X' rule, so 4 rather than 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools