# atuin

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

Stars: 32.2k · Language: Rust · License: MIT · Categories: Shell

- Repository: https://github.com/atuinsh/atuin
- Website: https://atuin.sh
- Page: https://www.trmn.sh/tools/atuin

## Install

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

## Overview

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

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

## Alternatives

- [fish](https://www.trmn.sh/tools/fish.md): Interactive command line shell with syntax highlighting, autosuggestions, and tab completions that work without configuration (Rust, 34.4k stars)
- [zoxide](https://www.trmn.sh/tools/zoxide.md): Smart cd replacement that remembers frequently used directories for quick navigation (Rust, 40.4k stars)
- [Nushell](https://www.trmn.sh/tools/nushell.md): Structured data shell that treats commands and files as typed data rather than raw text streams (Rust, 40.8k stars)
- [genact](https://www.trmn.sh/tools/genact.md): Terminal program that prints fake activity output (compilers, builds, botnets, downloads) to look busy. Runs natively or in a browser via WebAssembly. (Rust, 12.2k stars)
- [McFly](https://www.trmn.sh/tools/mcfly.md): Replaces ctrl-r shell history search with a full-screen search ranked by a small neural network using directory, prior commands, and exit status. (Rust, 7.8k stars)

## Guides

- [Jump between directories with zoxide](https://www.trmn.sh/guides/zoxide-smarter-cd): Install zoxide, load it in bash, zsh or fish, jump with z and zi, import your autojump or z history, and replace cd with --cmd cd.
- [Sync and search shell history across machines with atuin](https://www.trmn.sh/guides/atuin-shell-history-sync): Install atuin, import your existing shell history, search it with Ctrl-R and sync it end-to-end encrypted between machines.

---

Canonical: https://www.trmn.sh/tools/atuin
