mem — Agent Memory Store A CLI tool for storing and retrieving memories with full-text search. Data is stored locally in ~/.mem/mem.db . When to Use Remember user preferences, project decisions, important facts Store code snippets, commands, configurations for later recall Search your knowledge base before asking the user for information you may have stored Attach images (screenshots, diagrams) to memories Commands Three operators: (none) = recall, + = remember, - = forget. Recall (search, list, get) mem
list recent memories
mem "deploy"
full-text search
mem "database" --tag db
search filtered by tag
mem 7sjtNVyZrNIa
get full content by ID
mem --tag prefs
list filtered by tag
mem "api" --limit 5 --json
limit results, JSON output
mem --full
show full content for all
Remember mem + "user prefers dark mode" --tag prefs mem + "deploy: bun build --compile" --tag deploy mem + "chose SQLite for simplicity" --tag architecture mem + --image ./screenshot.png --title "Current UI" --tag ui echo "long content" | mem + --tag notes Forget mem - < id
delete one memory
mem - id1 id2 id3
delete multiple
- Piping
- mem
- "old"
- --json
- |
- jq
- -r
- '.[].id'
- |
- xargs
- -I
- {
- }
- mem -
- {
- }
- echo
- "long content"
- |
- mem +
- --tag
- notes
- Best Practices
- Tag consistently
- — Use lowercase, descriptive tags like
- prefs
- ,
- api
- ,
- deploy
- ,
- db
- Search before asking
- — Check if you've stored relevant information before asking the user
- Store decisions
- — When making architectural or design decisions, store the reasoning
- Keep memories atomic
- — One concept per memory for better searchability
- Output Formats
- Default: One-line summary per result
- --full
-
- Complete content inline
- --json
- Structured JSON for parsing