Codex の会話履歴をディスクに残さない history.persistence と、認証情報の保存先の設定

Codex 公開:

Codex CLI の会話履歴を history.persistence = "none" で残さない方法、history.max_bytes での容量制限、cli_auth_credentials_store で認証情報の保存先(file / keyring / ephemeral)を選ぶ方法を解説します。

検証日 2026年9月10日 仕様変更が早い分野です。最新の公式ドキュメントも併せてご確認ください。
目次
  1. 会話履歴の保存を止める
  2. 認証情報の保存先
  3. テレメトリ・フィードバックとの違い
  4. まとめ

共有マシンや検証用の環境で Codex を使うとき、「会話の内容をディスクに残したくない」「ログイン情報をファイルに書きたくない」という要件が出ます。Codex CLI にはそれぞれに対応する設定があります。

結論として、会話履歴は [history]persistence = "none" で保存を止められ、max_bytes で上限を付けられます。認証情報の保存先は cli_auth_credentials_storefile / keyring / ephemeral から選べます。

KEY POINT

この記事で分かること

  • history.persistence の 2 つの値と既定、max_bytes の動き
  • 認証情報の保存先を決める cli_auth_credentials_store の 4 つの値
  • 「残さない」設定にしたときに失うもの

会話履歴の保存を止める

~/.codex/config.toml に次のように書きます。

[history]
persistence = "none"
キー既定意味
persistencesave-all / nonesave-allnone で履歴を保存しない
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 配下のファイル
keyringOS のキーチェーン / シークレットストア
ephemeralプロセス内だけ。終了すると消える

共有マシンでは keyring にして OS のアカウント単位で保護するか、CI のような使い捨て環境では ephemeral にして残さない、という使い分けになります。MCP サーバーの OAuth 資格情報には別のキー mcp_oauth_credentials_store(auto / file / keyring)があります。

「残さない」と再開・引き継ぎができなくなる

persistence = "none" にすると、過去の会話を再開する機能が使えません。ephemeral にすると、Codex を起動するたびにログインが必要になります。利便性とのトレードオフなので、共有マシンや検証環境など、本当に必要な場所に限定してください。

テレメトリ・フィードバックとの違い

履歴の保存は「ローカルに何を残すか」の話で、OpenAI にデータを送るかどうかとは別の設定です。関連するキーは次のとおりです。

キー既定意味
analytics.enabled未設定分析データの送信の有効 / 無効
feedback.enabledtrue/feedback によるフィードバック送信
otel.exporternoneOpenTelemetry のエクスポート先(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)
  • noneephemeral にすると再開や自動ログインができなくなる
  • ローカル保存の設定と、OpenAI へのデータ送信(analytics / feedback / otel)は別のキー

よくある質問

history.persistence の既定値は何ですか?
save-all です。none にすると履歴を保存しません。
履歴ファイルが大きくなりすぎるのを防げますか?
history.max_bytes にバイト数を指定すると、超えたときに古いエントリから削除してファイルを圧縮します。
ログイン情報をファイルに書かずに使えますか?
cli_auth_credentials_store を keyring にすると OS のキーチェーンに、ephemeral にするとプロセス内だけに保持します。既定は auto です。

参考にした一次情報

この記事は公式ドキュメントを基に AI が下書きを作成し、運営者が内容を確認して公開しています。誤りを見つけた場合は お問い合わせからお知らせください。