この件は、Claude Code の画面や処理中に
TelemetrySafeError: VirtualMessageList: itemKeys/messages length desync (keys=60 messages=59 range=[0,60))
のようなエラーが出るケースです。報告されている issue は 2 件で、#88174 は closed、#87911 は open でした。どちらも同じ系統のメッセージを含んでいます。
まず、筆者の環境で確認できた範囲では、Claude Code CLI は 2.1.207 でした。claude doctor では複数インストールが見つかっています。ここは実際の出力をそのまま載せます。
$ claude --version
2.1.207 (Claude Code)
$ claude doctor
Claude Code doctor
Running: native (2.1.207)
Commit: bc512d563325
Platform: darwin-arm64
Path: ~/.local/share/claude/versions/2.1.207
Config install method: native
Search: OK (bundled)
Auto-updates: enabled
Auto-update channel: latest
Last update attempt: none recorded
Multiple installations found
- npm-global at /usr/local/bin/claude
- native at ~/.local/bin/claude
Remote Control
Control this session from claude.ai/code or the Claude mobile app
1 warning found
- Leftover npm global installation at /usr/local/bin/claude
Fix: Run: npm -g uninstall @anthropic-ai/claude-code
For a full setup checkup that can also fix issues, run /doctor in a Claude Code session.
この出力から、少なくとも自分の検証環境には native と npm-global の複数インストールがありました。ただし、これが今回の VirtualMessageList の desync を直接起こしたとまでは言えません。そこは分からないです。claude doctor の warning は残留した npm global installation で、修正コマンドも出ていますが、これを実行すれば今回の症状が直るとは一次情報からは断定できません。
症状の見分け方としては、エラー文に VirtualMessageList: itemKeys/messages length desync が含まれているかどうかが手掛かりです。報告されている 2 件とも、keys=60 messages=59 や keys=681 messages=680 のように、keys と messages の数が 1 ずれていました。つまり、少なくとも issue 上では「メッセージ一覧の内部状態が一致していない」タイプの失敗として現れています。
いま確認できる事実はここまでです。issue の公開情報だけでは、恒久的な回避策や確実な修正手順までは読み取れません。もし同じ文字列が出ているなら、まずは自分の claude doctor の結果に複数インストールの warning がないかを確認し、あわせて issue #87911 と #88174 を見比べるのが出発点になります。
claude --version : 2.1.207 (Claude Code)
OS : Darwin 25.3.0 (arm64)
Python : 3.14.2
検証日時 : 2026-08-20T22:39:22+09:00