Claude Code maxResultSizeChars 500,000 vs Sume's 256 KiB output cap

Raising Claude Code's per-tool result limit to 500,000 characters does not change what Sume returns: the server caps one MCP result at 262,144 bytes.

5 min readSume
All posts

Raising the limit in Claude Code does not make a Sume tool return more data. Claude Code lets a tool set _meta["anthropic/maxResultSizeChars"] up to 500,000 characters, and the default MAX_MCP_OUTPUT_TOKENS is 25,000. Those are client-side ceilings on what Claude Code will accept. Sume enforces its own ceiling before the response is sent: one MCP result may not exceed 256 KiB, which is 262,144 bytes. The smaller of the two limits wins, so the client setting is only relevant when it is lower than Sume's.

Two limits, two places

The node and depth limits come from the same output check. A result with 10,000 or more JSON nodes, or nested more than 32 levels, is refused with an "MCP output budget exceeded" error even when it is small in bytes.

Output limits on each side (Claude Code page read 2026-10-09; Sume figures from the repo as of 2026-10-09)
LimitValueEnforced by
MAX_MCP_OUTPUT_TOKENS default25,000 tokensClaude Code
Warning threshold10,000 tokensClaude Code
Per-tool override_meta anthropic/maxResultSizeChars, up to 500,000 charsClaude Code
One MCP result256 KiB (262,144 bytes)Sume MCP server
Nodes in one result10,000 maximumSume MCP server
Nesting depth32 maximumSume MCP server

What to do when a result is too large

Do not retry with a larger client limit; the same call will fail the same way. Sume's job tools are built so that the large thing, the media file, is never inside the MCP result. A finished job returns metadata and a URL, and the file itself is fetched over HTTPS outside the tool channel.

Ask for less per call instead. jobs_wait has an include_results flag that is false unless you set it, so a batch wait returns statuses only. When you do need results for many jobs, split the ids across several calls rather than one call with all 20 and include_results on.

An oversize error is not a failed job. The job keeps running and billing as normal, and you can fetch it later with jobs_result using the same job_id.

  • Leave include_results off for batch waits, then call jobs_result per finished job.
  • Download media from the returned URL with your own HTTP client, not through the model.
  • Do not raise MAX_MCP_OUTPUT_TOKENS to work around a Sume error; it cannot help.

Where the client limit still matters

The Claude Code limit matters when a result is under 256 KiB but over what the model should read. 25,000 tokens is far smaller than 262,144 bytes of JSON, so a large jobs_result with include_results can trigger Claude Code's warning at 10,000 tokens well before Sume's cap. In that case, narrow the request, not the limit.

A quick budget for a batch

Suppose a script submits 20 clips and waits on all of them. A jobs_wait call with 20 ids and include_results false returns 20 small status objects, far inside both limits. The same call with include_results true returns 20 result objects, and each carries URLs and metadata. That is where you start to approach the 10,000 token warning in Claude Code, even though the bytes stay well under 262,144.

If a result does exceed Sume's cap, the error names the output budget, not the job. Read it as a signal to shrink the request. The reliable pattern is one wait for statuses, then one jobs_result per finished job, which keeps every response small and every failure local to one job.

Sources

Related posts

More in Integrations

All Integrations posts

Written by Sume