Feature comparison · 2026

claude-mem vs repowise: what do they actually do?

Both promise to stop you re-explaining everything to your coding agent. One records your sessions, the other analyses your repository — and that difference in method drives everything else: determinism, token cost, offline capability, and a security finding that settles it for regulated teams.

Zakaria El Asri10 min

Do not miss this

claude-mem exposes an unauthenticated HTTP API on port 37777. It serves the compressed history of everything your agent did to your code.

In one sentence

The short answer

claude-mem hooks into the agent's lifecycle at five points and records what it does, as typed observations compressed by a model. repowise never watches the agent: it analyses the repository (tree-sitter AST + git history) and derives a graph, health scores and architectural decisions, with no model call for the scoring. A work log on one side, a map of the code on the other.

They do not replace each other. The useful question is not "which one" but "does my agent forget what we did, or does it not understand where it is treading?"

Feature by feature

The feature comparison

claude-memrepowise
PurposeSession memory — what the agent didRepository intelligence — what the code is
Capture method5 lifecycle hooks (SessionStart, UserPromptSubmit, PostToolUse, Stop, SessionEnd)Static analysis: tree-sitter AST + git history
Unit producedTyped observation: decision, bugfix, feature, refactor, discovery, change1–10 risk score per file, graph, ADRs, wiki pages
DeterminismLLM compression in a background worker (~8 ms per tool call)21 deterministic signals, zero LLM calls for the score
Stated validation0.74 ROC AUC against real bug history across 21 repos
StorageLocal SQLite (~/.claude-mem/claude-mem.db)Local index; self-hosted with zero telemetry
Agent access3-tier retrieval: search → timeline → get_observations10 MCP tools (get_overview, get_context, get_risk…)
LanguagesAgnostic (watches the agent, not the code)16 languages in the graph · 9 at full depth
InterfaceWeb viewer (port 37777)Dashboard (port 7337): graph, hotspots, wiki, decisions
CI integrationDeterministic PR bot (zero LLM), blocking Check Runs
LicenceApache-2.0AGPL-3.0 (commercial licence available)
CostFreeFree self-hosted · SaaS $15/mo · Teams $20/seat
Features read on 14 August 2026 from the DataCamp guide (claude-mem) and repowise.dev. Lumyniq, 2026.

Detail

claude-mem — how it actually works

Capture. Five lifecycle hooks do the work with no intervention: SessionStart queries the database and injects compressed context; UserPromptSubmit logs the session; PostToolUse fires after every tool call and sends the raw output to a compression worker, around 8 ms per call; Stop produces session-level summaries; SessionEnd closes it out.

What gets stored. Every observation is typed — decision, bugfix, feature, refactor, discovery, change — with a searchable title, roughly 50-token discrete facts, a 155–500 token narrative, and semantic tags (how-it-works, gotcha, trade-off…). All of it in a local SQLite database at ~/.claude-mem/claude-mem.db. For scale, the author reports 6,814 observations across 259 sessions occupying 39 MB, 61% of them "discovery" — what the model learned about the codebase.

Retrieval. Three tiers, designed not to flood the context: layer 1 (search) returns IDs and titles for 50–100 tokens; layer 2 (timeline) places them chronologically for 100–200; layer 3 (get_observations) fetches full records in batches, 500–1,000 tokens. A telling detail: an MCP tool named __IMPORTANT exists solely to remind the model to start with the cheap layers, which it otherwise skips.

Documented installation trap: running npm install -g claude-mem installs only the SDK library without registering the hooks — the tool looks installed and captures nothing. The correct route is through the plugin marketplace.

Detail

repowise — how it actually works

What it computes. Five families in one pass. A health score of 1–10 per file from 21 deterministic signals with no LLM call. A dependency graph from tree-sitter ASTs across 16 languages, resolved into import, call and inheritance edges, then ranked by PageRank and betweenness centrality. Git intelligence: hotspots (churn vs complexity), co-change partners, ownership from blame, bus factor. Architectural decisions mined from PRs, inline markers and READMEs, with the files each one governs and a flag when they go stale. And reachability-aware CVE triage — knowing whether the vulnerable code is actually called.

What comes out. A local dashboard (port 7337) with force-directed graphs and community detection, hotspot tables with owner attribution, auto-generated wiki pages verified against the live AST (flagged when stale), and a decisions index. Plus a generated CLAUDE.md to orient the agent: stack, entry points, hotspots, ownership, decisions.

The PR bot. A GitHub App posting deterministic, zero-LLM comments: contracts changed by the PR and all their external callers, co-change partners, tests the PR should have touched and did not, and Check Runs that can gate merges. The same diff always produces the same review — so it is auditable. Free and uncapped on public repositories.

Correction to an earlier version of this article: we had repeated "49 detectors" and "18 languages" from the repository README. The product figures are 21 signals for the health score and 16 languages in the graph, 9 of them at full depth (Python, TypeScript, JavaScript, Java, Kotlin, Go, Rust, C++, C#).

What decides it

Security and compliance: handle before use

A February 2026 community audit rates claude-mem's risks as HIGH. The core issue: the HTTP API on port 37777 has no authentication. Any local process can read your observations — the compressed history of everything your agent did to your code. The default binding was also 0.0.0.0 rather than 127.0.0.1, potentially exposing that data over the network.

This is not a reason to ban the tool; it is a reason to decide where it runs. On an isolated development machine with no client data, the risk is manageable. On a machine that touches client files, health data or trade secrets, a database of everything the agent has seen, readable without authentication, does not pass a security review.

Documented robustness issues sit alongside it: orphaned ChromaDB processes (one user recorded 184 processes in 19 hours, around 16 GB of RAM), cold starts on Apple Silicon exceeding a hardcoded 5-second timeout, and context-window saturation during the first week on a new project while the model maps the codebase.

The guardrail exists — <private> tags exclude their contents from storage — but it is opt-in: you have to remember every time. For regulated data, a protection that depends on user vigilance is not a protection. Same reasoning as our guide to AI agent scope and permissions.

repowise takes the opposite approach: self-hosting advertised with zero telemetry, fully offline with Ollama or your own key, and deterministic scoring with no model call. The trade-off is its AGPL-3.0 licence, whose obligations extend to software reachable over a network — and you use it by starting a server. Local use is one thing; exposing it to a team is another, which is why the vendor sells a commercial licence to escape it.

Budget

Real cost

claude-mem is free and Apache-2.0. The hidden cost is elsewhere: every tool call triggers a model-based compression, so consumption is continuous.

repowise is free self-hosted (CLI, plus two public repos on the SaaS, and an explore mode with no sign-up). The hosted offering starts at $15/month with LLM credits and private repositories; Teams at $20/seat/month from three seats, with a shared index and portfolio health dashboards; Enterprise for on-prem or air-gapped, with SAML/OIDC SSO, a commercial licence and IP indemnification.

The practical reading for an SME: both are testable at zero cost. Budget only becomes a question when you share a team index or need out of the AGPL.

Decision

Which one for which problem

  • "My agent forgets what we decided last week" → claude-mem. Exactly its purpose, provided you deal with port 37777 first.
  • "My agent doesn't know which files are risky or who owns them" → repowise. Health score, hotspots, ownership and co-change are precisely that.
  • "I want to block a PR that breaks a contract" → repowise, via the deterministic bot and Check Runs. claude-mem does no CI.
  • "My code must not leave" → repowise, self-hosted and offline. claude-mem compresses through a model and its privacy tags are opt-in.
  • "My agent gets my business wrong" → neither: that is a missing-information problem, covered in context is the ceiling of your agent.
The underlying difference is determinism. repowise produces reproducible output: same code, same score, same PR review. claude-mem produces model-generated observations, so they vary. For individual use that is irrelevant; for gating a merge or justifying a decision to an auditor, it changes everything.

FAQ

Frequently asked questions — claude-mem and repowise

The capture method. claude-mem hooks into your agent's lifecycle at five points and records what happens: every tool call is sent to a worker that compresses it into a typed observation (decision, bugfix, feature, refactor, discovery, change) with short facts, a narrative and semantic tags. repowise never watches the agent: it analyses the repository through tree-sitter ASTs and git history, deriving a dependency graph, health scores, hotspots and architectural decisions. One produces a log of your work, the other a map of your code.

Related guides

Read next

Sources

Links verified at publication. Regulatory texts change — always defer to the official source.

Let's talk about your project

A question, a project, an idea? We respond within 24h. Free audit, no commitment.

Contact details