Skip to content

原文(日本語に翻訳)

LSPサーバーのクラッシュ後のゾンビ状態を修正しました。セッション再起動まで失敗し続ける代わりに、次のリクエスト時にサーバーが再起動するようになりました。

原文(英語)

Fixed LSP server zombie state after crash — server now restarts on next request instead of failing until session restart

概要

LSP(Language Server Protocol)サーバーがクラッシュした際、以前はサーバーがゾンビ状態(プロセスが終了しているのに接続が残り続ける状態)になり、Claude Codeのセッションを完全に再起動するまで関連機能が使えなくなっていました。v2.1.89では、LSPサーバーのクラッシュが検出されると次のリクエスト時に自動的に再起動する仕組みが追加され、セッションを中断せずに作業を続けられるようになりました。

基本的な使い方

LSP機能(コード補完、定義ジャンプ、エラー検出など)を使用する際の通常の操作に変更はありません。クラッシュが発生しても自動回復します:

bash
# Claude Code でLSP機能を使用する例
# TypeScriptプロジェクトで作業中
claude "このTypeScriptコードのエラーを修正してください"

# LSPサーバーがクラッシュしても、次のリクエストで自動再起動
claude "この関数の型定義を確認してください"
# 修正前: LSPエラーで失敗していた
# 修正後: サーバーを自動再起動して正常に動作する

実践例

LSPサーバーの状態確認

bash
# LSPサーバーのプロセスを確認
ps aux | grep -E "(typescript-language-server|pylsp|rust-analyzer)"

# クラッシュ後の自動回復の動作
# 1. LSPサーバーがクラッシュ
# 2. 次のリクエスト時にClaude Codeがクラッシュを検出
# 3. LSPサーバーを自動的に再起動
# 4. リクエストを正常に処理

各言語のLSPサーバー設定

json
// .claude/settings.json でのLSP設定例
{
  "lsp": {
    "typescript": {
      "enabled": true,
      "command": "typescript-language-server --stdio"
    },
    "python": {
      "enabled": true,
      "command": "pylsp"
    }
  }
}

注意点

  • LSPサーバーの自動再起動により、最初のリクエストで若干の遅延が発生することがあります(サーバー起動時間)
  • 繰り返しクラッシュが発生する場合は、LSPサーバー自体の設定や互換性を確認してください
  • 修正前のバージョンで「LSP機能が動かなくなった」場合はセッション再起動が必要でしたが、v2.1.89以降では自動回復します
  • クラッシュの根本原因(大きなファイル、メモリ不足など)は別途調査が必要な場合があります

関連情報