[BUG] automatic ide diagnostics don't wait for them to stabilize

Resolved 💬 2 comments Opened Mar 10, 2026 by teidesu Closed Mar 10, 2026

Preflight Checklist

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

What's Wrong?

when claude is working on something and modifies the same file a few times in a row, a very common pattern occurs that goes something like this:

⏺ Task 3: Wire up in App.tsx

⏺ Update(/Users/teidesu/Projects/kozeki/packages/frontend/src/App.tsx)
  ⎿  Added 1 line
      26  import { initBackgroundTasks } from './store/background-tasks.ts'
      27  import { createPanel } from './store/deck.ts'
      28  import { useAccountsList } from './utils/api/accounts.ts'
      29 +import { initInternalLinkHandler } from './utils/internal-links.ts'      
      30
      31  export function App() {
      32    const [chatDrawerOpen, setChatDrawerOpen] = createSignal(false)
  ⎿  1 PostToolUse hook ran

⏺ Update(/Users/teidesu/Projects/kozeki/packages/frontend/src/App.tsx)
  ⎿  Added 1 line
      37
      38    onMount(() => {
      39      initBackgroundTasks()
      40 +    initInternalLinkHandler()                                            
      41    })
      42
      43    createEffect(
  ⎿  1 PostToolUse hook ran
  ⎿  packages/frontend/src/App.tsx 
     (/Users/teidesu/Projects/kozeki/packages/frontend/src/App.tsx):
  ⎿    ★ [Line 29:1] 'initInternalLinkHandler' is declared but its value is never read.
     [6133] (typescript)

                                                          03:15 AM claude-opus-4-6
⏺ The "never read" warning is just because it's used inside a function body — it'll
  resolve once TSC processes the full file. Let me verify the LSP is just being slow.

we can see that after the second edit claude code emits diagnostics (not sure if these are from the ide or the typescript-lsp plugin) that were fixed in that very edit, confusing the model. claude correctly guesses that it's just "LSP is being slow", but this wastes time and tokens :c

What Should Happen?

claude code should wait for ide/lsp diagnostics to stabilize (with a reasonable timeout, probably) before handing off back to the model

Error Messages/Logs

Steps to Reproduce

  1. run claude inside vs code in a reasonably large typescript project
  2. ask it to add some feature

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.71

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

VS Code integrated terminal

Additional Information

_No response_

View original on GitHub ↗

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