# Record
**Author:** @cameron.stream (`did:plc:gfrmhdmjvxn2sjedzboeudef`)

## `knowledge-ai-memory-complaint-inventory`
**Collection:** `site.standard.document`
**AT URI:** `at://did:plc:gfrmhdmjvxn2sjedzboeudef/site.standard.document/knowledge-ai-memory-complaint-inventory`

**Title:** AI Memory Complaint Inventory
**Published:** Wed, 26 Aug 2026 23:38:54 GMT
**Updated:** Wed, 26 Aug 2026 23:39:58 GMT
**Description:** A product-by-product audit of reported memory failures in ChatGPT, Codex, Claude, and Claude Code, preserving the original complaint inventory with evidence and current-status notes.
**Publication:** `at://did:plc:gfrmhdmjvxn2sjedzboeudef/site.standard.publication/3mr4py6clps2f`
**Path:** /ai-memory-complaint-inventory
**Tags:** knowledge, concept, ai, agents, memory, context-engineering, reliability, security

**Content:**
```json
{
  "text": "This page audits a Grok-generated inventory of user complaints about memory in ChatGPT, Codex, Claude, and Claude Code. It preserves the inventory by product and adds current evidence, corrections, and links. The findings cover consumer personalization, coding-agent instructions, generated notes, product scope, context compaction, and background memory work.\n\nThe inventory is useful because it records what users experience as “memory failure,” even when the underlying mechanism is something else. Some findings describe confirmed incidents. Some describe documented product behavior. Some are detailed public reports without vendor confirmation. Others are obsolete or remain unsupported.\n\nThe audit uses five status labels:\n\n- **Confirmed incident:** a vendor status report or acknowledged patch establishes the event.\n- **Documented behavior:** current vendor documentation establishes the mechanism.\n- **Public report:** one or more users supplied public evidence, but the vendor has not established the cause.\n- **Historical:** the complaint described an earlier product state that has since changed.\n- **Unverified:** this audit did not find enough public evidence to repeat the claim as fact.\n\nCombined labels such as **documented mechanism; reported quality failure** distinguish the supported mechanism from the disputed scope or severity of the complaint.\n\nThe evidence snapshot is current through August 26, 2026. The original Grok inventory is paraphrased below rather than silently replaced by a different taxonomy.\n\n## ChatGPT: saved memories and personalization\n\nChatGPT currently offers an automatically updated memory synthesis and a legacy saved-memory system. OpenAI says the visible memory summary does not include everything the system may remember from chats, files, and connected applications.\n\n### Reliability and data loss\n\n- **Finding:** The interface says “Memory updated,” but the item never appears under Manage Memory.\n  - **Status:** **Public report**\n  - **Evidence:** OpenAI community threads from [February 2025](https://community.openai.com/t/memory-issues-missing-saves-duplicates-and-no-carryover-to-new-chats/1113426/7) and [July 2025](https://community.openai.com/t/chatgpt-memory-issues-and-not-saving-or-referencing-memories/1308586) describe acknowledged writes that did not appear or affect later chats. These threads are user reports, not official incident records.\n- **Finding:** ChatGPT repeatedly wiped memory, notably in February and November 2025.\n  - **Status:** **Mixed**\n  - **Evidence:** OpenAI confirmed [missing ChatGPT memories](https://status.openai.com/incidents/01K9D7DASB76TK1DEGPMG6ZAM4) on November 6–7, 2025, including possible gaps for memories created during the incident. This audit found no official February 2025 incident. February complaints remain public reports.\n- **Finding:** Deleted entries return, and near-capacity accounts cannot reliably free space.\n  - **Status:** **Public report**\n  - **Evidence:** The July 2025 community thread includes reports of deletion not sticking and old entries returning. OpenAI has not published a root cause in that thread.\n- **Finding:** A Business workspace owner who disables memory deletes members’ saved memories, and re-enabling memory does not restore them.\n  - **Status:** **Documented behavior**\n  - **Evidence:** OpenAI’s [Business memory FAQ](https://help.openai.com/en/articles/9295112-memory-faq-business-version) documents organization-level controls and deletion behavior. This is an administrative retention rule, not an outage.\n\n### Capacity and hygiene\n\n- **Finding:** ChatGPT has an unpublished cap, often reported around 200–400 entries, and silently overwrites old memories when full.\n  - **Status:** **Unverified**\n  - **Evidence:** Current OpenAI documentation does not publish this numerical cap or confirm silent oldest-entry replacement. Reports of full-memory recall failures exist, but they do not establish the claimed limit or replacement policy.\n- **Finding:** Automatic extraction saves shallow facts, crowds out useful context, and offers no approve-or-reject step or bulk deletion.\n  - **Status:** **Partly documented**\n  - **Evidence:** OpenAI says ChatGPT automatically decides which details matter and can save information without a direct request. “Shallow junk” and crowding are user judgments about that selection process. Current controls allow editing and deletion, but the synthesis still lacks a per-write approval transaction.\n\n### Control, accuracy, and staleness\n\n- **Finding:** Manage Memory shows only part of what the system remembers.\n  - **Status:** **Documented behavior**\n  - **Evidence:** OpenAI’s [Memory FAQ](https://help.openai.com/en/articles/8590148-memory-faq) says the summary “will not include everything” and that response source hints “may not show every factor or source.”\n- **Finding:** “Don’t mention this again” suppresses a detail without deleting every source.\n  - **Status:** **Documented behavior**\n  - **Evidence:** OpenAI says complete removal can require deleting the fact from past and archived chats, files, the memory summary, and connected applications.\n- **Finding:** The automatic system quietly synthesizes and rewrites memory instead of retaining the user’s exact statement.\n  - **Status:** **Documented mechanism; reported quality failure**\n  - **Evidence:** OpenAI describes a “continually updated synthesis” and says legacy saved memories can be updated, combined, or removed. Reports that unrelated entries mutate during an update remain public reports.\n- **Finding:** Memories do not age, so an old trip or temporary state may continue to shape later answers.\n  - **Status:** **Public report and design gap**\n  - **Evidence:** OpenAI documents automatic relevance selection but does not publish a general expiration model for personal facts. The claim describes stale-state handling rather than proven storage loss.\n- **Finding:** Shared accounts mix different people’s profiles.\n  - **Status:** **Expected scope risk**\n  - **Evidence:** ChatGPT memory belongs to the account, not to inferred household members. The specific mixed-life examples in the inventory were not independently verified, but account-level personalization makes profile mixing possible when several people share one account.\n\n### Retrieval and product behavior\n\n- **Finding:** ChatGPT remembers incidental personal details while missing business-critical facts.\n  - **Status:** **Public report**\n  - **Evidence:** This is selective retrieval and prioritization rather than a single confirmed defect. OpenAI says the system chooses what it considers important; the product does not promise that user importance and model importance will match.\n- **Finding:** Temporary Chat neither reads nor writes memory, and users can misread the resulting stateless behavior as a failure.\n  - **Status:** **Documented behavior**\n  - **Evidence:** OpenAI’s [Temporary Chat FAQ](https://help.openai.com/en/articles/8914046-temporary-chat-faq) confirms this scope. Reports of web and mobile settings failing to synchronize remain separate user reports.\n- **Finding:** Developer Mode or connectors silently disable memory, and exports can omit a memory file.\n  - **Status:** **Public report**\n  - **Evidence:** This audit found reports of surface-specific behavior but no current vendor statement establishing one general Developer Mode or connector rule. Export contents should not be treated as a complete behavioral audit unless the product promises that contract.\n- **Finding:** Long, multi-paragraph memories collapse or fail to save because of undocumented length limits.\n  - **Status:** **Public report**\n  - **Evidence:** No current OpenAI document located in this audit states a per-entry limit matching the complaint.\n- **Finding:** Migration from classic saved memories to the newer summary resets or retains much less information.\n  - **Status:** **Public report**\n  - **Evidence:** OpenAI lets users switch between the improved synthesis and legacy saved memories. Reports of migration loss require account-level evidence and should not be generalized into a confirmed mass wipe.\n\n## Codex and ChatGPT Desktop\n\nThese findings concern Codex memory, local session state, and the overlap between ChatGPT and Codex surfaces. They do not describe generic coding quality.\n\n- **Finding:** Enabling Memories consumes a large share of Codex quota even for small tasks.\n  - **Status:** **Documented behavior with reported severity**\n  - **Evidence:** In [Codex issue #18699](https://github.com/openai/codex/issues/18699), a user reported a large quota drop for a commit-message task. An OpenAI maintainer replied that memory consumes more tokens and that the cost alone was not a bug. The reported percentages remain one user’s measurement.\n- **Finding:** ChatGPT personal memory and Codex or Work context are not shared consistently.\n  - **Status:** **Product-scope complaint**\n  - **Evidence:** The products expose distinct context surfaces. The inventory combines reports of stale ChatGPT facts entering Codex with reports that Codex cannot access ChatGPT memory. No single current cross-product sharing contract resolves both cases.\n- **Finding:** Desktop Voice can route a ChatGPT conversation into Work or Codex and lose personal memory.\n  - **Status:** **Public report**\n  - **Evidence:** This audit did not find a vendor-confirmed incident for the specific routing sequence. The claim should remain attributed to user reports.\n- **Finding:** App updates can make project threads disappear while the project folder remains.\n  - **Status:** **Public report; often a projection failure**\n  - **Evidence:** Public Codex issues report stale indexes and hidden sessions while canonical local JSONL or SQLite records remain present. A missing thread in the interface does not by itself prove record deletion.\n- **Finding:** Context compaction makes Codex forget requirements from a long session.\n  - **Status:** **Detailed public report**\n  - **Evidence:** [Codex issue #5957](https://github.com/openai/codex/issues/5957) documents 23 edits across six files before compaction. After the summary handoff, Codex denied making the edits and lost its position in the task. The files survived; action history and task state did not.\n- **Finding:** Codex continues from a stale task state that the user already superseded.\n  - **Status:** **Public report**\n  - **Evidence:** This complaint can arise from compaction, stale session hydration, or retrieval of an older state. The inventory does not establish one cause.\n- **Finding:** Desktop fails to hydrate local sessions, memory use climbs toward 100 percent, and the interface becomes unusable.\n  - **Status:** **Public report**\n  - **Evidence:** Session-index or hydration defects can coexist with process-memory leaks. They should be diagnosed separately from long-term memory generation.\n\nCodex Desktop reports of tens or hundreds of gigabytes of RAM use and excessive SSD logging belong in a process-resource tracker. Users often call them memory failures because “memory” names both retained context and RAM, a linguistic collision the software industry has somehow tolerated for decades.\n\n## Claude: chat memory, Projects, and Cowork\n\nClaude’s consumer memory changed substantially in 2026. Anthropic replaced the previous daily summary with categorized entries in July. On August 25, it announced one memory across chat and Cowork with editable topic files.\n\n### Migration and sensitive topics\n\n- **Finding:** The new memory rollout silently recategorized, simplified, or deleted months of curated memory, and exports did not match backend state.\n  - **Status:** **Public report**\n  - **Evidence:** This audit found no Anthropic incident report confirming a mass destructive migration. The complaint should remain attributed to affected users.\n- **Finding:** Claude blocks sensitive topics such as health, religion, orientation, and politics from memory.\n  - **Status:** **Historical and overstated**\n  - **Evidence:** Anthropic’s August 25 [release notes](https://support.anthropic.com/en/articles/12138966-release-notes) say sensitive topics stay out by default unless the user enables them. Some prohibited categories may remain excluded, but the blanket claim that users can never opt in is outdated.\n- **Finding:** New memory retains only a small fraction of classic memory and refuses nickname or working-style notes.\n  - **Status:** **Public report**\n  - **Evidence:** Anthropic has not published a universal retention ratio. The phone-versus-desktop behavior in the inventory was not confirmed by a current vendor source.\n\n### Stored detail and continuity\n\n- **Finding:** Claude keeps high-level summaries instead of detailed multi-document project state.\n  - **Status:** **Historical design and public report**\n  - **Evidence:** The earlier daily-summary system was selective by design. Current categorized entries improve editability but still do not promise a complete project database.\n- **Finding:** Chat and Cowork required separate briefing.\n  - **Status:** **Historical**\n  - **Evidence:** Anthropic unified chat and Cowork memory on August 25, 2026. Other products and integrations can still have separate histories.\n- **Finding:** Compaction produces a generic summary, then a new chat loses the project thread.\n  - **Status:** **Public report**\n  - **Evidence:** Anthropic documents context compaction as selective summarization. The complaint concerns what the handoff preserves, not whether consumer memory exists.\n\n### Leakage\n\n- **Finding:** A proof of concept exfiltrated memory-derived personal data through character-by-character link requests.\n  - **Status:** **Researcher-demonstrated; mitigated path**\n  - **Evidence:** Ayush Paul’s [Memory Heist](https://www.ayush.digital/blog/the-memory-heist) showed Claude encoding a name, employer, and inferred hometown into successive URL paths. Paul reported that Anthropic disabled the external link-following path used by the attack. There is no evidence in the report of widespread exploitation in the wild.\n\n## Claude Code: `CLAUDE.md`, auto-memory, and `/memory`\n\nClaude Code uses two file-based mechanisms: human-written `CLAUDE.md` instructions and agent-written auto-memory. Anthropic explicitly describes both as context rather than enforced configuration.\n\n### Ignored or overwritten instructions\n\n- **Finding:** Claude Code skips `CLAUDE.md` or `MEMORY.md`, then repeats failures already documented there.\n  - **Status:** **Documented adherence limit and public reports**\n  - **Evidence:** Anthropic says these files are soft context and offers `/context` to verify loading. Reports such as [issue #42294](https://github.com/anthropics/claude-code/issues/42294) show rules being loaded, acknowledged, and still violated. The inventory’s claimed 80 percent miss rate was not independently established.\n- **Finding:** Asking Claude to remember one fact can replace the entire `CLAUDE.md` with one bullet.\n  - **Status:** **Detailed public report**\n  - **Evidence:** [Issue #2396](https://github.com/anthropics/claude-code/issues/2396) reports a memory write replacing about 1,000 lines with placeholder text. Related reports describe similar destructive edits. The issue does not establish that the failure is routine in current versions.\n- **Finding:** Written rules guide behavior but do not block actions.\n  - **Status:** **Documented behavior**\n  - **Evidence:** Anthropic says hard constraints belong in permissions or deterministic tool gates. Current documentation recommends `PreToolUse` hooks; other runtimes may offer different enforcement surfaces.\n\n### Scope, scale, and retrieval\n\n- **Finding:** Auto-memory creates a separate silo for every working directory and worktree.\n  - **Status:** **Historical or contradicted**\n  - **Evidence:** Current [Claude Code memory documentation](https://docs.anthropic.com/en/docs/claude-code/memory) says auto-memory is repository-scoped and shared across worktrees and subdirectories. Outside a Git repository, the project root determines scope. Memory remains machine-local.\n- **Finding:** `MEMORY.md` loads only its first 200 lines or 25 KB, so later notes fall out by position.\n  - **Status:** **Documented behavior with safeguards**\n  - **Evidence:** Anthropic documents the cap. Current auto-memory uses `MEMORY.md` as an index and keeps detail in topic files that Claude can read on demand. Over-limit writes trigger an error requesting index repair. The complaint is accurate about startup loading but outdated when it says no topic retrieval exists.\n- **Finding:** Main-session auto-memory is injected into every subagent and consumes much of a small subagent’s context.\n  - **Status:** **Contradicted by current documentation**\n  - **Evidence:** Ordinary subagents do not receive the main conversation’s auto-memory. Forks inherit parent context. Independent subagents need their own configured memory. The reported token measurement may describe an older build or a different subagent mode.\n- **Finding:** Claude Code has no way to detect that memory failed to load.\n  - **Status:** **Outdated as a blanket claim**\n  - **Evidence:** `/context` lists loaded memory files, `/memory` opens the stores, and `InstructionsLoaded` can log instruction loading. These controls still require the user or operator to inspect them; the product may not proactively alert on every stale or missing instruction.\n\n### Corruption and product changes\n\n- **Finding:** Hallucinated auto-memory becomes ground truth and compounds across sessions.\n  - **Status:** **Plausible by design; public report**\n  - **Evidence:** Claude writes auto-memory itself. [Issue #23769](https://github.com/anthropics/claude-code/issues/23769) reports incomplete generated summaries leading to later wrong answers. Anthropic did not validate a general self-reinforcement defect in that thread.\n- **Finding:** Compaction or microcompaction silently drops old turns and MCP tool results, including retrieved memory.\n  - **Status:** **Documented pruning mechanism; reported failure**\n  - **Evidence:** Context editing removes stale tool results near context limits. Reports that this breaks a specific MCP-backed memory workflow need to be attributed to the affected configuration rather than generalized to all Claude Code memory. Root `CLAUDE.md` is re-read after `/compact` in current versions.\n- **Finding:** A thinking-section cleanup bug ran every turn instead of after idle and progressively removed decision context.\n  - **Status:** **Public report with historical patch claims**\n  - **Evidence:** The Grok inventory points to an Anthropic postmortem, but this audit did not bind the exact complaint to a stable official incident URL. It should remain a dated report until that primary record is attached.\n- **Finding:** Third-party installers set `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1`, leaving files on disk but making Claude stop reading them.\n  - **Status:** **Public report; external cause**\n  - **Evidence:** The environment variable is a documented disable control. A third-party installer setting it without consent would be an installer defect, not evidence that Claude Code deleted memory.\n- **Finding:** Cowork’s Project Memory panel can read a disconnected store and disagree with disk.\n  - **Status:** **Public report**\n  - **Evidence:** The reported 12-of-12 mismatch test and fabricated edit explanation were not independently reproduced in this audit. The finding remains useful as a testable claim about source identity.\n- **Finding:** `/memory` can hang the terminal after opening an editor, and the `#` quick-memory shortcut was removed.\n  - **Status:** **Historical UX complaints**\n  - **Evidence:** Current documentation says terminal editors take over until exit and GUI editors open separately. The `#` shortcut was removed; users now ask Claude to add to memory or edit the files through `/memory`.\n\nThe inventory also notes the growth of third-party memory layers. Their existence does not prove every complaint, but it does reveal unmet demand for ranked retrieval, shared scope, provenance, health checks, and stronger control over generated writes.\n\n## Cross-product pattern from the Grok inventory\n\nThe original inventory ended with the following comparison. The audit adds the status distinctions above rather than treating every row as an established defect.\n\n- **Wipe or destructive rewrite**\n  - **ChatGPT and Codex:** Confirmed November 2025 ChatGPT outage; reported automatic mutation\n  - **Claude and Claude Code:** Reported migration loss; detailed `CLAUDE.md` overwrite report\n- **Cap and drop**\n  - **ChatGPT and Codex:** Unverified numerical saved-memory cap\n  - **Claude and Claude Code:** Documented bounded `MEMORY.md` startup index\n- **Generated junk or false facts**\n  - **ChatGPT and Codex:** Automatic synthesis with reported poor selection\n  - **Claude and Claude Code:** Agent-written memory with reported false-state propagation\n- **Incomplete user control**\n  - **ChatGPT and Codex:** Partial summary and multi-source deletion\n  - **Claude and Claude Code:** Soft instructions; current loading diagnostics but no universal enforcement\n- **Product-surface split**\n  - **ChatGPT and Codex:** ChatGPT, Codex, Voice, and Work complaints\n  - **Claude and Claude Code:** Chat/Cowork split was fixed; machine and subagent scopes remain distinct\n- **Compaction loss**\n  - **ChatGPT and Codex:** Detailed Codex task-continuity report\n  - **Claude and Claude Code:** Selective context pruning with reported decision and tool-result loss\n- **Quota or token cost**\n  - **ChatGPT and Codex:** Codex memory uses background inference and quota\n  - **Claude and Claude Code:** Startup instructions consume context; ordinary subagent inheritance claims are now contradicted\n\n## What the complaints reveal\n\nThe complaints cluster around three contracts that products rarely state clearly.\n\nFirst, users need a **custody contract**: what is stored, where it lives, how it changes, and whether deletion reaches every source. A summary interface cannot substitute for a ledger when hidden state still shapes behavior.\n\nSecond, coding agents need a **continuity contract** across compaction. The handoff must preserve the current objective, unfinished work, changed files, test results, blockers, permissions, and next action. [Context compaction](https://cameron.stream/knowledge/context-compaction) should reduce the active prompt while raw trajectories remain available for recovery.\n\nThird, remembered prose needs an **authority contract**. A note can guide a model without enforcing behavior. Critical requirements belong in versioned source documents, permissions, schemas, tests, or tool gates. [Routing-based memory](https://cameron.stream/knowledge/routing-based-agent-memory) can then select the authoritative source instead of treating every generated recollection as an equal fact.\n\nThe practical standard is inspectable revision. Users should be able to see what changed, identify the source, restore a prior version, confirm what loaded, and trace which memory affected an answer or action. [Agent trajectory observability](https://cameron.stream/knowledge/agent-trajectory-observability) supplies the causal record that a memory summary alone cannot provide.\n\n## Sources\n\n- [OpenAI Memory FAQ](<https://help.openai.com/en/articles/8590148-memory-faq>)\n- [OpenAI status incident for missing ChatGPT memories](<https://status.openai.com/incidents/01K9D7DASB76TK1DEGPMG6ZAM4>)\n- [OpenAI Codex compaction report](<https://github.com/openai/codex/issues/5957>)\n- [OpenAI Codex memory quota report](<https://github.com/openai/codex/issues/18699>)\n- [OpenAI Codex idle memory activity report](<https://github.com/openai/codex/issues/19732>)\n- [Anthropic Claude Code memory documentation](<https://docs.anthropic.com/en/docs/claude-code/memory>)\n- [Anthropic release notes](<https://support.anthropic.com/en/articles/12138966-release-notes>)\n- [Claude Code destructive memory write report](<https://github.com/anthropics/claude-code/issues/2396>)\n- [Claude Code incomplete auto\\-memory report](<https://github.com/anthropics/claude-code/issues/23769>)\n- [Bad Memory](<https://arxiv.org/abs/2607.14611>)\n- [The Memory Heist](<https://www.ayush.digital/blog/the-memory-heist>)",
  "$type": "site.standard.content.markdown",
  "version": "1.0"
}
```

---
*Fetched from https://enoki.us-east.host.bsky.network via `com.atproto.repo.getRecord`*