[BUG] MCP progress notifications are no longer displayed in the UI (regression)
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?
MCP tool calls are unconditionally collapsed in the UI (isCollapsible: true for all MCP tools), showing only "Calling {server}..." with no visible streaming output, even when Ctrl+O is pressed.
This is fine for quick MCP calls, but breaks the UX for long-running tools that stream meaningful progress (build status, deploy steps, test execution). The user sees a static "Calling {server}..." for minutes with no indication of what's happening.
Built-in tools like Bash stream their output visibly by default. MCP tools doing equivalent work (running builds, deploying, testing, etc) should have the same affordance.
Request: Add an MCP tool annotation (e.g. _meta["anthropic/expandByDefault"]: true) that lets servers opt specific tools out of auto-collapse, or at minimum show streaming content inline while the tool is in progress and collapse only after completion. Another option is to prevent collapsing when the MCP is opting into APIs to stream progress.
What Should Happen?
When an MCP tool is actively running and streaming output, its content should be visible inline — the same way Bash tool output streams visibly while the command is executing. After the tool completes, collapsing the result is fine.
Ideally, MCP servers should also be able to opt specific tools out of auto-collapse entirely via a tool annotation (e.g. _meta["anthropic/expandByDefault"]: true), so that long-running tools like build pipelines, test runners, and deploy steps always show their progress without requiring the user to manually expand with Ctrl+O.
Error Messages/Logs
Steps to Reproduce
- Set up any MCP server that has a tool which runs for more than a few seconds and streams progress output (e.g. a build tool, test runner, or deploy pipeline)
- Call the MCP tool from Claude Code
- Observe that the UI shows only "Calling {server}..." with no visible streaming output
- Compare with running an equivalent long command via the built-in Bash tool, which streams output visibly by default
- Press Ctrl+O to expand the MCP tool call — still no streaming progress output, just the tool invocation itself.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.101
Claude Code Version
2.1.116
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗