SQLite-based shell history replacement with encrypted sync and enhanced search capabilities
Atuin replaces the default shell history mechanism with a SQLite database that captures comprehensive context for each command. Beyond storing command text, it records exit codes, execution duration, current working directory, hostname, and session information. This enables sophisticated search queries like filtering commands by success status, time ranges, or specific directories.
The tool provides a full-screen search interface that replaces the standard ctrl-r history search, offering features like quick-jump navigation with Alt+number keys and multiple filter modes for session-specific, directory-specific, or global history searches. Users can execute commands directly from the search interface or edit them before execution.
Atuin supports encrypted synchronization of shell history across machines through either a hosted service or self-hosted server. All sync operations use end-to-end encryption, ensuring command history remains private. The tool maintains compatibility with existing history files and supports major shells including zsh, bash, fish, nushell, xonsh, and PowerShell.
The command-line interface includes statistical analysis capabilities, allowing users to identify patterns like most frequently used commands. Installation integrates with shell configurations through hooks that capture command execution metadata automatically.
# via Script
curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh
