Fast, local-first, built in Rust. Native splits, searchable scrollback, and a persistent daemon that keeps every session — agents included — alive across crashes and reboots.
tmux + iTerm2 is held together with tape and a conf file you forgot you wrote in 2017. Warp wants your email. Ghostty is fast but won't help you find anything. napkin is the workspace layer you keep wishing your terminal had.
Close the window. Reboot. Come back two days later. Every pane, cwd, env var, running process, and scrollback line is right where you left it. Detach and reattach like tmux — without the keybinding gymnastics or the conf file.
Every command is a record, not a blob of bytes. Full-text search across every session you've ever run. Jump between prompts like chapters. Bookmark the gnarly stack trace you'll want again tomorrow. Replay history byte-for-byte.
A terminal built in 2026 should know the difference between a build log and a Claude Code session. napkin detects agents, tracks their state, and tells you at a glance which of your six panes is waiting on a yes/no.
napkin is a terminal. It is not a platform, a launchpad, or a wedge for your email address.
napkin is three pieces held together by well-defined IPC. Kill the UI, kill the window, kill the whole renderer — your sessions don't care. The daemon keeps going.
Thin client. Renders the grid, forwards input, listens for events. Restarts in milliseconds.
Rust daemon. Owns PTYs, workspace state, scrollback, OSC 133, agent detection. Survives UI crashes, reboots, and SSH drops.
zsh, fish, bash, nu — or whatever you ssh into. napkin ships shell shims so OSC 133 works out of the box.
Installs the app bundle into /Applications and symlinks the napkin CLI onto your PATH.
# installs napkin + napkind $ brew install --cask napkin-term/napkin/napkin $ napkin --version napkin 0.1.0
Static binary. Works on anything glibc 2.31+ or musl; macOS too.
$ curl -fsSL napkin.world/install | sh $ systemctl --user enable napkind