原文(日本語に翻訳)
メッセージレンダリングのバグを修正
原文(英語)
Fixed message rendering bug
概要
Claude Code v2.1.12 では、セッション再開時にメッセージが正しくない順序で表示される不具合が修正されました。この問題は、PostToolUseフックを使用している場合に、タイムスタンプのレースコンディションにより、古いツール呼び出しの結果が画面の最下部に固定され、新しいメッセージがその上に表示されてしまうというものでした。v2.1.9でリグレッションとして発生していた問題が、このバージョンで解決されています。
基本的な使い方
この修正は自動的に適用されるため、ユーザー側で特別な操作は不要です。セッションを再開する際の標準的な手順をそのまま使用できます。
bash
# セッションの再開
claude --resume
# または特定のセッションIDを指定して再開
claude --resume <session-id>実践例
PostToolUseフックを使用したセッションの再開
修正前の問題(v2.1.9):
- PostToolUseフックを設定した状態でセッションを開始
- ツール呼び出しを含む作業を実行
- セッションを終了
claude --resumeでセッションを再開- 問題: 古いツール呼び出しが画面下部に固定され、新しいメッセージが常にその上に表示される
[新しいユーザーメッセージ]
[新しいアシスタント応答]
─────────────────────────
[古いツール呼び出し結果] ← ここに固定されたまま修正後の動作(v2.1.12以降):
セッションを再開しても、メッセージは正しい時系列順に表示されます。
[古いツール呼び出し結果]
[新しいユーザーメッセージ]
[新しいアシスタント応答]フックを使用した開発ワークフロー
settings.jsonでPostToolUseフックを設定している場合でも、安心してセッション再開機能を使用できます。
json
{
"hooks": {
"postToolUse": {
"command": "echo 'Tool execution completed'",
"enabled": true
}
}
}長時間セッションの管理
複数日にわたる開発作業で、頻繁にセッションを再開する場合でも、メッセージ履歴が正しい順序で表示されます。
bash
# 1日目: 作業開始
claude
# 2日目: 前日の作業を再開
claude --resume
# 履歴が正しい順序で表示され、作業の文脈を理解しやすい注意点
- この修正は Claude Code v2.1.12 で適用されました
- v2.1.9 でリグレッションとして発生していた問題の修正です
- PostToolUseフックを使用している場合に特に効果的な修正です
- この不具合は、フックがI/O処理を伴う場合により顕著に発生していました
- 既存のセッションを再開する際に、自動的に正しい順序でメッセージが表示されます