You always forget the commands you’ve used before, and when scrolling up to find previously entered commands, it’s easy to miss them. That’s where a command-line history tool comes in—similar to clipboard managers like Ditto—to collect and organize your past commands for easy reuse anytime.
Official Introduction
Atuin replaces your shell’s built-in history with an SQLite database and records additional metadata for each command. Furthermore, it offers optional, fully encrypted cross-machine history synchronization via the Atuin server.
![]()
Displays exit code, command duration, time of last execution, and the executed command.
In addition to its search UI, Atuin supports operations such as:
# Search for all successful `make` commands recorded after 3 p.m. yesterday
atuin search --exit 0 --after "yesterday 3pm" make
You can use the server I (ellie) host, deploy your own, or simply disable sync entirely. All history synchronization is end-to-end encrypted—meaning even I cannot access your data. And honestly, I really don’t want to.
Features
- Full-screen history search UI, re-binding
upandCtrl-R. - Stores shell history in an SQLite database.
- Backs up and synchronizes encrypted shell history.
- Provides consistent history across different terminals, sessions, and machines.
- Records rich metadata: exit code, current working directory (cwd), hostname, session ID, command duration, etc.
- Generates statistics—for example, “most frequently used commands.”
- Does not overwrite your existing history file.
- Jump quickly to previous entries using the Alt- shortcut.
- Toggle filter modes with
Ctrl-R: search history scoped to the current session, current directory, or globally.