PaPoo
cover

TelemetrySafeError: VirtualMessageList: itemKeys/messages length desync が出たときに、まず疑うこと

この症状は、少なくとも報告ベースでは 2 件ありました。どちらも同じエラー文字列で、itemKeysmessages の件数がずれていると読めます。手元で確認できるのは issue の記載だけで、解決策までは出ていません。現時点では未解決のバグとして扱うのが安全です。

最初に見るべきなのは、「表示だけの問題か」「会話の整合性まで壊れているか」です。#95627 では、ユーザーが送っていないテキストがアシスタント側には届いているのに、.jsonl/export には残っていませんでした。つまり、単なる見た目の乱れではなく、コンテキストの取り扱い自体がずれている可能性があります。

報告されているエラーは、どちらの issue でも同じ形です。

TelemetrySafeError: VirtualMessageList: itemKeys/messages length desync (keys=112 messages=111 range=[98,112))
    at m7t (B:/~BUN/root/chunk-c5xn880r.js:37:30931)
    at awe (B:/~BUN/root/chunk-c5xn8

別の報告では件数がさらに大きく、こうなっています。

TelemetrySafeError: VirtualMessageList: itemKeys/messages length desync (keys=826 messages=825 range=[808,826))
    at m7t (B:/~BUN/root/chunk-c5xn880r.js:37:30931)
    at awe (B:/~BUN/root/chunk-c5xn

#96266 では「my session is flagged by doing some stuffs」とだけあり、通常操作中にセッションがフラグ付けされたと報告されています。こちらは詳細が少なく、どの操作が引き金だったかは分かりません。ただ、同じ VirtualMessageList のずれが出ています。

#95627 のほうは、症状の輪郭がはっきりしています。ユーザーは 4bfc0212-a91d-425f-b49d-f6a077ff6be6.jsonl を全件確認し、該当時刻前後に本来あるはずのユーザー発言が存在しないことを示しています。記録されていたのは次の流れでした。

行3281 04:49:01 "中山8Rの斬新な予想してみて"
行3293 04:50:17 (assistant応答)
行3296 04:54:47 "長い"

この間に、問題の約 2,000 字のテキストに相当する user レコードはなかったとされています。さらに /export でも、その発言には > が付かず、ユーザー発言として書き出されていませんでした。アシスタント側には存在したのに、ログにはない。ここがいちばん気になる点です。

筆者の環境で取得できた実測値は、検証時刻だけです。

[env_summary]
OS          : Linux 3.10.0-1160.76.1.el7.x86_64 (x86_64)
Python      : 3.8.13
検証日時    : 2026-09-24T08:52:12+09:00

この出力自体は症状の再現結果ではありません。なので、ここから「この OS なら起きる」とは言えません。言えるのは、少なくとも報告された issue では Windows 11 上の Claude Code / Opus 5 (1M context) で発生していた、という点だけです。

実際の切り分けでは、次の順で見るのが現実的です。まず、同じエラー文字列が出ているかを確認します。出ているなら、単なる一時的な表示崩れではなく、メッセージリストの整合性が崩れている可能性があります。次に、.jsonl/export の内容を見比べます。もしアシスタント応答にだけ「見覚えのないユーザー文」が混ざっていて、ログ側に対応する user レコードがなければ、#95627 にかなり近いです。

逆に、会話の内容は正しく、単にエラーが一度出ただけなら、現時点では「内部の整合性チェックが失敗した」以上のことは断定できません。報告だけでは恒常的な対処法は確認できませんでした。再現手順も、まだ共有されていません。

もし同じ症状に当たったら、セッション ID、発生時刻、.jsonl/export の差分を残しておくと、issue に近い形で追えます。少なくとも今ある 2 件の報告では、その比較がいちばん有効でした。


検証環境

OS          : Linux 3.10.0-1160.76.1.el7.x86_64 (x86_64)
Python      : 3.8.13
検証日時    : 2026-09-24T08:52:12+09:00

参照した Issue(anthropics/claude-code): #96266, #95627

同じ著者の記事