atuin
Sync and search shell command history
TLDR
Install atuin into your shell
Import history from the shell default history file
Search shell history for a specific command
Register an account on the default sync server using the specified username, email, and password
Login to the default sync server
Sync history with the sync server
SYNOPSIS
atuin [OPTIONS] <SUBCOMMAND>
PARAMETERS
-c, --config-file <CONFIG_FILE>
Path to configuration file
-d, --data-dir <DATA_DIR>
Directory for data storage (default: ~/.local/share/atuin)
--disable-updater
Prevent automatic binary updates
--help
Print help information
-l, --log-file <LOG_FILE>
Path to log file
--log-level <LOG_LEVEL>
Set log level (off, error, warn, info, debug, trace)
--search-mode <SEARCH_MODE>
Search mode: regex, fuzzy, hybrid (default: fuzzy)
-V, --version
Print version information
DESCRIPTION
Atuin is a powerful command-line tool that revolutionizes shell history management. It replaces traditional shell history files with a robust SQLite database, capturing full details like timestamps, exit codes, execution durations, directories, and hostnames for every command.
Key features include lightning-fast fuzzy or regex search across your entire history, syncing history across multiple machines with end-to-end encryption, and support for Bash, Zsh, Fish, and Nushell shells. Commands are deduplicated, and you can view stats, delete entries, import old histories, and even share snippets.
Installation is straightforward via package managers, Cargo, or binaries. After setup, integrate by sourcing atuin init <shell> in your profile. Atuin runs as a daemon for real-time syncing and search, offering a seamless, magical experience for power users tired of grep'ing through .bash_history.
CAVEATS
Requires shell integration via atuin init; syncing needs an account or self-hosted server. History DB can grow large; use atuin stats to monitor. Not compatible with all shells out-of-box.
COMMON SUBCOMMANDS
atuin search: Fuzzy search history.
atuin sync: Sync history across devices.
atuin stats: Show usage stats.
atuin add: Manually add commands.
SHELL INTEGRATION
Add to ~/.bashrc: eval "$(atuin init bash)"
Supports Zsh, Fish, Elvish, Nushell.
HISTORY
Created by developer Ellis in 2021 as an open-source Rust project on GitHub (atuinsh/atuin). Gained popularity for superior search and cross-device sync. Reached v20+ by 2024 with E2E encryption, self-hosting, and broad shell support. Actively maintained with thousands of stars.


