Exactly what you saw
Each command's output is replayed like your terminal drew it: progress bars collapse to their last frame, colors and cursor tricks disappear, wide characters and emoji stay intact.
Press a key and the previous command's output is on your clipboard — progress bars gone, errors kept, secrets redacted — ready for ChatGPT, Claude, or a teammate.
❯ pnpm build Progress: resolved 1342, reused 1338, downloaded 4 ✓ 812 modules transformed. warn Browserslist: caniuse-lite is outdated [████████████░░░░░░░░] 62% vite v6.2.0 building for production... API_KEY=sk-proj-9f2Xq…7Lw loaded from .env ✗ Build failed in 4.31s error TS2322: Type 'string' is not assignable to type 'number'. src/cart/total.ts:42:7 … 3,180 more lines … ❯ █
✓ 812 modules transformed. warn Browserslist: caniuse-lite is outdated API_KEY=[REDACTED:api-key] loaded from .env … [3,060 lines omitted] … ✗ Build failed in 4.31s error TS2322: Type 'string' is not assignable to type 'number'. src/cart/total.ts:42:7 Showing 240 of 3,200 lines (head, errors and tail).
Each command's output is replayed like your terminal drew it: progress bars collapse to their last frame, colors and cursor tricks disappear, wide characters and emoji stay intact.
3,000 lines become the head, every error with its context, and the tail — within a budget an AI can read. --mode full when you want everything.
API keys, tokens, passwords, private keys and connection strings are redacted before anything is copied. The output of op, vault and friends is never even stored.
The dev server that just threw an error doesn't have to stop. ⌃⌥⌘C or lo --running copies its output so far, cleaned up like any other.
lssh server records every command on the remote host one by one — with nothing installed there but three small shell scripts.
man, less, htop, vim: Lastout copies the last screen they showed instead of nothing.
A Dynamic Island–style strip shows what runs and how the last command went. Hover it and it grows into every terminal.
A small pill floats above every app. Drag it wherever it stays out of your way; it opens toward the side with room.
A slim tab grows out of the side of the screen. Rest on it for the latest commands; grab its grip to move it.
Nothing on screen at all: the menu bar icon, and ⌃⌥⌘L opens the terminals in the middle.
Claude Code, Codex and other agents can read your terminals through a built-in MCP server — wait for a command running in another window, search past output, read just the errors. Read-only, always redacted.
wait_for_command · pytest -x · exit 1 · 2m 14s
get_command_output mode=errors · 38 of 2,904 lines
total() returns a string. Fixing cart/total.py line 42…No analytics, no account. Recordings live in a private folder on your Mac; the app connects only to check for updates, and once when you activate a license.
Every copy and every agent read is scrubbed first. Agents can't turn it off.
lo pause --for 30m stops recording; commands starting with a space are never stored, not even their text. Printed a password? lo forget erases that command for good.
200 commands per terminal, 30 days, 500 MB — then it cleans up after itself.
Every claim above is checked against the code in the privacy policy, which also says what activating a license sends.
Another year of updates, when you want it, is $15. Not buying it changes nothing: the version you have keeps running.
Prices in USD; sales tax or VAT may be added at checkout depending on your country. Orders are processed by Paddle.com Market Ltd, our merchant of record, under the Terms of Sale, the Refund Policy and the EULA.
lo copies the last command's output, cleaned up and redactedlssh for remote hosts, lo mcp for coding agentsRequires macOS 14 or later for the app. Questions before you buy: support@lastout.dev.