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 in any app and the previous command's output is on your clipboard — progress bars gone, errors kept, recognized secrets masked — ready for ChatGPT, Claude, or a teammate. Even while the command is still running.
macOS 14+, no card. Unzip, drag Lastout to Applications and open it. Click Set Up, open a new terminal tab and run any command, like ls. Then press ⌃⌥⌘C. Tabs already open aren't recorded; if something's off, run lo doctor.
Not recorded: Warp, JetBrains IDE terminals and Emacs terminals. In tmux or screen, press ⌃⌥⌘L, run lo in the pane, or press ⌃⌥⌘C from another app; with the terminal itself in front, the shortcut doesn't reach panes yet.
❯ 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).
在任何 App 里按一下快捷键,上一条命令的输出就进了剪贴板:进度条去掉,错误留下,识别出的密钥先遮盖,直接贴给 ChatGPT、Claude 或同事。命令还没跑完也能复制。
需要 macOS 14 及以上,试用不用绑卡。解压后把 Lastout 拖进「应用程序」再打开。点接入,打开一个新的终端标签页,随便跑一条命令,比如 ls,然后按 ⌃⌥⌘C。之前已经打开的标签页不会被录制;哪里不对就运行 lo doctor。
不录制:Warp、JetBrains IDE 和 Emacs 的内置终端。在 tmux 或 screen 里,请按 ⌃⌥⌘L、在窗格里运行 lo,或者从别的 App 按 ⌃⌥⌘C;终端本身在最前时,快捷键暂时拿不到窗格里的输出。
❯ 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, the detected errors with their context as far as the budget allows, and the tail — within a budget an AI can read. --mode full when you want every line that was recorded, each up to 2,000 characters.
Recognized API keys, tokens, passwords, private keys and connection strings are redacted before anything is copied — matched on the text as your terminal showed it, so a key split by colour codes is still caught. When a command starts with op, vault or a similar tool, its output isn't stored; in a chain like cd x && op read it still is. Recordings on disk are kept as-is; the masking happens when output is read.
每条命令的输出,都按终端当时画出来的样子还原:进度条只留最后一帧,颜色和光标控制序列都去掉,宽字符和 emoji 原样保留。
3,000 行变成开头、预算之内能放下的错误连同上下文,再加上结尾,控制在 AI 读得下的长度里。想要录下的每一行(每行最多 2000 字符),就用 --mode full。
识别出的 API 密钥、token、密码、私钥和连接字符串,在复制之前就会被遮盖。匹配的是终端显示出来的文字,所以被颜色代码拆开的密钥也逃不掉。命令以 op、vault 这类工具开头时,输出不存;写在 cd x && op read 这种连写里的,目前还会存。磁盘上的记录保持原样,遮盖发生在读取输出的时候。
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 and a marked block in the rc file.
man, less, htop, vim: Lastout copies the last screen they showed instead of nothing.
刚报错的开发服务器不用停。⌃⌥⌘C 或 lo --running 会复制它到目前为止的输出,和别的输出一样整理好。
lssh server 把远程主机上的每条命令逐条记录下来,那台机器上只需要放三个小 shell 脚本和 rc 文件里的一段标记代码,别的什么都不用装。
man、less、htop、vim:Lastout 复制它们最后显示的那一屏,而不是一片空白。
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.
灵动岛样式的一条细条,显示正在跑什么、上一条命令结果如何。鼠标移上去,它就展开,列出每个终端。
一个小气泡浮在所有 App 之上。拖到不碍事的地方;它会朝有空间的一侧展开。
屏幕侧边伸出一个细长的标签。鼠标停在上面就能看到最新的命令;抓住把手可以挪位置。
屏幕上什么都不放:只有菜单栏图标,按 ⌃⌥⌘L 在屏幕中央打开终端面板。
Claude Code, Codex, Cursor 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, with recognized secrets redacted on every read.
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…Claude Code、Codex、Cursor 和其他 Agent 可以通过内置的 MCP 服务器读取你的终端:等另一个窗口里正在跑的命令结束,搜索过去的输出,只读其中的错误。只读,每次读取都会遮盖识别出的密钥。
wait_for_command · pytest -x · exit 1 · 2m 14s
get_command_output mode=errors · 38 of 2,904 lines
total() 返回了字符串。正在修改 cart/total.py 第 42 行…The app has no analytics and no account. Recordings live in a private folder on your Mac. The app connects only to check for updates and, about every 15 minutes, to verify your trial or license; neither sends anything you recorded.
Recognized secrets are masked in every copy of recorded output and every agent read through MCP. The rules know known formats, not every secret, and MCP has no way to turn them off. An agent that also has a shell runs as you: it could run lo --no-redact or read the recordings on disk, like any file you own.
lo pause --for 30m stops recording; commands starting with a space are never stored, not even their text. Printed a password? lo forget deletes that command and zeroes its bytes in the database; a copy printed with lo --print or --json is its own command: remove it with lo forget --id N. An older copy of a command line can linger in the database file's unused space, so change a password typed on the command line.
200 commands per terminal, 30 days, 500 MB — then it cleans up after itself.
The privacy policy spells out each claim and what each license check sends. Found one that doesn't hold? support@lastout.dev.
App 没有统计,不用注册账号。记录存在你 Mac 上的一个私有文件夹里。App 只为两件事联网:检查更新,以及大约每 15 分钟向服务器校验一次试用或授权,两者都不带你记录的任何内容。
每一次复制录下的输出、每一次 Agent 通过 MCP 的读取,都会遮盖识别到的密钥。规则只认已知格式,不保证遮住所有密钥,MCP 也没有办法关掉它。如果 Agent 还能跑 shell,它就和你是同一身份:可以运行 lo --no-redact,也能读磁盘上的录制,和读你的其他文件一样。
lo pause --for 30m 暂停录制;以空格开头的命令完全不存,连命令文本都不存。不小心打印了密码?lo forget 删掉那条命令,并把它在数据库里占的字节清零;用 lo --print 或 --json 打印过的副本是另一条命令,要用 lo forget --id N 删。命令行文字的旧副本可能还留在数据库文件的空闲部分,所以写在命令行里的密码请换掉。
每个终端 200 条命令、30 天、500 MB,超出后自动清理。
隐私政策把每条说法和每次校验发送的内容都写清了。发现哪条不对,请写信到 support@lastout.dev。
lo mcp for coding agents: Claude Code, Codex and Cursor read what ran in your terminals, with recognized secrets redactedlo command line: lo copies the last command's output, cleaned up and with recognized secrets redacted, and --running copies one that's still goinglssh for remote hosts, lo save for commands worth keepingChecks your license online about every 15 minutes. Offline for over a day, the App's copying and lo mcp, search, save and lssh pause until it reconnects; recording and plain lo keep working. Should we ever shut the license server down, we'll first publish a version that doesn't need it, free for everyone who bought a license (EULA, section 3).
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.
Requires macOS 14 or later. Questions before you buy: support@lastout.dev.
lo mcp 接入编程 Agent:Claude Code、Codex、Cursor 直接读你终端里跑过的命令和输出,识别到的密钥已遮盖lo 命令行:lo 复制上一条命令整理好、遮盖过识别到的密钥的输出,--running 复制还没跑完的命令lssh 用于远程主机,lo save 收藏值得留下的命令约每 15 分钟联网校验一次授权。离线超过一天,App 的复制和 lo 的 mcp、search、save、lssh 会暂停,联网后恢复;录制和普通 lo 命令不受影响。如果有一天我们关停授权服务器,会先发布一个不需要它的版本,买过授权的人免费获得(EULA 第 3 条)。
价格以美元计;视你所在的国家或地区,结账时可能另加销售税或增值税。订单由我们的代收商户 Paddle.com Market Ltd 处理,适用销售条款、退款政策和最终用户许可协议(EULA)。
需要 macOS 14 或更高版本。购买前有疑问:support@lastout.dev。