Features

A scannable cheat sheet of what’s in the box. For the mental model behind these, see Concepts; for runtime UX inside a specific tool, see Supported Editors.

At a glance

  • 7 MCP tools for the agent: aide_recall, aide_remember, aide_update, aide_forget, aide_search, aide_memories, aide_import
  • 13 CLI commands for you: init, recall, remember, update, forget, search, list, stats, recall-log, config, sync, migrate, cleanup
  • 6 hooks wired into the editor at init
  • 4 typed memory layers with a personal/shared split for preferences
  • Local-first storage (JSON files + SQLite cache, no cloud)
  • Cross-editor (Claude Code + Cursor today)
  • Free for individuals; potential team/pro tiers later

Capture

Six hooks fire automatically in your editor:

  • SessionStart, injects top-N preferences + guidelines + priority-always memories
  • PreToolUse, blocks first read of a file with un-recalled scoped memories until aide_recall runs; soft-nudges thereafter; tunable per-mode
  • PostToolUse, records what was recalled so re-reads don’t re-prompt
  • UserPromptSubmit, detects correction patterns and prompts the agent to call aide_remember
  • Stop, periodic “anything worth remembering?” reflection on a tunable schedule (default ramps every 3 → every 5 → every 10 turns by session length)
  • PreCompact, clears session tracking so post-compact reads re-prompt cleanly

Recall

  • Glob scopes with inheritance: src/auth/** covers everything under it; querying src/ matches sub-scoped memories
  • Layer priority: area_context > technical > preferences > guidelines
  • Scope specificity: deeper scopes rank above broader scopes within a layer
  • Layer diversity rebalance: when total results are small, under-represented layers swap up so each enabled layer is represented
  • Bounded pagination: recall.limit (default 20) caps per-call returns; remaining IDs nudge the agent to fetch the next batch
  • recall.minScopeDepth dial: tune which scopes qualify for per-file recall vs SessionStart-only
  • FTS5 BM25 keyword search across what and why fields
  • LIKE fallback when FTS5 is unavailable
  • Optional semantic supplement when fewer than 3 keyword hits are found, via:
    • Local Transformers.js (@huggingface/transformers, in optional dependencies)
    • Local Ollama server (http://localhost:11434)
    • No extra setup if you don’t want semantic; keyword search works fine on its own

Storage

  • One JSON file per memory under .aide/memories/<layer>/
  • .aide/memories/preferences/personal/ is gitignored
  • .aide/memories/preferences/shared/ and the other three layers are committed to the repo
  • Local SQLite cache at ~/.aide/projects/<hash>/memory.db (WAL mode), rebuildable from the JSON files
  • post-checkout git hook rebuilds the cache after git pull or branch switch

Sync

  • git add .aide/memories/ then commit and push
  • Teammates git pull and the post-checkout hook rebuilds their cache
  • Conflicts resolve by updated_at timestamp; newer wins
  • No sync service, no auth, no daemon

Editor support today

  • Claude Code: reference adapter, every feature works as designed. aide-memory init writes .claude/settings.json, .mcp.json, .claude/rules/aide-memory.md. Restart Claude Code after init so it picks up the new MCP server.
  • Cursor: full hook + MCP wiring. aide-memory init writes .cursor/hooks.json, .cursor/mcp.json, and a dynamically-regenerated .cursor/rules/aide-memory.mdc. Restart Cursor (Cmd+Q) and enable the aide-memory MCP server in Cursor → Settings → MCP, both required first time.
  • Codex / Copilot / Windsurf: rules template only at launch. Deeper integration may come based on user feedback.

See Supported Editors for the full per-editor table.

Configurable

  • 7 hook controls (hooks.read.maxBlocks, hooks.edit.maxBlocks, hooks.search.mode, hooks.correction.enabled, hooks.precompact.mode, hooks.stop.schedule, hooks.visible)
  • 4 recall controls (recall.limit, recall.ensureLayerDiversity, recall.layerDiversityMinLimit, recall.minScopeDepth)
  • 7 SessionStart-injection controls (injection.enabled, injection.preferences, injection.excludeScopedPreferences, injection.technical, injection.area_context, injection.guidelines, injection.priorityAlwaysOverride, injection.maxChars)
  • 3 memory-storage controls (memories.hideFromGrep, memories.softening.threshold, memories.defaultShared)
  • Embeddings: embeddings.backend (auto / transformers / ollama / none) and embeddings.model
  • Identity: contributor (default auto reads git config user.name)
  • Tags: tags.presets array
  • Updates: updates.check (non-blocking npm version check)

Run aide-memory config <key> to read, aide-memory config <key> <value> to set, or edit .aide/config.json directly.

Privacy

  • Code and memory content never leave your machine.
  • Anonymized event counts ship to PostHog by default. Disable with AIDE_TELEMETRY=off.
  • When opted in, only the event type, a SHA256-hashed hostname:username for deduplication, the platform, and the Node version are sent. No memory content, file paths, query strings, or any other user-identifying data.

Free / pricing

  • aide-memory is proprietary freeware. Free to use today.
  • Future enhancements may stay free; some may ship as paid team / pro tiers.
  • The core memory engine stays free for solo developers.