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.

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.
| Gate | Controlled by | Effect on a paid Sume call |
|---|---|---|
| Which tools Claude is shown | Your request, including inline tool additions | Claude cannot call a tool it was never given |
| Which tools Sume will run | OAuth mcp:read / mcp:write, or an API key | A read-only session gets insufficient_scope on paid tools |
| Whether a paid call is repeatable | idempotency_key on the call | A 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_previewor adry_run=truecall 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_keyand, 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
- claude -p says Sume needs authentication after one refused write call
Claude Code 2.1.286 stopped headless runs flagging a server as unauthenticated after one refused call. Sume's scope refusal is a tool result, not a 401.
- claude -p killed by timeout or systemd: the Sume job keeps running
A supervisor that kills claude -p does not cancel the Sume job it started. List jobs, then wait or cancel before retrying, or you pay twice.
- claude plugin validate: a clean .mcp.json entry for Sume
Claude Code v2.1.281 makes claude plugin validate check .mcp.json entries. A Sume entry needs only the URL https://mcp.sume.com/mcp and no secret.
- Sonnet 5.5 on Bedrock has no strict tools: check Sume calls first
Anthropic says strict tool use is unavailable for Claude Sonnet 5.5 on Amazon Bedrock. Validate arguments yourself and use Sume dry_run before paid calls.
Written by Sume