Safeguard
Developer Tools•

Codex memories: off by default, what they store, how to control

Codex memories are off by default and stored locally under ~/.codex/memories. What they hold, the config keys, per-chat controls, and why not to store secrets.

Safeguard Security Team
3 min read

Codex memories are off by default. When you turn them on, Codex condenses useful context from eligible past chats into local files under your Codex home. They are a recall aid, not a rulebook: the documentation says required team guidance belongs in AGENTS.md or checked-in docs.

How they work

Per OpenAI's memories documentation, local Codex clients use a store separate from ChatGPT web memory. Once enabled, Codex turns eligible prior chats into local memory files. It skips active or short-lived sessions, redacts secrets from generated memory fields, and updates in the background, so memories may lag a chat that just ended. Generation also skips a pass when your remaining rate limit is below a configured threshold.

Files live in ~/.codex/memories/: summaries, durable entries, recent inputs and supporting evidence. The docs say to treat them as generated state, not as your main way to edit behavior.

Turning them on and off

  • Off by default. In the ChatGPT desktop app, go to Settings, then Personalization, and enable Codex memories.
  • In config, set memories = true under the features section.
  • Per chat, use the /memories command in the desktop app, the terminal interface or an interactive CLI session. Chat-level choices do not change your global settings.
  • To wipe a machine's store, choose Delete Codex memories. On the local machine, that also clears Computer History, which is macOS only.

Tuning keys

The page lists these:

  • memories.generate_memories: whether new chats can become memory inputs.
  • memories.use_memories: whether existing memories are injected into sessions.
  • memories.disable_on_external_context: keeps chats that used MCP, web search or tool search out of generation.
  • memories.min_rate_limit_remaining_percent: the rate limit floor before generation starts.
  • Model overrides for extraction and consolidation.

The external context key is the one security teams should look at. A chat that read untrusted web content or called an MCP tool might otherwise feed that content into future sessions.

Risks to plan for

  • A memory is derived data. If a bad instruction entered a chat, it could be summarized into a durable entry.
  • The docs say not to store secrets in memories and to review files before sharing your Codex home directory. Do not commit or sync that folder carelessly.
  • ChatGPT Work does not use the local store. It follows account and workspace memory settings.
  • The page does not describe organization level admin controls for local memories, so verify with your admin console before assuming a policy exists.

A sane policy

For a team: leave memories off for repositories with sensitive code until you have reviewed what is stored, enable it for personal projects, and keep everything required in AGENTS.md.

Quick check

Are Codex memories on by default?

No. They are off until you enable them in the app or config.

Is a memory the right place for a rule that must always apply?

No. Per the docs, use AGENTS.md or checked-in docs for required guidance.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.