Telemetry — Default-On & Opt-Out
Status: ✅ Current · Last reviewed: 2026-06-18
Memeri telemetry is default-on at the user level. Once you have a user-level config file in place, every Claude Code window on your machine forwards activity to your Project timeline — regardless of which folder you're working in. Per-project opt-out is one command.
This page explains the gating model, how to enable it, and how to disable it (per project or globally).
How the gate decides
When Claude Code runs a tool (Bash, Edit, Read, etc.), the Memeri hook checks four things in order:
- Per-project opt-out wins. If
./.claude/memeri-disabledexists in the current folder → silent exit. No telemetry from this folder. - User-level enable. If
~/.claude/memeri.jsonhas a validauth_token→ proceed. This is the new default-on path. - Legacy per-project enable. If
./.claude/memeri.jsonor./MEMERI.mdexists → proceed. Kept for backwards compatibility with the older opt-in model. - Otherwise → silent exit.
The gate is opt-out for users with a user-level token, and opt-in for users without one.
Set up user-level enable (recommended)
Get your token from the Connect page (Settings → Connect → Generate API token), then:
mkdir -p ~/.claude
cat > ~/.claude/memeri.json <<EOF
{
"auth_token": "<your-cb_-token>",
"gateway_url": "{{GATEWAY_URL}}"
}
EOF
chmod 600 ~/.claude/memeri.json
That's it. Open Claude Code anywhere — your activity will appear on your Project timeline within a few seconds.
Opt out for a specific folder
In any folder where you don't want telemetry (sensitive client work, private repos, scratch dirs):
mkdir -p .claude
touch .claude/memeri-disabled
The hook silently exits whenever Claude is launched from this folder. No content needed in the file — its presence is the signal.
To re-enable later: rm .claude/memeri-disabled.
Disable telemetry globally
Three options, in order of strength:
| Action | Effect |
|---|---|
rm ~/.claude/memeri.json |
Removes user-level enable. Legacy per-project enable still works. |
Remove the PostToolUse hook from ~/.claude/settings.json |
Hook never runs. Nothing local is forwarded ever. |
| Uninstall the Memeri plugin | Plugin path completely removed; you can still use MCP-only via the gateway. |
What you'll see at session start
The plugin's SessionStart hook prints a single informational line to give you a heads-up:
| Your setup | Behaviour at session start |
|---|---|
| user-level enabled, current folder is wired | silent (working as expected) |
| user-level enabled, current folder is NOT wired | 💡 Memeri: telemetry running at user level. Drop .claude/memeri-disabled to opt out. |
| user-level disabled, current folder is wired | silent (legacy path) |
| user-level disabled, current folder is NOT wired | 💡 Memeri: not configured here. Run /memeri:init or set up ~/.claude/memeri.json. |
current folder has .claude/memeri-disabled |
silent (opt-out wins) |
One line, never a popup. You can ignore it.
How to verify it's working
After setup, run something — a file edit, a bash command — in any wired folder. Then open your Memeri Project page. You should see:
- Your Claude Code activity attributed to your window (deterministic name from your proxy UUID)
- The activity in the Project timeline within ~10 seconds
- The Connect page Health tab showing all paths green
If something's wrong, the Connect page will surface a warning with a one-click remediation.
What about ChatGPT / Codex CLI?
Different rules. Those clients don't have a PostToolUse hook concept, so the gating above doesn't apply to them. They use MCP-only telemetry: every tool call they make through the Memeri gateway is captured server-side regardless of any local config.
For those clients, "opt out" = don't connect them to the Memeri MCP server in the first place. There's no per-project gating because there's no local agent on your machine to gate.
Privacy summary
- The hook only reads what Claude Code already passed it (tool name, file path, command, output snippet) — it doesn't scan your filesystem.
- Captured data flows to your Memeri account only, over an authenticated HTTPS connection.
- Per-project opt-out (
memeri-disabledmarker) is a complete black-out for that folder. Even file paths are not forwarded. - You can rotate your token at any time from the Connect page; old tokens are revoked immediately.