Skip to main content
Your agent remembers the decisions, bugs, and conventions from earlier chats instead of starting cold every time.

Install

Requires Node.js on your PATH. Installing Cursor does not put one there.
Run this in Cursor:
Or install it from the Cursor Marketplace: open Customize, find Supermemory, select Install, and choose project or user scope. Restart Cursor or run Developer: Reload Window afterwards.

Authenticate

Open a new chat in Cursor and run:
A browser window opens. Sign in to Supermemory and you are done. You can manage the plugin, change its access, or disconnect it from the Agents page in the console. As a fallback, set an API key from API Keys:
Restart Cursor after installing the plugin or changing credentials. Check the connection any time with /supermemory-status.
The slash commands just run the plugin’s CLI for you. To drive it yourself:
CURSOR_PLUGIN_ROOT is set for plugin hooks. If it is empty in your shell, run node dist/cli.js <command> from the installed plugin directory.Credentials are stored in ~/.supermemory-cursor/credentials.json.

How it works

Skills and commands

MCP tools

The plugin proxies the hosted Supermemory MCP server (https://mcp.supermemory.ai/mcp) over stdio, using the same credentials as the hooks. Claude Code and Codex use the same server, so all three agents see one tool set. The bundled rule, skills, and agent mainly use these: Pass containerTag on every call, using the tag from the <supermemory-context> block the session-start hook injects. Without it, the hosted server uses the account’s active space, and this project’s hook recall will not find the memory. Config lives in files rather than tools: see Configuration or run /supermemory-config.

Container tags

Cursor shares one repository tag with the Claude Code, Muse Code, OpenAI Codex, and OpenCode plugins, so agents working on the same repo read and write the same memory:
The project ID is a stable hash of the normalized Git remote. Repositories without a remote fall back to their resolved local path. Two repos with the same directory name never collide, and different agents on the same repository share memory. The plugin still reads the former cursor_user_* and cursor_project_* tags, along with legacy tags from the other agents. New writes only use the unified repository tag. Set repoContainerTag only when you need an explicit shared override.

Configuration

Prefer to keep everything on your machine? This plugin works with self-hosted Supermemory: run npx supermemory local, then set SUPERMEMORY_API_URL="http://localhost:6767" (or baseUrl in your config file) and use the API key printed on first boot.

Environment variables

Global config

~/.config/cursor/supermemory.json holds user-wide defaults and applies to all projects.

Project config

.cursor/.supermemory/config.json holds per-workspace overrides and wins over global config. Add it to .gitignore if it contains an API key.
Edit the file by hand, or run the /supermemory-config command.

Log out

Run /supermemory-logout in Cursor. This removes the stored credentials. Your memories in Supermemory are preserved.

Next steps

GitHub repository

Source code, issues, and detailed README.