Skip to content

原文(日本語に翻訳)

タイムスタンプが欠損または不正な形式のエントリをトランスクリプトファイルに含む場合に /stats がクラッシュしていた問題を修正しました

原文(英語)

Fixed /stats crash when transcript files contain entries with missing or malformed timestamps

概要

/stats コマンドはセッションの統計情報(トークン使用量、コスト、所要時間など)を表示しますが、会話のトランスクリプトファイルにタイムスタンプが欠損しているエントリや不正な形式のタイムスタンプを含むエントリがある場合にクラッシュしていました。修正後は不正なタイムスタンプを持つエントリを適切に処理し、/stats が安定して動作するようになります。

基本的な使い方

bash
# 修正後は /stats が安定して動作する
/stats
# → セッションの統計情報が正しく表示される

実践例

/stats コマンドの基本的な使い方

bash
# Claude Code セッション中に統計を確認
/stats

# 出力例:
# セッション統計:
# - 入力トークン: 12,345
# - 出力トークン: 8,901
# - セッション時間: 45分
# - 推定コスト: $0.23

問題が発生していたシナリオ

シナリオ: タイムスタンプが欠損したトランスクリプト

原因となり得るケース:
1. ネットワーク障害中に会話が記録された場合
2. 古いバージョンの Claude Code で作成されたトランスクリプト
3. 手動でトランスクリプトファイルを編集した場合
4. ディスク書き込みエラーで一部のメタデータが欠損した場合

修正前:
/stats
→ クラッシュ / エラーメッセージ

修正後:
/stats
→ 正常に統計が表示される(欠損タイムスタンプはスキップまたはデフォルト値で処理)

トランスクリプトファイルの場所確認

bash
# トランスクリプトファイルの場所を確認
ls ~/.claude/transcripts/
# または
ls ~/.config/claude/transcripts/

# 問題のあるトランスクリプトを調査(必要な場合)
cat ~/.claude/transcripts/latest.jsonl | python3 -m json.tool | grep timestamp

注意点

  • /stats コマンドはセッションのコストやトークン使用量を確認するのに便利です
  • タイムスタンプが欠損しているエントリはスキップされるか、デフォルト値で処理されます
  • そのため、欠損エントリがある場合は統計が完全に正確でない可能性があります
  • 古いセッションのトランスクリプトでも /stats がクラッシュしなくなります

関連情報