atuin logo

atuin

Shell history management with SQLite storage, search interface, and encrypted sync across machines

install· Curl

Atuin replaces the default shell history mechanism by storing commands in a SQLite database with additional context including exit codes, working directory, hostname, session information, and execution duration. It provides a full-screen search interface that replaces the standard ctrl-r history search, allowing complex queries like filtering by exit status, time ranges, and directory context.

The tool supports multiple shells including zsh, bash, fish, nushell, xonsh, and powershell with varying levels of support. Commands can be searched using specific criteria such as atuin search --exit 0 --after "yesterday 3pm" make to find successful make commands from a specific timeframe. The interface allows quick navigation with Alt+number shortcuts and provides multiple filter modes accessible via ctrl-r.

Atuin offers optional synchronization of shell history across machines through an encrypted sync service, either using the hosted Atuin Cloud or a self-hosted server. All sync data is end-to-end encrypted, ensuring command history remains private. The tool preserves existing history files while adding enhanced functionality, and can import history from various shell formats automatically.

Installation

# via Curl
curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh

Alternatives & related tools

add a badge to your README

Maintain atuin? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/atuin.svg)](https://www.trmn.sh/tools/atuin?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/atuin?utm_source=badge"><img src="https://www.trmn.sh/badge/atuin.svg" alt="Featured on trmn" height="20"></a>