Search your command history by exit code, duration, directory, or machine to quickly find and re-run past commands.
Sync your command history across multiple computers so you can access commands you ran on your laptop from your desktop.
Recover workflows after a reinstall or machine reset by keeping all command history in a persistent database.
Analyze your command patterns and timing to understand your development workflow and productivity.
Requires building Rust binary and shell integration setup for your specific shell.
Atuin replaces your terminal's built-in command history (the list of commands you have previously typed) with a searchable database. In a typical shell, the text-based command-line interface, pressing the up arrow or Ctrl-R lets you scroll through or search recent commands, but the built-in history is limited: it loses context, doesn't sync across machines, and provides no additional information about when or where a command ran. Atuin stores every command in a local SQLite database (a file-based database format) and records extra details alongside it: the exit code (whether the command succeeded or failed), how long it took, the directory you were in, and which machine and session it came from. It then replaces the Ctrl-R shortcut with a full-screen interactive search interface where you can filter by all of these attributes, for example, finding only successful commands run yesterday in a specific folder. Optionally, Atuin can sync your history across multiple computers using an encrypted sync server, either one you host yourself or the hosted service. Because sync is end-to-end encrypted, the server cannot read your command history. It works with zsh, bash, fish, nushell, and other shells. Written in Rust, it is designed for speed. Someone would use Atuin if they frequently search their command history and want smarter search, persistent history across reinstalls or multiple machines, and richer context about past commands.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.