Claude-Mem's Installer Uploaded 30 Days of Prompts to cmem.ai Before Asking; v15.8.3 Adds a Consent Panel
Software / news
Claude-Mem's Installer Uploaded 30 Days of Prompts to cmem.ai Before Asking; v15.8.3 Adds a Consent Panel
The fix shipped on Nov. 2, but the release notes say prompts already uploaded by earlier versions are not removed, and the GitHub issue was reopened the same day.
Claude-Mem, the memory plugin for coding agents that has about 110,600 GitHub stars, shipped v15.8.3 on Nov. 2 to stop its browser setup from uploading users' prompts to cmem.ai without consent. The release notes say the setup page opened by npx claude-mem install "uploaded the full text of the last 30 days of prompts" and that "Prompts already uploaded by earlier versions are not removed by this update."
The behaviour was reported on Oct. 29 in issue #5176 by GitHub user saltenasl, who traced it to installer v15.2.0 or later. The issue was closed on Nov. 2 by maintainer thedotmack, who is listed on the repository page as the author, Alex Newman, and then reopened the same day. No explanation appears on the page.
What the setup page read and sent
According to the issue, the first screen of the browser setup scans local chat histories for the last 30 days, whichever tools the user selected during install. It then sends the full prompt text to cmem.ai along with session IDs, project names, folder paths and timestamps. The reporter says the upload begins when the page loads.
| Tool | Local history read, per the issue |
|---|---|
| Claude Code | ~/.claude/projects/*/*.jsonl, including subagents |
| Codex | ~/.codex/sessions/... |
| Gemini CLI | ~/.gemini/tmp/*/chats/* |
| OpenCode | ~/.local/share/opencode/opencode.db |
The screen said "Checking your AI usage" and "Finding your goals, work and rules," the reporter wrote, and did not mention an upload. The one checkbox, "Help make claude-mem smarter for everyone with my anonymized setup results," was ticked by default. The reporter says cmem.ai confirmed that unticking it does not stop the upload.
Where the prompts went
The destination matters more than the checkbox. Relaying replies from cmem.ai, the reporter wrote that the prompts were sent to the model deepseek/deepseek-v4-flash-0731 through OpenRouter's global endpoint, routed to the cheapest provider first. The request did not set zero data retention or data_collection: "deny", and cmem.ai does not know which provider handled them because its records never stored the provider.
OpenRouter's provider logging documentation says that if an account opts out of training, "OpenRouter will not route to providers that train." It also says OpenRouter "does not have routing rules that change based on data retention policies of providers." Those are account and request settings, and the reporter's account of the request says neither was set per call. cmem.ai said on Oct. 30, according to the reporter, that it was still checking account-level settings.
cmem.ai deleted its own database records for the reporter on request. That does not reach copies at OpenRouter or the downstream provider.
What v15.8.3 changes
The release notes describe a consent step. The scan now reads local history only, then shows a panel listing each detected tool and its prompt count. Only ticked tools are uploaded, and "Keep everything local" uploads nothing. Analytics is off by default and separate from upload consent, and a new POST /api/setup/scan/consent route accepts calls from the local machine only.
The issue page still showed the fix, pull request #5220, as open when it was read on Nov. 2, while the release cites it. A commenter, webpony2016, wrote on Nov. 1 that their source review of v15.7.0 found improveProduct=false did not stop the upload, and asked what purpose requires historical prompts, which downstream providers receive them and how users can request deletion everywhere. No maintainer reply to those three questions appears on the page.
The README's own claim is that Claude-Mem is local-first, with a SQLite database and a Chroma vector index on the user's machine, and the issue quotes a privacy policy line, "Nothing leaves your device unless you explicitly turn on cloud sync." The reporter never turned cloud sync on.
What to do before the next install
Anyone who ran the interactive installer between v15.2.0 and v15.8.2 should assume the last 30 days of prompts reached cmem.ai. The reporter's suggested workaround for older installers is to block cmem.ai before running them. Other agent tooling has had its own supply-chain scares: a tampered Claude Code extension sat in Cursor's marketplace, and tools that read local agent sessions, like T3 Code, carry similar trust questions.
The next thing to watch is whether pull request #5220 merges and whether cmem.ai or OpenRouter publishes which provider handled the uploaded prompts.
This article is based on GitHub pages and OpenRouter documentation read on Nov. 2. The Terminal did not run the installer and did not capture network traffic; the upload details are the reporter's account as relayed on the issue and confirmed in the maintainers' release notes.
Sources
More in Software
- 01Polyend Publishes Tracker Firmware Source Under a Noncommercial Licence, With Two Binary Libraries Left OutThe tracker-ce repository covers the original Tracker, Tracker+ and Tracker Mini, but the synth and DSP libraries ship precompiled under a separate proprietary licence.
- 02Vercel Labs' Agent-Desktop 1.0 Ships With a macOS Bug That Types Into the Frontmost AppThe Rust tool lets an AI agent drive desktop apps through the accessibility tree, and 48 open issues sit against it three days after the 1.0.2 release.
- 03T3 Code Reaches 38.1k Stars in Alpha, and Its Remote Access Docs Say to Treat Pairing Links as PasswordsThe MIT-licensed control surface for Claude Code, Codex and other agents has nearly doubled its star count since August 27. Its own documentation lists what stays risky.
- 04Postgres 19 Slips Past October as Haas Counts 1,169 Stable-Branch Commits Against 724 a Year AgoRobert Haas, a PostgreSQL committer, blames LLM-assisted bug hunting for the delay. Snowflake's count of reverted features and the postgresql.org schedule show how far the release has moved.