Claude Code doesn't respond to MCP notifications/prompts/list_changed for dynamic command updates
Summary
Claude Code is not properly handling MCP notifications/prompts/list_changed notifications, preventing dynamic updates of custom commands without restarting the application.
Expected Behavior
When an MCP server sends a notifications/prompts/list_changed notification, Claude Code should:
- Receive the notification
- Make a new
prompts/listrequest to get the updated prompt list - Refresh its available commands and make new forward-slash commands immediately available
Actual Behavior
- Custom MCP commands added to
.claude/commands/directory don't appear in Claude's available commands - Sending
notifications/prompts/list_changednotification has no effect - Claude Code does not make a subsequent
prompts/listrequest when the notification is received - Only way to pick up new commands is to restart Claude Code entirely
Use Case
I'm developing custom forward-slash commands and want to iterate on them quickly. Currently, I have to restart Claude Code every time I add a new command, which breaks my development workflow.
Steps to Reproduce
- Create a custom MCP command (e.g.,
/mcp:tool) - Send MCP notification:
``json``
{
"jsonrpc": "2.0",
"method": "notifications/prompts/list_changed"
}
- Observe that Claude Code does not make a
prompts/listrequest - Try to use the new command in Claude Code
- Command is not available until full restart
Environment
- Claude Code version: 1.0.36
- MCP server: Custom implementation
- Commands directory:
.claude/commands/
Request
Please implement proper handling of MCP notifications/prompts/list_changed by making a prompts/list request when the notification is received, enabling dynamic command updates without restarts.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗