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 [u]sername, [e]mail and [p]assword
Login to the default sync server
Sync history with the sync server
SYNOPSIS
atuin [command] [options]
PARAMETERS
search [terms...]
Performs an interactive, fuzzy search through your history. This is often invoked via a Ctrl+R keybinding after shell integration.
sync
Synchronizes your local history with the configured Atuin server, enabling history sharing across devices.
init <shell>
Outputs the necessary shell integration script for your specific shell (e.g., bash, zsh, fish, nu). This script typically sets up keybindings like Ctrl+R.
import [file]
Imports history from a specified file, useful for migrating existing shell history into Atuin.
export [file]
Exports your Atuin history to a specified file.
register
Registers a new user account with the Atuin server for history synchronization.
login
Logs into an existing Atuin server account to enable history synchronization.
status
Displays the current synchronization status and other Atuin-related information.
--help
Shows help information for the atuin command or a specific subcommand.
--version
Displays the installed Atuin version.
DESCRIPTION
atuin is a modern, cross-shell command history manager designed to significantly improve productivity. It replaces the default shell history with a more powerful and user-friendly experience, offering features like a full-text fuzzy search for past commands, synchronization of history across multiple machines (with optional self-hosting), and end-to-end encryption for privacy. By transcending the limitations of traditional shell history, atuin allows users to quickly find, filter, and reuse previously executed commands, making the command line workflow more efficient and intuitive.
CAVEATS
Requires shell integration by sourcing the init script in your shell's configuration file. Synchronization relies on a server, either the default public server or a self-hosted instance. While history is end-to-end encrypted, users should be aware of the trust model for the chosen server.
SHELL INTEGRATION
To use atuin effectively, you must integrate it with your shell. This typically involves adding eval "$(atuin init <shell_name>)"
to your shell's configuration file (e.g., .bashrc, .zshrc, config.fish). This setup usually replaces the default Ctrl+R history search shortcut, allowing atuin to intercept and enhance history search.
CONFIGURATION
atuin's behavior can be extensively customized via a configuration file, typically located at ~/.config/atuin/config.toml. This file allows you to set the sync server URL, modify keybindings, customize the interactive search UI, and fine-tune other operational parameters to fit your workflow.
HISTORY
atuin was developed by Ellie Huxtable and is written in Rust. It emerged around 2021-2022 as a modern solution to the long-standing limitations of traditional shell history, quickly gaining traction for its robust search, synchronization, and encryption features. It aims to provide a more functional and user-friendly alternative to built-in shell history commands.