Skip to main content
Add persistent memory to Claude Code with the Cognee memory plugin — no code and no pip install. The plugin hooks into Claude Code’s lifecycle, so it:
  • captures your prompts, tool traces, and assistant responses into session memory
  • injects relevant context on every prompt submit
  • syncs the session into your knowledge graph on session end
Sessions are disposable; your memory isn’t.

Install

Install from the Claude Code marketplace. Run these in your terminal (or type the equivalent /plugin … slash commands directly in the Claude Code chat):
claude plugin marketplace add topoteretes/cognee-integrations
claude plugin install cognee-memory@cognee
On startup you’ll see a “Cognee Memory Connected” message, and the status line shows cognee: <dataset> · <mode>.

Configure your backend

Set environment variables in the shell that launches Claude Code.
Point the plugin at Cognee Cloud or a remote server by setting both:
export COGNEE_BASE_URL="https://your-tenant.aws.cognee.ai"
export COGNEE_API_KEY="ck_..."
You can also persist settings in ~/.cognee-plugin/claude-code/config.json:
{
  "base_url": "https://your-tenant.aws.cognee.ai",
  "dataset": "agent_sessions"
}

Use it

Just use Claude Code as usual — memory is captured and recalled automatically. You can also invoke the skills explicitly:
SkillPurpose
/cognee-memory:cognee-rememberStore something in memory now
/cognee-memory:cognee-searchQuery your memory
/cognee-memory:cognee-syncPersist the current session into the graph
To verify the connection, open a fresh session and ask: “What do you know from cognee?”
With the plugin active, Cognee is the preferred memory: the SessionStart hook steers Claude to treat Cognee as authoritative over Claude Code’s built-in MEMORY.md. Set COGNEE_PREFER_MEMORY=false to turn the steer off.

Sessions & datasets

  • Sessions — by default a new session_id is generated each launch. Set COGNEE_SESSION_ID to resume or share a named session across terminals.
  • Datasets — all writes and recall are scoped to one dataset (agent_sessions by default). Set COGNEE_PLUGIN_DATASET to use a custom one. The Claude Code and Codex plugins share the default dataset, so memory carries across both.

How It Works

The plugin registers Claude Code lifecycle hooks:
HookBehavior
SessionStartmode select, identity setup, dataset readiness, watcher bootstrap
UserPromptSubmitdataset-scoped context lookup + async prompt staging
PostToolUseasync trace write
Stopassistant answer write
PreCompactmemory anchor build before compaction
SessionEndtrigger detached final sync worker
A background idle watcher persists the session cache after periods of inactivity, and a final sync on session end bridges the session into the permanent graph.

Configuration Reference

Precedence: environment variables → ~/.cognee-plugin/claude-code/config.json → defaults.
SettingEnv varDefaultNotes
DatasetCOGNEE_PLUGIN_DATASETagent_sessionsDataset for writes and recall
Session IDCOGNEE_SESSION_IDper-launchOverride to resume a named session
Session strategyCOGNEE_SESSION_STRATEGYper-directoryper-directory, git-branch, static
Base URLCOGNEE_BASE_URLunsetSet to use a managed/remote endpoint
API keyCOGNEE_API_KEYunsetAuto-minted if absent in local mode
Local API URLCOGNEE_LOCAL_API_URLhttp://localhost:8011Local API base URL
Local LLMLLM_API_KEY, LLM_MODELunsetRequired for local mode
Prefer Cognee memoryCOGNEE_PREFER_MEMORYtrueInject the SessionStart memory steer

Update or Remove

There’s no automatic update — reinstall to pull a new plugin version:
claude plugin uninstall cognee-memory@cognee
claude plugin install cognee-memory@cognee

GitHub Repository

View source code and the full configuration reference

Codex plugin

The same memory plugin for the Codex CLI