[BUG] Approval-gated destructive MCP tool errors "not registered" on invocation, despite server confirming read-write mode and tool being fully implemented

Status Open
Maintainer reply None cached
Activity 1 comment · opened Sep 3, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

A self-hosted stdio MCP server (tastytrade-mcp, github.com/tastytrade/tastytrade-mcp) correctly registers and lists a tool (tastytrade_place_order) that is flagged as DESTRUCTIVE in its annotations. The tool appears correctly in:

tools/list results (confirmed via server-side logs)
The Settings → Capabilities → "Write/delete tools" permission list, with a "Needs approval" gate correctly shown for it by name
Tool-search / schema lookups (full parameter schema is surfaced correctly)
But invoking the tool fails immediately with:

Error: tool 'tastytrade:tastytrade_place_order' is not registered. This may
indicate a tool name hallucination or a stale tool schema.
No approval prompt ever appears in the UI before this error — the call fails before reaching whatever would normally trigger the approval dialog.

What Should Happen?

Either:

The approval prompt should appear, allowing the user to approve/deny the call, or
If the tool genuinely isn't dispatchable, the error should not say "not registered" (which is misleading — the tool IS registered, per the server's own logs and the Capabilities UI), and should not suggest "tool name hallucination" when the name is verifiably correct and unchanged between the schema lookup and the invocation attempt.

Error Messages/Logs

Steps to Reproduce

Configure a self-hosted stdio MCP server in claude_desktop_config.json that exposes at least one tool annotated as destructive/write (per MCP tool annotations spec).
Confirm in Settings → Capabilities that the tool is listed under "Write/delete tools" with a "Needs approval" (or similar) gate.
In a conversation, prompt Claude to call that specific tool.
Observe the tool call fails with tool '...' is not registered, and no approval prompt appears at any point.

Claude Model

Sonnet (default)

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

Claude 1.44121.4 (0d57a2) 2026-09-02T23:50:20.000Z

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Windows Terminal

Additional Information

_No response_

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗