Flags like --manifest-path, paths, subcommands,
package names, and model options are split into their own rows.
Local-first terminal memory
MemoryWhale remembers what your terminal forgets.
Records commands, output, and errors into local SQLite — so you and your AI agent can search what already failed. Survives crashes, SSH drops, and machine switches. Nothing is uploaded.
$ curl -fsSL https://raw.githubusercontent.com/wuisabel-gif/MemWhale/main/install.sh | sh
$ mw --live --notes "project:demo" autosaving session every 2s safe if SSH drops before exit
Terminal memory
A memory palace for command-line work.
MemoryWhale stores terminal sessions as structured local memory. Instead of keeping one giant text dump, it saves the command, every argument, the working directory, the exit code, stdout, stderr, and your own notes.
stderr is preserved beside the command that produced it, so the cause and context remain together.
mw --live writes the active shell transcript into
SQLite every few seconds, so a disconnect can still leave a
usable memory trail.
Failed commands appear in the knowledge galaxy and connect to extracted concepts like cargo, Tauri, SQLite, ports, and builds.
How it works
Capture, store, extract, explore.
Capture
Paste a terminal run, call the Rust helper, or start a live-autosaved shell.
Store
SQLite saves command runs and arguments locally on your machine.
Extract
Rust extracts keywords from commands, notes, and error text.
Explore
Search or click command nodes in the glowing graph interface.
AI agents
Give your agent memory of what already failed.
Coding agents forget everything between sessions and re-debug what
you already solved. mw-mcp is a Model Context Protocol
server over your local memory — register it once and Claude Code,
Codex, or Cursor can query past failures directly. No copy-paste,
and the memory never leaves your machine.
$ claude mcp add memorywhale -- mw-mcp > why is this build failing? ⏺ memorywhale · recent_errors You hit this exact linker error 3 weeks ago on the Jetson — the fix was rebuilding with --features vendored-ssl. Trying that now…
Break reminder
Remember the human at the keyboard.
MemoryWhale can keep a simple one-hour break timer beside the work: stretch, blink, drink water, and come back with the debugging thread still intact.
Start the timer when you begin a work session. The page will remind you every hour, and browser notifications are used when permission is available.
Install
One line. No Rust needed.
Prebuilt binaries for Linux x86_64 and aarch64 (including Jetson)
and macOS. Then type mw — it explains itself and
offers to auto-record every new terminal. For SSH sessions and
sudden shutdown risk, use mw --live.
$ curl -fsSL https://raw.githubusercontent.com/wuisabel-gif/MemWhale/main/install.sh | sh $ mw 🐬 Welcome to MemoryWhale. Enable auto-recording in every new terminal now? [y/N] y $ mw context --last-error recent failures, with the exact error text $ mw-serve dashboard for you — and your whole team