Your agent forgets everything.
Term doesn't.

Structured, persistent memory for coding agents. What your team learns in one session compounds across every session, every developer, every tool.

brew install withterm/tap/trm
View on GitHub

Your agent has a goldfish memory

Every session today

  • 1.Sarah spends 47 minutes debugging a Redis connection pool issue
  • 2.Her agent discovers the fix: set maxRetriesPerRequest and connectTimeout
  • 3.Session ends. Knowledge evaporates.
  • 4.Marcus hits the same issue two weeks later. 47 more minutes.

Every session with Term

  • 1.Sarah's agent saves the fix as a typed debugging pattern via trm remember
  • 2.Term indexes it with project context, files involved, and confidence score
  • 3.Marcus's agent gets briefed at session start: "Known issue: Redis pool exhaustion under BullMQ. Fix: set explicit timeouts."
  • 4.Marcus resolves it in 4 minutes.
20%

of the average workweek is spent searching for internal information(McKinsey)

47 → 4 min

resolution time when team knowledge is available at session start

6%

accuracy on enterprise schemas without context(Spider 2.0 benchmark)

How it works

1

Capture

Your agent decides what's worth remembering — not a noisy transcript parser.

{
  "type": "debugging_pattern",
  "title": "Redis connection pool exhaustion under BullMQ",
  "content": "Jobs exceeding 5min runtime cause pool exhaustion. Fix: set maxRetriesPerRequest=3 and connectTimeout=5000.",
  "context": {
    "files": ["src/workers/payment-processor.ts"],
    "tools": ["redis", "bullmq"]
  }
}
2

Structure

Every memory is typed, timestamped, confidence-scored, and project-tagged. Not a blob of markdown.

debugging patternsarchitectural decisionsconventionsedge casesintegration knowledgeenvironment quirksperformance insights
3

Serve

At session start, Term injects a token-budgeted briefing — only what's relevant, ranked by usefulness.

## Term: 7 memories for this project

**Conventions:**
- API errors must include request_id
- Use event sourcing for payments, NOT profiles

**Active gotchas:**
- Plaid sandbox returns different account IDs per call
- Redis connections leak when BullMQ jobs exceed 5min

**Recent:**
- [debugging] Fixed N+1 in user list endpoint

Why not just use CLAUDE.md?

CLAUDE.md is a great start. Here's what Term adds.

CLAUDE.md / .cursorrules
Auto-memory
Term
Structure
Free-form markdown
Flat text, no types
7 typed memory categories
Quality control
You write it manually
Agent decides unilaterally
Confidence scoring + feedback loop
Context budget
Full file loaded (competes for tokens)
200-line hard limit
Smart prioritization, token-budgeted
Searchability
Ctrl+F
None
Semantic search via embeddings
Cross-platform
Copy files between tools
Tool-specific
MCP-native, works everywhere
Team sharing
Commit to git
Single-player only
Git sync → cloud sync → team layer

Zero-config architecture

Claude Code
Cursor
Copilot

Term MCP Server

Resources
Tools
Prompts

SQLite + sqlite-vec

Single file, zero config

Single binary. No Docker. No Postgres. No API keys.

Get started in 2 minutes

The entire setup is three commands.

1# Install
2brew install withterm/tap/trm
3
4# Initialize in your project
5cd your-project && trm init
6
7# That's it. Start a Claude Code session.

trm init adds the MCP server to your project, configures session hooks, and starts listening. Your next Claude Code session will have memory.

Free. Local-first. Yours.

Term runs entirely on your machine. Your memories stay in a local SQLite database — no cloud required, no data leaves your laptop.

Freeforever
  • Unlimited memories
  • Local SQLite storage
  • MCP integration
  • Semantic search via embeddings
  • Works with Claude Code, Cursor, Copilot
  • Open source (MIT)

Team features coming soon

What one developer learns, every agent knows. We're building shared team memory with cloud sync. Join the waitlist to get early access.

No spam. We'll only email about team features.

The best model won't beat the richest context.

Term is open source and free for individual developers.

brew install withterm/tap/trm
View on GitHub