Skip to content
Agent Memory
Skill

/mem-setup

This skill should be used when the user asks to "set up claude-mem", "pair claude-mem", "connect cmem", "add my cmem key", "set up cloud sync in Cowork" or in the Claude app, or provides cmem.ai Connect values (sync token, user id, SyncHub URL) for this plugin. Configures the

From plugin
claude-mem
116k34 skills1 command2 MCP

Claude Code

$ npx -y skills add thedotmack/claude-mem --skill mem-setup --agent claude-code

SKILL.md

mem-setup.SKILL.md
name: mem-setup
description: >
  This skill should be used when the user asks to "set up claude-mem", "pair
  claude-mem", "connect cmem", "add my cmem key", "set up cloud sync in
  Cowork" or in the Claude app, or provides cmem.ai Connect values (sync token,
  user id, SyncHub URL) for this plugin. Configures the CMEM Pro plugin
  credentials.
metadata:
  version: "0.1.0"

Claude-Mem Setup (Claude app pairing)

Configure this plugin with the user's own cmem.ai credentials so hooks can capture and inject memory. Anyone can pair — credentials are per-user configuration, never hardcoded in plugin logic.

What to collect

From **cmem.ai → Connect**, the user has three values:

1. **sync token** (starts with `cm_`) — used as the bearer API key 2. **user id** (UUID) 3. **SyncHub URL** (`https://sync.cmem.ai`)

If the user pastes the whole Connect blurb, extract the three values from it. If any are missing, ask for the sync token at minimum — the other two are optional.

Secret handling — non-negotiable

  • Never echo the token back in conversation, put it in a shell argv, or log it.
  • Move it only via file writes (Write/Edit tool) and file reads.

Steps

1. Locate the installed plugin root (this skill's own plugin). Update its `config.json`: set `apiKey` to the sync token, `userId`, and `syncHubUrl`. Leave other settings unless the user asks (`inject` toggles). Project naming is automatic (`cmem_work_*`) and is not configurable. 2. Claude app containers are ephemeral: edits to the installed copy last only for this session. To make pairing permanent, repackage — zip the plugin directory as `<plugin-name>.plugin` and send it to the user to re-install (the cowork-plugin skill's packaging flow). Tell the user this is why. 3. If this machine also has a local claude-mem install (a `~/.claude-mem/` directory exists), write the same values to `~/.claude-mem/settings.json` with mode 0600 (`CLAUDE_MEM_CLOUD_SYNC_TOKEN`, `CLAUDE_MEM_CLOUD_SYNC_USER_ID`, `CLAUDE_MEM_CLOUD_SYNC_HUB_URL` keys — the same keys the local claude-mem cloud-sync pairing writes). This plugin's hooks stay off wherever claude-mem is installed locally, so that pairing is what carries this machine's work to cmem.ai. The worker reads those keys only at startup: restart it and run the claude-mem cloud-sync skill's Verify step, which must report `configured: true` and `hub.reachable: true`. Don't report success before it does; if it never does, pair through that skill's installer flow instead. 4. Verify without exposing the secret:

   node "${CLAUDE_PLUGIN_ROOT}/scripts/cmem-hook.mjs" status

Report the masked output. A `MISSING` key means the write didn't land; a 404 on `/api/hooks/context` is expected until the Pro endpoints deploy (search/injection still work via `/api/mcp`).

Alternate source

Env vars override everything and need no file edits: `CMEM_API_KEY`, `CMEM_USER_ID`, `CMEM_SYNC_HUB_URL`, `CMEM_API_BASE`.

Read more
@thedotmack
Ships withclaude-mem

Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More

116k34 skills2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
115.5k
Star history of thedotmack/claude-mem on GitHub, a chart by star-history.com

Other skills on claude-mem.

community-sweep

community-sweep

Land community pull requests as the contributor and answer community issues on thedotmack/claude-mem. Takes stock of every open…

agent-cost-report

agent-cost-report

Believable agent cost report for any period, default the last 7 full days PT, not counting today. Measured tokens from Claude…

install

install

Use this when setting up claude-mem on Cursor: local or remote worker, local host-login observer or remote cmem.ai inference.

mem-search

mem-search

Use this when the user asks to search memory, "did we already solve this?", "how did we do X last time?", or wants work from…

host-observer

host-observer

Use this when fulfilling claude-mem observer jobs on Grok Bot: reply only skip_summary or one full observation XML, never prose.

More skills from other plugins.

bot-handoff

bot-handoff

Keep a durable record of work passed between Bots in the shared Hindsight memory bank. Use when handing work to another Bot, when…

@vectorize-io@vectorize-ioInstall Skill
mempalace

mempalace

Install, configure, and operate MemPalace, including a private local palace, a shared-brain hub, or a client joining an existing…

mempalace11d60k
@mempalace@mempalaceInstall Skill
mempalace

mempalace

Install, configure, and operate MemPalace, including a private local palace, a shared-brain hub, or a client joining an existing…

mempalace11d60k
@milla-jovovich@milla-jovovichInstall Skill

Questions about mem-setup.

Which coding agents can use mem-setup?
mem-setup installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.