[BUG] Claude Desktop Cowork: "Always allow" for MCP tools does not persist across sessions
Description
In Claude Desktop's Cowork (local agent mode), clicking "Always allow" (⌘⏎) for MCP tool calls does not persist. Each new Cowork session requires re-approving every MCP tool call, making it impractical when working with MCP servers that expose many tools.
Steps to Reproduce
- Configure a local MCP server in
claude_desktop_config.jsonwith multiple tools - Start a new Cowork task
- When the "Claude wants to use [tool_name]" dialog appears, click "Always allow" (⌘⏎)
- Complete or end the Cowork task
- Start a new Cowork task that uses the same MCP tools
Expected Behavior
Tool approvals from "Always allow" should persist across Cowork sessions, so previously approved MCP tools don't require re-approval.
Actual Behavior
Every new Cowork session starts with a blank enabledMcpTools state ({"":true}). All MCP tools need to be individually re-approved, even those previously marked as "Always allow".
This is particularly painful for MCP servers with many tools (e.g. 40-50 tools), as it means clicking through dozens of approval dialogs at the start of every task.
Investigation
Looking at the session data in ~/Library/Application Support/Claude/local-agent-mode-sessions/, each new Cowork session creates a fresh JSON file with enabledMcpTools: {"":true}. The "Always allow" choice is never written back to this object or to any shared config.
Suggested Solutions
- Persist MCP tool approvals globally — Store "Always allow" choices in a shared config file (e.g.
config.jsonorclaude_desktop_config.json) so they apply to all future sessions - Support
alwaysAllowin server config — Allow pre-approving tools per MCP server inclaude_desktop_config.json, e.g.:
``json``
{
"mcpServers": {
"my-server": {
"command": "node",
"args": ["server.js"],
"alwaysAllow": ["tool_a", "tool_b"]
}
}
}
- Bulk approval — Allow approving all tools from a trusted MCP server at once, rather than one-by-one
Environment
- Claude Desktop: latest version (macOS)
- macOS 15.3.1
- MCP server: custom server with 50+ tools via stdio bridge
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗