Grok Build のセッション履歴の保存場所
Grok Build の表示用履歴は、既定で ~/.grok/sessions/ 配下のセッションディレクトリにある updates.jsonl です。GROK_HOME で保存先を変更できます。
$GROK_HOME/sessions/<エンコードされた cwd>/<セッション ID>/GROK_HOME の既定値は ~/.grok です。相対パスを指定した場合は、シェルのプロンプトで打った相対パスと同じように、ホームディレクトリからではなくカレントディレクトリから解決されます。
Grok Build のセッションディレクトリの中身
updates.jsonl ← 読みたいのはこれ
summary.json ← 一覧用メタデータ、info.cwd を含む
chat_history.jsonl ← モデルへのコンテキスト。表示用の記録ではない
events.jsonl
rewind_points.jsonl
prompt_history.jsonl
prompt_context.json
system_prompt.txt
resources_state.json
announcement_state.json
*.lockこのうち 2 つが記録本体に見えますが、本体は 1 つだけです:
updates.jsonlはユーザーに見えるイベントストリームの正本で、CLI が実際に画面へ描いたものです。chat_history.jsonlはモデルに渡されたもので、圧縮・並べ替えされ、システムの足場が混ざっています。これを記録として読むと、誰の画面にも表示されなかったものが出てきます。
.lock ファイルがあるのは、Grok がこれらのファイルを並行して書き込むためです。セッションがまだ生きている可能性があるなら、解析前にコピーを取ってください。
セッションが属するプロジェクト
グループディレクトリ名にも作業ディレクトリが埋め込まれていますが、正本は summary.json です:
jq -r '.info.cwd' ~/.grok/sessions/*/*/summary.json | sort | uniq -c | sort -rnGrok Build のセッションをターミナルから読む
ユーザー/アシスタントの表示テキスト片を抽出(ストリーム片は結合しません):
jq -r 'select(.method=="session/update" or .method=="_x.ai/session/update")
| .params.update
| select(.sessionUpdate=="user_message_chunk" or .sessionUpdate=="agent_message_chunk")
| .content | if type=="array" then .[] else . end
| select(.type=="text") | .text // empty' \
~/.grok/sessions/<グループ>/<セッション ID>/updates.jsonl記録本体に触れずにタイトルと時刻だけを見る:
jq '{title, info}' ~/.grok/sessions/<グループ>/<セッション ID>/summary.json1 セッションが 1 ディレクトリなので、削除は 1 ファイルの unlink ではなくフォルダごとの削除です。Grok のセッションを扱うものは、ディレクトリを操作単位として扱う必要があります。
セッションを再開するには
Grok Build をインストールし、プロジェクトのディレクトリで grok --resume SESSION_ID を実行します。アプリはターミナルでの再開に対応し、Grok の内蔵チャットには対応していません。
根拠と制限
実装:Grok Build アダプター。上流入口:xAI ドキュメント。
**対象範囲:**2026-10-05 に Sessions Viewer 0.6.0 のアダプター実装と照合しました。すべての CLI バージョンでの動作を保証するものではありません。シェル例は macOS/Linux のパスを使い、
jq(opencode はsqlite3)が必要です。プレースホルダーと保存先は自分の環境に合わせてください。テキスト抽出はツール、画像、セッションツリーの現在の分岐を完全には再現しません。コマンドの回帰テストにはダウンロード可能な合成データを使い、個人の会話は読みません。能力と検証表で範囲を確認できます。履歴の閲覧と再開・編集の違いはプライバシーとデータの扱いを参照してください。
上の例はテキスト片のみを抽出し、ツール結果、メタデータ、バックグラウンド通知を完全には再現しません。確認手順を参照してください。
アプリで開く
Sessions Viewer は updates.jsonl を読み、chat_history.jsonl は決して読みません。info.cwd でグループ化し、ディレクトリを保存単位として扱います。削除は rm を呼ぶ代わりに、フォルダごと復元可能なゴミ箱へ移動します。Claude Code、Codex、Kimi Code、Pi、Antigravity CLI、opencode にも対応しています。
