Terminal Memory
Capture useful debugging context while you work.
Make your terminal remember.
Hit an error you've seen before and MemoryWhale hands back the fix. It keeps debugging evidence on your machine, so your coding agents stop re-solving the same problems.
On LongMemEval, a public memory benchmark, search puts the right past session in the top 5 for 97% of questions. In a controlled eval on project-specific bugs, an agent solved 25% without memory and 96% with it (synthetic tasks; how it was measured).
$ cargo build error: linker `cc` not found $ mw context --last-error ## This error You've hit this 2 times: a later run succeeded 1 of 2 times. [e6750e65] $ mw search linker cc not found 36% [note · terminal] linker cc not found -> run: xcode-select --install
Real MemoryWhale 0.13 output, shortened.
Capture useful debugging context while you work.
Recover previous commands, failures, and fixes when they matter.
Keep MemoryWhale data on your own machine.
New in 0.15.0
Product 0.15.0 spans the CLI, web UI, and desktop app; the Rust core stays 0.8.0 and stores stay on SQLite schema 13. MemoryWhale now works with Delphin: it records your agent conversations safely and answers "have we seen this error?" while the agent is still working. See the release notes.
mw integrate delphin checks that Delphin is installed and prints the command to run: delphin --memorywhale -- claude. No database path to type.
mw hint matches an error against past failures and names what fixed it: seen 2 times, the fix was: xcode-select --install. Delphin shows that line live, while the agent is still going.
mw turns stores Delphin's conversation turns through the same redaction and capture rules as every other capture, so a secret the agent prints is stored as [REDACTED].
The family
MemoryWhale remembers. Delphin lets you keep talking to your agent while it works. Joule sends a model only the history it needs. Each works on its own and does more together.
Local memory of commands, errors, and fixes. On LongMemEval, a public memory benchmark, search puts the right past session in the top 5 for 97% of 470 questions.
Keep typing while your agent thinks. With delphin --memorywhale -- claude, an error that scrolls past gets a live hint from memory: seen 2 times, the fix was: xcode-select --install.
An energy-aware LLM proxy. Its history trimming ranks old turns with MemoryWhale. On LongMemEval it cuts 91% of the prompt and keeps all of the answer's evidence for 81% of questions, against 5% for plain truncation.
Who it's for
MemoryWhale serves developers whose debugging context is scattered across terminal scrollback, shell history, machines, and temporary agent sessions. See the full use-case walkthroughs with real command transcripts.
You hit the same build, linker, or dependency error twice.
Shell history remembers the command but not the output, the error
tail, or the fix. mw search returns the old failing
run and the lesson linked to it.
Jetson, lab server, laptop: sessions drop and each machine
keeps a private, incomplete history. mw --live
autosaves through disconnects; mw push /
mw pull move memory between machines explicitly.
Claude Code, Codex, Cursor: every session starts with
re-explaining your environment. With mw-mcp, the
agent can query prior evidence and explicitly save a lesson
with remember. You still need to verify that a fix works.
How it works
Paste a terminal run, call the Rust helper, or start a live-autosaved shell.
SQLite saves command runs and arguments locally on your machine.
Rust extracts keywords from commands, notes, and error text.
Search or click command nodes in the glowing graph interface.
AI agents
Coding-agent sessions can lose context and repeat debugging you
already did. mw-mcp is a Model Context Protocol
server over your local memory. Register it once and Claude Code,
Rho, Codex, or Cursor can query past failures directly. Anything the
client retrieves can reach the model provider it sends context
to, so connect only clients you trust.
Setup guides for clients and tools: the capability matrix documents MCP support, auto-capture, and verification status per client, including model gateways like OpenRouter and CLIProxyAPI.
$ mw integrate claude $ mw integrate rho $ mw doctor $ mw search "linker error" agent:claude # Search captured Claude evidence from either client. # MCP access, hooks, and skills are separate components. # A skill guides memory use; it does not force tool calls.
Capture → memory → retrieval
Capture one command, save the explanation that fixed it, then search the local store when the same failure returns. MCP provides retrieval and explicit writing; it does not capture ordinary terminal activity automatically.
The offline Claude-to-Rho handoff demo imports fixtures and simulates a Rho client against real MCP. It does not run live agents or execute and verify the fixture's Cargo fix. Rho hooks currently retain failure metadata when command text is absent; successful calls without command text are skipped. Automatic task-start recall, failure lookup, and pre-compaction saving remain client-orchestration work, not shipped automation.
$ mw-run -- cargo build error: could not find native library `ssl` $ mw remember "install libssl-dev to fix openssl-sys" mw: remembered #42 $ mw search "openssl" #42 install libssl-dev to fix openssl-sys
Your data
The database lives on your machine: typically
~/.local/share/MemoryWhale/ on Linux or
~/Library/Application Support/MemoryWhale/ on macOS.
Set MEMORYWHALE_DATA_DIR to choose another location.
.mwignore, path policy, commands-onlymw audit · mw rm · mw prunemw export / mw import or explicit SSH transfermw memory compact: dry-run first, rows preservedSecurity model
The CLI, TUI, MCP server, web dashboard, and desktop shell use the
local store. mw-mcp is a trusted local stdio process;
the dashboard binds to loopback by default. A non-loopback dashboard
requires a token, and should only be exposed on a trusted network.
Protected HTTP MCP requires Bearer authentication; the opt-in JSON
API shares the dashboard's access controls. HTTP does not encrypt
the connection. Neither interface makes client access automatic capture.
See the local data threat model.
Install
Prebuilt binaries are available for Linux x86_64/aarch64 and macOS.
The installer verifies published SHA256 files when a release
provides them; older releases may not have a checksum. Start with
one explicit capture, inspect it, and only then consider
mw global on. Windows is not a native target; WSL can
use the Linux build.
mw demo: writes sample data to the selected storecargo install memorywhale-cli --version 0.15.0 --locked
mw --version · mw doctor$ curl -fsSL https://raw.githubusercontent.com/wuisabel-gif/MemWhale/main/install.sh | sh $ export PATH="$HOME/.local/bin:$PATH" $ mw --version $ mw doctor $ mw-run -- cargo check # in your project $ mw search "cargo check" $ mw global on # optional, after reviewing capture