Agent SDK permissionMode omitted: auto mode, Sume gates stay

From Agent SDK 0.3.286 an omitted permissionMode can start in auto mode. Sume's idempotency_key and scope checks run server-side whatever mode you pick.

4 min readSume
All posts

If you leave permissionMode out in the TypeScript Agent SDK 0.3.286, the choice is now made by Claude Code, so a session can start in auto mode with no manual approvals. Sume does not rely on that prompt: its write and paid tools are gated by scope and idempotency_key on the server.

The SDK change is from the release notes; the gates are from Sume's MCP tools and gates, both read 2026-10-01.

What changed when permissionMode is omitted?

The 0.3.286 notes (2026-09-30) say the SDK now leaves an omitted permissionMode to Claude Code, so a settings defaultMode applies. On third-party providers or with telemetry off, the session starts in auto mode like claude -p. Pass permissionMode: 'default' to keep manual approvals.

Which Sume checks does auto mode not touch?

The client mode decides whether a human is asked. The Sume checks below are evaluated by the hosted MCP server, so a session in auto mode meets the same ones.

Gates on the Sume hosted server, per the docs, read 2026-10-01: https://docs.sume.com/mcp/tools-and-gates
GateWhat the docs say
idempotency_keyRequired on write and paid tools; a stable key for transport and dedup, not human approval
ScopeThere is no mcp:paid scope; mutating and paid tools need mcp:write or an API key
Read-only OAuthWrite and paid calls return insufficient_scope
API key sessionFull hosted tool set with the same idempotency_key and admission rules
max_spend_usdOptional; enforced only when provided

Should I still pass permissionMode: 'default'?

That is a client policy decision. Keep manual approvals if a person should see each paid call before it goes out. If the agent runs unattended, set max_spend_usd and use dry_run=true first, since the docs describe dry_run as an admission and cost preview that does not submit the job. See also auto mode and Sume paid prompts.

How do I check what a session can call?

Call tools_list for the tools visible to the session and tools_schema with a name for one contract. A read-only OAuth session will not list the mutating tools at all.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume