Opus 5.5 inline tools: adding Sume tools mid-conversation

Claude Opus 5.5 inline tools add tool definitions mid-conversation without breaking the prompt cache. What that changes for Sume MCP, and what it does not.

5 min readSume
All posts

Inline tools are a Claude Platform beta that lets you define or change tools inside a mid-conversation system message, so a long Claude Opus 5.5 session can gain a tool later without invalidating the prompt cache. For a Sume video agent that means you can start with read-only tools and add a paid one only after the user approves spend. It does not change what Sume's hosted MCP server allows: that is decided by the session's OAuth scope or API key.

What Anthropic shipped

The Claude Platform release notes for September 22, 2026 describe Claude Opus 5.5 together with a beta header, inline-tools-2026-09-15. With it, a mid-conversation system message can carry a tool_addition block whose tool is a tool_definition holding the full definition. Anthropic lists three uses: adding a tool, changing a schema, and moving to a newer server-tool version, all without invalidating the prompt cache.

The same notes say that with the mcp-client-2026-09-15 beta header a definition can be an MCP toolset, and that the response records the fetched tool list in an mcp_tool_listing block you can send back to pin it. This post covers the first feature; the pinning side is in pin the Sume tool list.

Two different gates

There are two places a tool can be hidden or allowed, and inline tools only touch the first.

Where each gate lives (read 2026-10-04)
GateControlled byEffect on a paid Sume call
Which tools Claude is shownYour request, including inline tool additionsClaude cannot call a tool it was never given
Which tools Sume will runOAuth mcp:read / mcp:write, or an API keyA read-only session gets insufficient_scope on paid tools
Whether a paid call is repeatableidempotency_key on the callA retry with the same key does not pay twice

A staged-spend pattern

Hosted Sume MCP defaults to read-only visibility under OAuth mcp:read, and mutating or paid tools stay hidden until the session has mcp:write or an API key, per MCP tools and gates. So the staging below only makes sense with a write-capable session; with a read-only one, the paid tools are not there to add.

  • Start the conversation with discovery and reads: tools_list, tools_schema, balance_get, jobs_status.
  • Let Claude plan the clip and call generation_admission_preview or a dry_run=true call for an estimate.
  • After the user confirms the price, add the paid tool definition as an inline addition, so the cached prefix is not rebuilt.
  • Submit with a fresh idempotency_key and, if you want a hard ceiling, max_spend_usd.

What not to rely on

Do not treat an inline addition as authorization. It is a prompt-side choice that any later turn, or another client on the same key, can bypass. The OAuth and API keys page is explicit that spend is wallet and admission based and that there is no mcp:paid scope, so the real brakes are dry_run, max_spend_usd and your wallet balance.

Also keep tool names stable. Sume's live ids are underscore names such as generate_video and jobs_wait; dotted aliases still work but add noise to a cached prefix. Check the current list with tools_list as described in the MCP quickstart rather than copying names from a blog post.

When it is worth it

Inline tools pay off in long sessions where the cached prefix is large and tools arrive late. For a short render request, define every tool up front and let the Sume session scope do the gating. Either way, the job keeps running if the conversation ends, so store the job id and read it later with jobs_status, as in Jobs and results.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume