Feature request: hot-reload MCP servers without restarting the session
Problem
MCP servers are only loaded at session startup. If I run claude mcp add <name> ... during an active session (or edit ~/.claude.json directly), the new server is written to the config file but the running process doesn't pick it up. The only way to use the new MCP is to exit the session and relaunch Claude Code — which loses the in-memory conversation context mid-task.
This comes up a lot in real workflows:
- User asks Claude to do something → Claude realizes partway through that an MCP would help → Claude installs it with
claude mcp add→ neither Claude nor the user can actually use it without restarting. - Adding an MCP for a task you're already in the middle of (e.g. PostHog MCP to query an analytics project you just created) forces a restart right when momentum matters.
Proposed fix
A /mcp reload slash command (or /mcp refresh) that re-reads the MCP config file and:
- Starts any newly-added servers
- Stops any removed servers
- Leaves existing servers untouched (or optionally restarts them with a flag like
/mcp reload --restart-all)
Bonus: automatically trigger a reload when claude mcp add / claude mcp remove is run from within an active session, since the config file is already being written.
Workaround today
Exit and relaunch, losing in-session memory of where you were.
Why this is small
The MCP loader already exists — it runs once at startup. Making it callable mid-session should be mostly a matter of exposing it via a slash command and handling the diff between current and new config. No protocol changes needed.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗