claude-code - 💡(How to fix) Fix [BUG] "Tool access" setting has no effect — MCP tools always load eagerly in Claude Code Desktop [3 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#49073Fetched 2026-04-17 08:51:40
View on GitHub
Comments
3
Participants
3
Timeline
11
Reactions
1
Author
Timeline (top)
labeled ×5commented ×3closed ×1cross-referenced ×1

Error Message

Error Messages/Logs

RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

The "Tool access" setting (Settings → Features → Tool access) has no effect on how MCP tools are loaded in Claude Desktop.

Two problems:

  1. Toggling the setting changes nothing. Switching between "Load tools when needed" and "Tools already loaded", then starting a new conversation, produces identical /context output. MCP tool schemas are always loaded eagerly regardless of the selected option.

  2. Desktop differs from CLI. Claude Code CLI correctly defers MCP tool schemas (loaded on-demand via ToolSearch, 0 tokens at session start). Desktop always loads them eagerly — ~75k tokens for 155 tools in my setup.

This causes Desktop sessions to have 4× higher baselines than CLI (~92k vs ~22k). For agentic tasks with many tool iterations, the overhead compounds across every turn via the prompt cache.

What Should Happen?

  1. Toggling between "Load tools when needed" and "Tools already loaded" should produce different /context output in new conversations.

  2. When "Load tools when needed" is selected, Desktop should defer MCP tool schemas the same way CLI does — the /context output should show "MCP tools · /mcp (loaded on-demand)" with ~0 tokens, matching CLI behavior.

Error Messages/Logs

Steps to Reproduce

Setup: macOS, Claude Desktop, multiple MCP connectors enabled (e.g. Linear, Datadog, Slack).

Test 1 — Setting toggle has no effect:

  1. Go to Settings → Capabilities → Tool access → select "Load tools when needed"
  2. Start a new conversation, type "say hi", wait for response
  3. Run /context — note the "MCP tools" line
  4. Go to Settings → Capabilities → Tool access → switch to "Tools already loaded"
  5. Restart Claude Desktop
  6. Start a NEW conversation, type "say hi", wait for response
  7. Run /context — "MCP tools" line is identical to step 3
<img width="678" height="994" alt="Load tools when needed" src="https://github.com/user-attachments/assets/b4b90a66-a973-4085-b0b0-572be691277f" /> <img width="662" height="988" alt="Tools already loaded" src="https://github.com/user-attachments/assets/f4defca0-ee8f-48d7-8619-70db6089b380" />

Test 2 — Desktop vs CLI comparison:

  1. Open Claude Code CLI in the same directory: claude
  2. Type "say hi", wait for response
  3. Run /context — observe "MCP tools · /mcp (loaded on-demand)" with 0 tokens
<img width="717" height="474" alt="CLI mcp tools" src="https://github.com/user-attachments/assets/0a9b23d3-275f-4a88-a9be-0d8f459a564b" />

Results:

  • Setting A ("Load tools when needed"): MCP tools = 33.6k
  • Setting B ("Tools already loaded"): MCP tools = 33.6k — identical
  • CLI (same machine, same connectors): MCP tools = 0 (on-demand)

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Last Working Version

No response

Claude Code Version

2.1.109 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Other

Additional Information

No response

extent analysis

TL;DR

The "Tool access" setting in Claude Desktop does not affect how MCP tools are loaded, causing them to always load eagerly and resulting in higher baseline tokens compared to the CLI.

Guidance

  • Investigate the difference in how MCP tools are loaded between Claude Desktop and CLI to identify the root cause of the discrepancy.
  • Verify that the /context output in Claude Desktop matches the expected behavior when the "Load tools when needed" setting is selected, which should show "MCP tools · /mcp (loaded on-demand)" with ~0 tokens.
  • Compare the code or configuration responsible for loading MCP tools in both Claude Desktop and CLI to determine why the setting has no effect in Desktop.
  • Consider temporarily disabling MCP connectors one by one to see if the issue persists, which could help isolate the problem.

Example

No code snippet is provided as the issue does not include specific code references.

Notes

The issue seems to be specific to Claude Desktop and its interaction with MCP tools, and the provided information does not imply a straightforward fix. Further investigation into the loading mechanism of MCP tools in both Desktop and CLI is necessary.

Recommendation

Apply a workaround by using the CLI for tasks that require on-demand loading of MCP tools until the issue with Claude Desktop is resolved, as the CLI correctly defers MCP tool schemas.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING