MCP VSCode diagnostics showing stale/incorrect errors + Request for configurable tool usage

Resolved 💬 5 comments Opened Aug 23, 2025 by moncapitaine Closed Jan 8, 2026

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 typecheck
  • npm run lint
  • tsc --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:

  1. Disable specific tools: Allow blacklisting problematic tools

``json
{
"claude-code": {
"disabled-tools": ["mcp__ide__getDiagnostics", "mcp__ide__executeCode"]
}
}
``

  1. 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"
}
}
}
``

  1. 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.json in 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

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗