MCP VSCode diagnostics showing stale/incorrect errors + Request for configurable tool usage
Issue: MCP VSCode Diagnostics Showing Stale/Incorrect Errors
Problem Description
The mcp__ide__getDiagnostics tool is showing TypeScript errors that don't actually exist when verified with the actual TypeScript compiler.
Example Case
While working on a TypeScript project, the MCP diagnostics reported:
✘ [Line 135:62] Property 'addListField' does not exist on type '{}'. [2339] (ts)
✘ [Line 149:65] Property 'updateListField' does not exist on type '{}'. [2339] (ts)
However, running pnpm typecheck showed no TypeScript compilation errors whatsoever. The code was actually correct, but the MCP diagnostics were showing stale or incorrect information.
Impact
- Claude Code makes unnecessary code changes based on incorrect diagnostic information
- Wastes time debugging non-existent issues
- Reduces confidence in the diagnostic system
- Can lead to introducing actual bugs while "fixing" phantom errors
Current Workaround
Cross-verify MCP diagnostic results with actual compilation commands like:
pnpm typechecknpm run linttsc --noEmit
Feature Request: Configurable Tool Usage
Motivation
Different projects and workflows may benefit from different tool configurations. Some tools may be unreliable in certain environments or conflict with project-specific tooling.
Proposed Solution
Add configuration options to allow users/projects to:
- Disable specific tools: Allow blacklisting problematic tools
``json``
{
"claude-code": {
"disabled-tools": ["mcp__ide__getDiagnostics", "mcp__ide__executeCode"]
}
}
- Tool reliability preferences: Prefer actual CLI commands over MCP integrations
``json``
{
"claude-code": {
"prefer-cli-over-mcp": true,
"tool-preferences": {
"typescript-check": "pnpm typecheck",
"linting": "pnpm lint"
}
}
}
- Tool usage policies: Configure when certain tools should/shouldn't be used
``json``
{
"claude-code": {
"tool-policies": {
"mcp__ide__getDiagnostics": {
"enabled": false,
"reason": "Shows stale diagnostics, prefer 'pnpm typecheck'"
}
}
}
}
Configuration Locations
Could be configured via:
.claude-code.jsonin project root- Global settings file
- Environment variables
- CLAUDE.md instructions (already partially supported)
Benefits
- Project-specific workflows: Teams can optimize Claude Code for their specific toolchain
- Reliability: Disable unreliable tools in favor of proven alternatives
- Performance: Avoid expensive or slow tools when faster alternatives exist
- Debugging: Easier to troubleshoot by systematically enabling/disabling tools
Examples of Use Cases
- Disable MCP diagnostics in favor of CLI TypeScript checking
- Prefer project-specific test runners over generic execution
- Skip certain linting tools that conflict with project setup
- Use custom build/deployment scripts instead of generic ones
This would make Claude Code much more adaptable to different development environments and increase reliability by allowing users to work around problematic integrations.
Environment
- Working directory: Node.js project with TypeScript
- MCP tools: VSCode integration enabled
- TypeScript: Working correctly via CLI, but MCP diagnostics showing false errors
Would appreciate both fixing the diagnostic staleness issue and considering the configurable tool usage feature for better workflow customization.
---
🤖 This issue was generated with Claude Code
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗