Claude Code 2.1.288: MCP calls that ran twice, and paid Sume calls

2.1.288 fixed MCP tool calls sometimes running twice when a remote result was over 16 MB or unparsable. Why every paid Sume call needs an idempotency_key.

4 min readSume
All posts

Claude Code 2.1.288 (Oct 2) fixed MCP tool calls that sometimes ran twice when the remote result was over 16 MB or could not be parsed. A paid Sume call that runs twice would be two renders if the key differs, which is why paid and write MCP calls require an idempotency_key.

What was fixed?

From the changelog: MCP tool calls sometimes running twice when a remote result was over 16 MB or unparsable. The fix is in the client, so keep the version current in CI.

Claude Code changelog (read 2026-10-09)
VersionDateFix
2.1.288Oct 2 2026MCP tool calls sometimes ran twice when a remote result was over 16 MB or unparsable

What does the key do on Sume?

The MCP docs describe idempotency_key as a stable key for transport and dedup, required on write and paid tools. It is not human approval. A repeat with the same key is meant to return the original job rather than start another.

How do you choose a key?

Tie it to the task, not the attempt:

  • Good: a hash of the campaign id, scene number and prompt.
  • Bad: a timestamp or random value made on each retry. It defeats the dedup.
  • Keep the key in the log with the job id, so a replay can reuse it.

Is the cap also repeated?

Send max_spend_usd on each call; a second run is then bounded too. For bursts, check generation_admission_preview first. See MCP tools and gates.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume