MCP tool calls return cached error responses after server fix within same session
Description
When an MCP tool call fails (e.g. due to a server-side bug), Claude Code caches the error response and returns it for all subsequent calls to the same tool within the same session — even after the underlying server issue has been fixed and the server is working correctly again.
Steps to Reproduce
- Start a Claude Code session with an MCP server configured
- Call an MCP tool — it fails with an error (server-side bug)
- Fix the bug on the server side (server now works correctly)
- Call the same MCP tool again in the same session
- The same error from step 2 is returned without actually contacting the server
Expected Behavior
Each MCP tool call should be sent to the server fresh. Error responses should not be cached and replayed on subsequent calls.
Actual Behavior
The error response from the first failed call is returned for all subsequent calls to the same tool in the session. The server is never contacted again for that tool.
Impact
This makes it impossible to recover from transient MCP server errors within a running session without restarting Claude Code entirely. It also makes debugging MCP servers difficult, as fixes are not reflected in subsequent tool calls.
Environment
- Claude Code CLI
- MCP server via HTTP transport
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗