---
title: "Codexのアーカイブを戻す方法｜保存場所・unarchive・VS Code対応とCodex Viewerで履歴を見る手順"
url: "https://www.issoh.co.jp/tech/details/9081/"
published: 2025-10-01
updated: 2026-10-16
categories: ["ChatGPT"]
publisher: "株式会社一創"
---

# Codexのアーカイブを戻す方法｜保存場所・unarchive・VS Code対応とCodex Viewerで履歴を見る手順

Codexでアーカイブしたチャットは削除されていません。ターミナルなら`codex unarchive <セッションID>`、ChatGPTアプリなら設定の「アーカイブ済みチャット」から元に戻せます。VS Code拡張で作ったチャットも、同じ保存先を使っていればCLIで戻せます。この記事では、Codex CLI 0.162.1で実際にアーカイブ・復元・削除・再開を再現した結果をもとに、画面ごとの戻し方、`~/.codex`のどこに何が保存されるか、ファイルを手で動かすと復元できなくなる理由を説明します。後半では、セッションをブラウザで一覧するOSSのCodex Viewerが現行のCodexでどこまで動くかも確かめました。

## まとめ：Codexのアーカイブを戻す手順と保存場所

アーカイブは「一覧から隠す」操作で、会話の本文は残ります。戻す方法は使っている画面で決まります。

| 使っている画面           | 戻し方                    | 削除                  |
| ----------------- | ---------------------- | ------------------- |
| Codex CLI         | `codex unarchive <ID>` | `codex delete <ID>` |
| ChatGPTアプリ（Codex） | 設定 → アーカイブ済みチャット       | アーカイブ後に同じ画面で削除      |
| VS Code拡張         | `codex unarchive <ID>` | CLIと同じ              |

| 置き場所                          | 中身             |
| ----------------------------- | -------------- |
| `~/.codex/sessions/年/月/日/`    | 現役のセッション本文     |
| `~/.codex/archived_sessions/` | アーカイブしたセッション本文 |
| `~/.codex/state_5.sqlite`     | 一覧の索引とアーカイブ状態  |
| `~/.codex/history.jsonl`      | 入力したプロンプトの履歴   |

アーカイブ中のセッションは`codex resume`で開けず、先に復元が必要です。ファイルを`sessions`へ手で移すと索引と食い違い、復元コマンドまで失敗します。Codex Viewer 0.0.11はアーカイブ済みのセッションを表示せず、画面からの再開も現行のCLIでは失敗します。以降で順に説明します。

## Codexのアーカイブを戻す手順（CLI・アプリ・VS Code）

CLI、ChatGPTアプリ、VS Code拡張でローカルの保存先を共有できるのは、同じOSユーザー・実行環境で、同じ`CODEX_HOME`を参照している場合です。手元の状態DBを読むと、VS Code拡張で作ったセッションも`source`列が`vscode`の行として同じ表に入っていました。この条件を満たしていれば、どの画面でアーカイブしたものでもターミナルから戻せます。

### CLIで戻す：codex unarchive

アーカイブ時と同じセッションIDかセッション名を渡します。IDと名前の両方に当てはまる場合はIDが優先されます（[OpenAI公式のコマンドリファレンス](https://learn.chatgpt.com/docs/developer-commands?surface=cli)）。

```
$ codex unarchive 01a14362-b94a-7ee1-92a5-19dcc869725a
Unarchived session 01a14362-b94a-7ee1-92a5-19dcc869725a.
```

実行するとファイルが`archived_sessions`から`sessions/2026/10/16/`のような日付フォルダへ戻り、状態DBの`archived`列も0に戻りました。アーカイブしたまま再開しようとすると、Codexは次のエラーで止まり、復元を求めます。

```
Error: thread/resume: thread/resume failed: session 01a14362-... is archived.
Run `codex unarchive 01a14362-...` to unarchive it first. (code -32600)
```

TUIの中で`/archive`を使った場合も、本文は残るので同じ`codex unarchive`で戻せます。

### ChatGPTアプリ（Codex）で戻す：設定のアーカイブ済みチャット

デスクトップアプリでは、アーカイブしたチャットはサイドバーから消え、設定ページの「Archived chats」（日本語表示は「アーカイブ済みチャット」）タブに移ります。[OpenAIヘルプセンターの手順](https://help.openai.com/en/articles/20001333-how-to-archive-and-delete-codex-chats-in-the-chatgpt-app)はこのタブを削除の入口として説明しています。アプリの画面文言には「アーカイブすると進行中の作業は停止します。チャットは後で設定から復元できます。」があり、同じタブに「アーカイブ解除」と「アーカイブ解除して開く」のボタンがあります。

アーカイブで止まるのは画面だけではありません。予定済みタスク（スケジュール実行）を持つチャットをアーカイブすると、そのタスクも削除されて以後は実行されません。タスクは削除されるため、チャットを復元した後に作り直す必要があります。

### VS Code拡張のアーカイブ復元とCLIでの代替手順

VS Code用のCodex拡張（openai.chatgpt）の現行版26.51007.21434を展開して日本語の画面文言を調べると、「アーカイブ済みチャット」「アーカイブ解除」「アーカイブ済みチャットを検索」など、アプリと同じ復元画面の文言が入っていました。ただしこの翻訳文言にはGmail連携など拡張に無い機能の文言も含まれており、デスクトップアプリと共通の資産と見られます。そのためVS Code拡張のどこにその画面があるかまでは文言からは確定できません。[IDE拡張のコマンド一覧](https://learn.chatgpt.com/docs/developer-commands?surface=ide)にも復元用のコマンドはありません。

拡張の画面で見つからないときは、拡張と同じ保存先を使うターミナルで`codex unarchive`を実行するのが確実です。IDは次の章の方法で調べられます。

## Codexのアーカイブはどこにあるか：\~/.codexの保存構成

保存先の起点は環境変数`CODEX_HOME`で、未設定なら`~/.codex`です。実際にどこを使っているかは`codex doctor`で確認できます。手元の0.162.1では次のように表示されました。

```
  ✓ state        databases healthy
      CODEX_HOME               /Users/you/.codex (dir)
      state DB                 /Users/you/.codex/state_5.sqlite (file) · integrity ok
      thread history DB        /Users/you/.codex/thread_history_1.sqlite (file)
  ✓ threads      rollout files and state DB thread inventory agree
```

### 現役とアーカイブのファイル配置

セッションの本文は1セッション1ファイルのJSON Lines（rolloutファイル）です。現役のものは日付フォルダに、アーカイブしたものは日付なしの`archived_sessions`直下に置かれます。

```
~/.codex/sessions/2026/10/16/rollout-2026-10-16T15-25-06-01a14362-b94a-7ee1-92a5-19dcc869725a.jsonl
~/.codex/archived_sessions/rollout-2026-10-16T15-25-06-01a14362-b94a-7ee1-92a5-19dcc869725a.jsonl
```

ファイルの1行目は`session_meta`で、セッションID、作業ディレクトリ（`cwd`）、CLIの版、生成元（`cli`・`exec`・`vscode`など）が入っています。どのプロジェクトのセッションかを調べるときは、この行を見ます。

### state\_5.sqliteによる一覧の索引とアーカイブ状態の管理

サイドバーやピッカーに出す一覧は、ファイルを毎回走査しているわけではありません。`state_5.sqlite`の`threads`表が索引を持ち、`archived`（0か1）、`archived_at`、`rollout_path`、`title`、`source`などの列があります。`codex archive`はファイルの移動とこの列の書き換えを同時に行います。ファイルと索引が食い違うと、ファイルが残っていても一覧に出ない、あるいは一覧にあるのに開けないことがあります。

### history.jsonlはプロンプトの入力履歴

`history.jsonl`の各行は`session_id`・`ts`・`text`の3項目で、入力したプロンプトだけを記録します。会話の本文は入っていません。`codex exec`による非対話の実行では、このファイルに書き込まれませんでした。保存を止めるなら`config.toml`で`history.persistence = "none"`、大きさを抑えるなら`history.max_bytes`を設定します（[設定リファレンス](https://learn.chatgpt.com/docs/config-file/config-reference)）。

## sessionsへの手動移動による復元エラーと修復手順

「archived\_sessionsにあるならsessionsへ移せば戻る」と考えがちですが、やってはいけません。アーカイブ済みのファイルを手で`sessions/2026/10/16/`へ移したところ、次のようになりました。

| 操作                       | 結果                          |
| ------------------------ | --------------------------- |
| `codex doctor`           | threads に警告が2件              |
| `codex exec resume <ID>` | is archived のエラーで再開できない     |
| `codex unarchive <ID>`   | failed to unarchive session |

`codex doctor`の警告は「rollout files are missing from the state DB; state DB rows point at missing or unusable rollout files」でした。状態DBはまだアーカイブ中と記録し、指しているパスにはファイルが無いため、正規の復元コマンドも動きません。

手で動かしてしまった場合は、ファイルを`archived_sessions`へ戻してから`codex unarchive`を実行します。この順で直したところ、`codex doctor`の表示は「rollout files and state DB thread inventory agree」に戻り、再開もできました。以下はmacOS・Linux向けの例です。日付部分とIDは実際の移動済みファイルに合わせ、保存先を変更している場合はそのパスを使ってください。

```
mv ~/.codex/sessions/2026/10/16/rollout-*-<ID>.jsonl ~/.codex/archived_sessions/
codex unarchive <ID>
codex doctor
```

同じ理由で、`state_5.sqlite`を別のPCやWSLとWindowsの間でコピーするのも避けてください。索引が指すパスがコピー先に存在しないため、一覧と本文がずれます。移行ではrolloutファイルをコピーしただけで一覧に出るとは限りません。移行先で索引との整合と再開可否を確認し、確認が終わるまで移行元のデータを残してください。

## CodexのセッションIDを確認する方法

復元・削除・再開はいずれもセッションIDを使います。名前でも指定できますが、同じ名前が複数あると曖昧になるので、UUIDを使うのが確実です。

- 非対話の`codex exec`は、実行の冒頭に`session id: 01a14362-...`を表示します。
- IDE拡張では`/status`でチャットIDが表示されます（IDE拡張のスラッシュコマンド一覧の説明）。
- ファイル名から拡張子の`.jsonl`を除いた末尾36文字がIDです。最近のアーカイブ済みセッションのIDは次のコマンドで並べられます。

```
ls -t ~/.codex/archived_sessions/ | head -5 | sed -E 's/.*-([0-9a-f]{8}-[0-9a-f-]{27})\.jsonl$/\1/'
```

TUIで`/rename`を使って名前を付けておくと、次からは名前で指定できます。

## Codexのセッションを削除する：codex deleteとアプリの違い

CLIの`codex delete`は、アーカイブしていないセッションもそのまま削除できました。削除すると本文ファイルと状態DBの行が消え、その後の`codex unarchive`は失敗します。元に戻す手段はありません。

```
codex delete <ID>                 # 確認プロンプトが出る
codex delete <UUID> --force        # 確認なし。UUIDのみ
```

`--force`には制約があります。名前を渡すと「–force requires a session UUID; names must be confirmed interactively」で止まり、スクリプトなど端末のない環境で`--force`を付けずに実行すると「cannot confirm session deletion without an interactive terminal」で止まりました。TUIの`/delete`は、そのセッションから派生したサブエージェントのセッションもまとめて消します。

ChatGPTアプリでは順序が逆で、削除の前にアーカイブが必要です。設定のアーカイブ済みチャットでゴミ箱アイコンを押すと、一覧からはすぐ消え、OpenAIのシステムからは原則30日以内に完全に削除されます。サポートに頼んでも復元できません（OpenAIヘルプセンター）。残すか迷うセッションは、削除せずアーカイブで止めておくのが安全です。

## 前回の続きから再開する：codex resumeとfork

`codex resume`は引数なしでピッカーを開き、`--last`で直近を開きます。`--last`が対象にするのは今いるディレクトリのセッションだけなので、別のリポジトリで作業したものは`--all`を付けて探します。

```
codex resume --last          # このディレクトリの直近
codex resume --all           # 全ディレクトリから選ぶ
codex resume <ID>            # ID指定
```

今いるディレクトリとセッションの保存時のディレクトリが違うと、Codexはどちらで作業するかを尋ねます。毎回の確認を省くには`config.toml`の`tui.resume_cwd`に`"current"`か`"session"`を設定します。元の会話を残したまま別の案を試したいなら、`codex fork <ID>`で新しいIDの複製を作ります。アーカイブ中のセッションはどちらでも開けないので、先に`codex unarchive`を実行します。

## Codex Viewer（nogataka/codex-viewer）の現状と使いどころ

Codex Viewerは、`~/.codex/sessions`のrolloutファイルと`history.jsonl`を読み、プロジェクト別のセッション一覧と会話ログをブラウザに表示するOSSです。Claude Code向けの[claude-code-viewer](https://github.com/d-kimuson/claude-code-viewer)をCodex向けにforkしたもので、ライセンスはMITです。公式ツールではありません。

### Codex Viewerの導入と起動

[GitHubのREADME](https://github.com/nogataka/codex-viewer)どおり、npmで入れて起動します。Node.jsは20.12.0以上が必要です。

```
npm install -g @nogataka/codex-viewer
codex-viewer
# インストールせずに試す場合
PORT=5656 npx @nogataka/codex-viewer@latest
```

既定のポートは5656で、起動するとブラウザで`http://localhost:5656`が開きます。ブラウザを自動で開かせたくないときは`CC_VIEWER_NO_AUTO_OPEN=1`を設定します。npm 11.17.0で導入した際は、依存するsharpのインストールスクリプトが承認待ちという警告が出ましたが、起動とセッション一覧の表示には影響しませんでした。

### Codex CLI 0.162.1と組み合わせたときの制約

[npm](https://www.npmjs.com/package/@nogataka/codex-viewer)の最新版は0.0.11（2026年2月5日公開）で、2026年10月16日時点でそれ以降の更新はありません。その間にCodex側の仕様が変わったため、0.162.1と組み合わせると次の4点が問題になりました。

- **アーカイブ済みのセッションは表示されない**：読み取り先が`sessions`だけで、有効1件とアーカイブ1件の状態で起動するとセッション数は1でした。アーカイブを探す道具には使えません。
- **`CODEX_HOME`を見ない**：配布物のコードは`os.homedir()`の`.codex/sessions`を固定で読みます。`CODEX_HOME`を変えても読み取り先は変わらず、既定の保存先に残っているセッションが表示されます。既定の保存先が空なら何も表示されません。
- **画面からの実行・再開が失敗する**：Viewerは裏で`codex exec --experimental-json --full-auto ...`を起動します。`--full-auto`は[Codex 0.147.0（2026年8月7日）](https://github.com/openai/codex/releases/tag/rust-v0.147.0)で削除されており、0.162.1では「unexpected argument ‘–full-auto’ found」で終了コード2になりました。
- **一覧の「最初のコマンド」がプロンプトにならない**：Codexが会話の先頭に差し込むスキル一覧の文がそのまま表示されました。

### Codex Viewerを使ってよい場面、避ける場面

現行のCodexでViewerを使えるのは、現役セッションの会話ログやツール出力、差分をブラウザで読み返す用途に限られます。ログの閲覧では既存のrolloutファイルを読み取り、ファイル監視とServer-Sent Eventsで、ターミナル側の書き込みが画面にすぐ反映されます。

アーカイブの確認・復元、画面からの再開には使わないでください。前者は表示されず、後者は失敗します。再開は`codex resume`、アーカイブの扱いはCLIかアプリの設定画面で行い、Viewerは読むだけの道具と割り切るのが現実的です。Codexを複数並べて監視したい場合は、デスクトップGUIの[Codex Monitor](/tech/details/10871/)も候補になります。opencode向けには同種の[OpenCode Viewer](/tech/details/9200/)があります。

## よくある質問

### Codexのアーカイブはどこに保存されますか？

本文は`~/.codex/archived_sessions/`直下にrolloutファイルとして移り、アーカイブ状態は`~/.codex/state_5.sqlite`の`threads`表に記録されます。`CODEX_HOME`を変えている場合はその配下です。実際の場所は`codex doctor`の`CODEX_HOME`行で確認できます。

### VS Codeでアーカイブしたチャットを戻すには？

拡張の画面に復元の入口が見つかればそこから戻せますが、版によって配置が変わります。確実なのはCLIです。拡張とCLIが同じ実行環境・保存先を参照していることを確認してから、ターミナルで`codex unarchive <セッションID>`を実行すれば戻ります。

### CodexのセッションIDはどこで確認できますか？

rolloutファイル名から拡張子の`.jsonl`を除いた末尾36文字がIDです。`codex exec`では実行の冒頭に`session id:`として表示され、IDE拡張では`/status`でチャットIDを確認できます。

### アーカイブせずにCodexの履歴を削除できますか？

CLIの`codex delete`はアーカイブ不要で削除できます。ChatGPTアプリでは先にアーカイブし、設定のアーカイブ済みチャットから削除します。どちらも復元はできません。入力履歴だけを消したいときは`history.jsonl`が対象です。

### Codex Viewerは今も使えますか？

会話ログを読むだけなら使えます。0.0.11は2026年2月以降更新がなく、Codex CLI 0.162.1ではアーカイブ済みセッションが表示されず、画面からの再開は削除済みの`--full-auto`を渡すため失敗します。

## 関連記事

- [Codex CLIとは｜始め方・料金・コードを学習させない設定まで解説](/tech/details/8457/)
- [Codex CLIのプロキシ設定・承認モード・オプション一覧｜導入とアンインストール【2026年9月】](/tech/details/8157/)
- [CodexをMacにインストールする方法｜ChatGPTアプリ・CLI・Intel Mac対応【2026年9月】](/tech/details/10842/)
- [Codex Monitorとは？Codex CLIを束ねるデスクトップGUIの使い方・インストールと使用量監視](/tech/details/10871/)
- [CodexとClaude Codeの違い｜料金・使用量・設定と併用の判断【2026年版】](/tech/details/17627/)

---

出典: [Codexのアーカイブを戻す方法｜保存場所・unarchive・VS Code対応とCodex Viewerで履歴を見る手順](<https://www.issoh.co.jp/tech/details/9081/>)（株式会社一創）
