Codex の会話履歴をディスクに残さない history.persistence と、認証情報の保存先の設定
Codex CLI の会話履歴を history.persistence = "none" で残さない方法、history.max_bytes での容量制限、cli_auth_credentials_store で認証情報の保存先(file / keyring / ephemeral)を選ぶ方法を解説します。
共有マシンや検証用の環境で Codex を使うとき、「会話の内容をディスクに残したくない」「ログイン情報をファイルに書きたくない」という要件が出ます。Codex CLI にはそれぞれに対応する設定があります。
結論として、会話履歴は [history] の persistence = "none" で保存を止められ、max_bytes で上限を付けられます。認証情報の保存先は cli_auth_credentials_store で file / keyring / ephemeral から選べます。
KEY POINT
この記事で分かること
history.persistenceの 2 つの値と既定、max_bytesの動き- 認証情報の保存先を決める
cli_auth_credentials_storeの 4 つの値 - 「残さない」設定にしたときに失うもの
会話履歴の保存を止める
~/.codex/config.toml に次のように書きます。
[history]
persistence = "none"
| キー | 値 | 既定 | 意味 |
|---|---|---|---|
persistence | save-all / none | save-all | none で履歴を保存しない |
max_bytes | バイト数 | 未設定 | 超えたら古いエントリを削除してファイルを圧縮する |
容量だけ抑えたい場合は max_bytes を使います。サンプル設定では 5242880(5 MiB)がコメントで例示されています。
[history]
persistence = "save-all"
max_bytes = 104857600 # 100 MiB
上限を超えると、Codex は最も古いエントリから落として最近の記録だけを残します。
用語解説
履歴(history): Codex が過去の会話を保存し、あとから参照・再開するためのローカルデータです。persistence = "none" にすると新しい会話が記録されなくなるため、過去の会話を呼び出す機能は使えなくなります。
認証情報の保存先
ChatGPT アカウントや API キーでログインしたときの認証情報をどこに置くかは、cli_auth_credentials_store で決めます。
cli_auth_credentials_store = "keyring"
| 値 | 保存先 |
|---|---|
auto(既定) | 環境に応じて自動で選ぶ |
file | $CODEX_HOME 配下のファイル |
keyring | OS のキーチェーン / シークレットストア |
ephemeral | プロセス内だけ。終了すると消える |
共有マシンでは keyring にして OS のアカウント単位で保護するか、CI のような使い捨て環境では ephemeral にして残さない、という使い分けになります。MCP サーバーの OAuth 資格情報には別のキー mcp_oauth_credentials_store(auto / file / keyring)があります。
「残さない」と再開・引き継ぎができなくなる
persistence = "none" にすると、過去の会話を再開する機能が使えません。ephemeral にすると、Codex を起動するたびにログインが必要になります。利便性とのトレードオフなので、共有マシンや検証環境など、本当に必要な場所に限定してください。
テレメトリ・フィードバックとの違い
履歴の保存は「ローカルに何を残すか」の話で、OpenAI にデータを送るかどうかとは別の設定です。関連するキーは次のとおりです。
| キー | 既定 | 意味 |
|---|---|---|
analytics.enabled | 未設定 | 分析データの送信の有効 / 無効 |
feedback.enabled | true | /feedback によるフィードバック送信 |
otel.exporter | none | OpenTelemetry のエクスポート先(otlp-http / otlp-grpc) |
otel.log_user_prompt | 未設定 | ユーザーのプロンプトを OTEL に含めるか |
学習へのデータ利用については、公式の Codex ドキュメント内のデータ利用の記述を確認してください。この記事の範囲(config.toml の設定)では確認できませんでした。
設定ファイル全体の構造は親記事の config.toml でモデル・推論の深さ・プロファイルを切り替える を参照してください。秘密情報をコマンドに渡さない設定は shell_environment_policy の設定 にまとめています。
まとめ
[history] persistence = "none"で会話履歴をディスクに保存しない。既定はsave-all- 容量だけ抑えるなら
max_bytes。超えたら古いエントリから削除される - 認証情報の保存先は
cli_auth_credentials_store(auto/file/keyring/ephemeral) noneやephemeralにすると再開や自動ログインができなくなる- ローカル保存の設定と、OpenAI へのデータ送信(analytics / feedback / otel)は別のキー
よくある質問
- history.persistence の既定値は何ですか?
- save-all です。none にすると履歴を保存しません。
- 履歴ファイルが大きくなりすぎるのを防げますか?
- history.max_bytes にバイト数を指定すると、超えたときに古いエントリから削除してファイルを圧縮します。
- ログイン情報をファイルに書かずに使えますか?
- cli_auth_credentials_store を keyring にすると OS のキーチェーンに、ephemeral にするとプロセス内だけに保持します。既定は auto です。
参考にした一次情報
この記事は公式ドキュメントを基に AI が下書きを作成し、運営者が内容を確認して公開しています。誤りを見つけた場合は お問い合わせからお知らせください。