[BUG] LSP servers shut down on session resume but never restarted

Resolved 💬 2 comments Opened Feb 8, 2026 by kmgallahan Closed Mar 8, 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?

LSP plugin servers stop working after a session resume. On resume, Claude Code sends the LSP server a shutdown request but never restarts it. The LSP client connection object survives (so requests are still sent), but the server is dead — resulting in immediate failures on every LSP tool call for the rest of the session.

What Should Happen?

LSP servers should be restarted after session resume, the same way they are started on a fresh session.

Error Messages/Logs

Two error variants depending on timing — both are the same root cause:

**If the server process hasn't fully exited yet:**

LSP server plugin:roslyn-lsp:csharp request textDocument/hover failed:
  Server was requested to shut down. (-32000)


**If the server process has already exited:**

LSP server plugin:roslyn-lsp:csharp connection error: EPIPE: broken pipe, write


**Debug log — fresh start (LSP works):**

12:44:44.072 [DEBUG] Starting LSP server instance: plugin:roslyn-lsp:csharp
12:44:44.691 [DEBUG] Received response 'initialize - (0)' in 606ms.
12:44:44.692 [DEBUG] LSP server plugin:roslyn-lsp:csharp initialized
12:44:44.692 [DEBUG] LSP server instance started: plugin:roslyn-lsp:csharp

12:49:56.693 [DEBUG] Received response 'textDocument/hover - (1)' in 56ms.       // works
12:50:12.338 [DEBUG] Received response 'textDocument/documentSymbol - (3)' in 39ms. // works
12:50:26.208 [DEBUG] Received response 'textDocument/references - (4)' in 5686ms.   // works


**Debug log — after resume (LSP broken):**

12:51:03.820 [DEBUG] Getting matching hook commands for SessionStart with query: resume

// No "Starting LSP server instance" or "initialized" log entries appear here.
// The startup sequence that runs on fresh sessions never runs after resume.

12:51:27.645 [DEBUG] Sending request 'textDocument/hover - (1)'.
12:51:27.663 [DEBUG] Received response 'textDocument/hover - (1)' in 18ms.
  Request failed: Server was requested to shut down. (-32000).

Steps to Reproduce

  1. Configure any LSP plugin
  2. Start a fresh Claude Code session
  3. Use the LSP tool (hover, findReferences, etc.) — works fine
  4. Exit the session
  5. Resume the session (claude --resume or /resume)
  6. Use the LSP tool again — fails every time

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.37

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Windows Terminal

Additional Information

_No response_

View original on GitHub ↗

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