Persistent memory graph for AI agents — store, recall, and connect knowledge across conversations.
Project description
HyperMemory CLI
Persistent memory graph for AI agents — store, recall, and connect knowledge across conversations.
HyperMemory gives AI assistants (Claude, Cursor, ChatGPT, custom agents) a long-term memory layer. The hm CLI is the primary interface for reading and writing to that memory, both for humans and for AI agents running shell commands.
Installation
pip install hypermemory-cli
Requires Python 3.10+.
Quick Start
# Authenticate (opens browser → GitHub OAuth)
hm login
# Store a fact
hm store person_alice "Alice, senior backend engineer at Acme" --type person
# Store a decision
hm store decision_jwt "We chose JWT over session cookies for auth" --type decision
# Connect them — describe WHY
hm relate --from person_alice --to decision_jwt --rel "Alice drove the JWT decision based on her scaling experience"
# Search by natural language
hm recall "authentication decisions"
# Traverse the graph
hm find person_alice --depth 2
# Check what you have
hm overview
Authentication
Browser login (recommended):
hm login
Opens your browser for GitHub-based OAuth. Tokens are saved to ~/.config/hypermemory/config.json and refresh automatically.
API key:
hm config --set-key hm_YOUR_API_KEY
Generate API keys at app.hypermemory.io/api-keys.
Environment variable:
export HYPERMEMORY_API_KEY=hm_YOUR_KEY
hm recall "recent decisions"
Commands
Memory Operations
| Command | Description |
|---|---|
hm store KEY "desc" --type TYPE |
Create a new memory node |
hm recall "query" |
Search memory by natural language or keywords |
hm update KEY --desc "new info" |
Update an existing node |
hm forget KEY [--cascade] |
Delete a node (and optionally its edges) |
hm relate --from A --to B --rel R |
Create a relationship between nodes |
hm find KEY [--depth N] |
Traverse the graph from a starting node |
hm relationships KEY |
List all edges connected to a node |
hm ingest "text" [--context "label"] |
Auto-extract nodes from free-form text |
hm overview |
Show graph stats and top nodes |
hm export [--no-ontology] |
Export the full graph as JSON |
Auth & Config
| Command | Description |
|---|---|
hm login |
Authenticate via browser (OAuth 2.1 + PKCE) |
hm logout |
Clear saved tokens |
hm config |
Show current configuration |
hm config --set-key KEY |
Save an API key |
hm config --set-url URL |
Override the API endpoint |
hm health |
Check server connectivity |
hm version |
Print CLI version |
Node Types
Every node requires a --type:
| Type | Use for |
|---|---|
user |
The primary user (singleton user_profile node) |
person |
People — teammates, contacts, users |
organization |
Companies, teams, departments |
component |
Software components, services, libraries |
event |
Meetings, launches, incidents |
decision |
Architecture choices, policy decisions |
concept |
Ideas, patterns, abstract topics |
artifact |
Documents, repos, configs, files |
project |
Projects, initiatives, products |
technology |
Languages, frameworks, tools, platforms |
preference |
User preferences and settings |
fact |
Verified facts, data points, measurements |
skill |
Skills, expertise, capabilities |
Relationships
Describe connections in plain language with --rel. Be specific about why the connection exists:
# BAD — bare verb, no context
hm relate --from component_api --to tech_redis --rel depends_on
# GOOD — explains why the connection exists
hm relate --from component_api --to tech_redis --rel "API depends on Redis for session caching and rate limiting"
hm relate --from person_alice --to decision_jwt --rel "Alice chose JWT because it supports stateless scaling"
hm relate --from project_app --to tech_sveltekit --rel "frontend built with SvelteKit for SSR and progressive enhancement"
The server automatically summarizes long labels into shorter searchable versions.
Key Format
Use descriptive, namespaced keys: {type}_{name}
person_alice decision_jwt_auth component_redis
pref_dark_mode event_2025_launch org_acme
AI Agent Integration
HyperMemory is designed to be used by AI agents as a persistent memory layer. The typical agent workflow:
- Start of conversation:
hm overview+hm recall "relevant keywords"to load context - When meaningful info appears:
hm recallfirst to check for duplicates, thenhm storenew facts, decisions, or preferences - As needed:
hm updateto correct information,hm forgetto remove outdated info
The server automatically enriches stored nodes with structured data, edges, and hyperedges — agents just provide the key, description, and type.
Download the agent skill file from app.hypermemory.io/integration for automatic integration with Claude, Cursor, and other AI tools.
Pipe-Friendly Output
All data commands output JSON to stdout. Errors go to stderr. This makes hm composable with jq, scripts, and other tools:
# Count total nodes
hm overview | jq '.total_nodes'
# Get all decision keys
hm recall "decisions" | jq '.nodes[] | select(.node_type == "decision") | .key'
# Export and filter
hm export | jq '.nodes | length'
# Backup
hm export > memory-backup-$(date +%F).json
Configuration
Config is stored at ~/.config/hypermemory/config.json. Auth priority:
$HYPERMEMORY_API_KEYenvironment variable- Config file (API key or OAuth tokens)
- Defaults (API URL only)
Links
- Web app: app.hypermemory.io
- API endpoint:
https://api.hypermemory.io - Claude Connector: Add
https://api.hypermemory.io/mcpas an MCP server in Claude Desktop
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hypermemory_cli-1.1.1.tar.gz.
File metadata
- Download URL: hypermemory_cli-1.1.1.tar.gz
- Upload date:
- Size: 28.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9e45a7fc87a70200f2b019ccd3d7a0c9517510477eb1ff60d47eeb116b1b224
|
|
| MD5 |
fb2e4480adf75cafe90dc846782167c9
|
|
| BLAKE2b-256 |
89a7bbdb2de8b0d55a3dc537acb357b72c01407b4a594d8c57a2718791eef762
|
File details
Details for the file hypermemory_cli-1.1.1-py3-none-any.whl.
File metadata
- Download URL: hypermemory_cli-1.1.1-py3-none-any.whl
- Upload date:
- Size: 20.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49764bd45fb42f74573b4cbecfb56a372f04a9506fb2020dbe45306f716725f9
|
|
| MD5 |
f35393c6359cb3f36ec208008a1e10e5
|
|
| BLAKE2b-256 |
417ab4c1b1efbf31d8463dbf10d1427f2214a0dde4fa86b88ac4dc860db8335a
|