Use a low-effort Haiku 5.5 subagent for Sume dry_run previews

Anthropic recommends low effort for subagents, and warns it can skip checks. Where a Haiku 5.5 subagent fits in front of a paid Sume call.

5 min readSume
All posts

A low-effort Claude Haiku 5.5 subagent is a reasonable place to run a Sume dry_run preview, as long as the paid submit stays with a parent agent that has the budget rules. Anthropic's effort page lists "subagents" as a use for low, and its Haiku 5.5 section says low is the cheapest and fastest level for short tool tasks while warning that in long prompts it is more likely to skip a search or a check.

What a dry run returns and does not do

Sume's hosted tools accept dry_run=true. Per the tools-and-gates page, it is an admission and cost preview only and does not submit the job. The recommended order is to call with dry_run=true, examine the preview, and call again with dry_run omitted or false to submit. idempotency_key is required on paid and write calls, and max_spend_usd is optional and enforced only when you give it.

That makes the preview a read-like step. A wrong preview wastes a few seconds. A wrong submit spends money.

Who does what in a preview-then-submit split, Anthropic effort page and Sume docs, read 2026-10-08
StepAgentEffortSume call
Preview costSubagentlowPaid tool with dry_run=true
Decide to spendParentmediumNone; compares preview with budget
SubmitParentmediumSame tool, new idempotency_key, max_spend_usd set
WaitSubagentlowjobs_wait in 45 to 55 second slices

The risk Anthropic names

The skipped check is the failure to design around. A subagent that is meant to call dry_run can answer from memory instead. Make the check structural: the subagent returns only the preview fields, and the parent refuses to submit unless the preview came from a real tool call in this turn.

Give the subagent a read-only session where you can. With OAuth, a session granted mcp:read and not mcp:write can list tools and read state, but a write or paid call returns insufficient_scope. That turns a subagent that skips its check into a harmless error instead of a submit.

Where the cap lives

Put the spending decision in code the model cannot rewrite. The parent sets max_spend_usd from your own budget variable on every paid call, and rejects a preview whose estimate is above it. For unattended work through Agent Completions the cap is mandatory: generation_spend_cap_usd has no default, and a request without it returns 400 invalid_request.

Anthropic's own guidance for a model that skips checks is to raise effort, so keep that knob available. See dry_run and max_spend_usd for avatar video tools for the call shapes.

A short policy to paste into the parent prompt

Write the rule once, where the parent agent reads it every turn. Keep it short and testable, because a long rule is exactly the kind of prompt where a low-effort model drifts.

Then test it. Ask the subagent to price a job it has never seen, and confirm the answer cites a preview from a real tool call. Run the same test at medium to see whether the level changes the result on your task, as Anthropic advises.

  • Preview first: call the paid tool with dry_run=true and report the estimate.
  • Submit only if the estimate is at or below the budget variable.
  • Send a new idempotency_key per intent and max_spend_usd on every paid call.
  • Poll with jobs_wait; never call the create tool again for the same job.

Sources

Related posts

More in Agents

All Agents posts

Written by Sume