Making your terminal magical

Sync, search, and back up your shell history with end-to-end encryption. Ask Atuin AI for help without leaving your prompt.

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

Available for macOS, Linux, and Windows · bash, zsh, fish, and more

Atuin turtle shell mascot
30K+ GitHub Stars
300+ Contributors
600M+ Synced Commands

Used by developers at

PostHog PlanetScale GitHub Cloudflare Shopify Datadog Red Hat Elastic Anthropic OpenAI NVIDIA Render Snowflake Atlassian Google Microsoft
Atuin History

Shell history supercharged

Sync, search, and back up your shell history with end-to-end encryption. The magical shell tool loved by developers worldwide.

  • 01

    Sync everywhere

    Your shell history follows you across machines, backed up and ready when you need it.

  • 02

    Private by default

    History is encrypted client-side, with self-hosting available when you want your own infrastructure.

  • 03

    Search rich context

    Find commands by text, directory, exit code, duration, hostname, and more.

~/src/api on main via 🦀 v1.92 ctrl + r
<tab> edit · <enter> run · synced 78,594
2s 8h ago git pull --rebase
25m 6h ago docker compose up
1m 3h ago cargo build --release
45s 1h ago just deploy staging
3s 40m ago git push origin main
2m 18m ago kubectl logs -f deploy/api
> 12s now kubectl rollout status deploy/api

Prefer your own infra? The sync server is open source — self-host it.

Atuin AI

AI as part of your terminal

Atuin AI comes with the normal Atuin install and works inside the terminal you already use. Type ? on an empty prompt to ask for help without leaving your shell.

Free during testing
  • 01

    Part of your prompt

    Install Atuin once, then open AI with the question mark operator on an empty prompt. No separate app, no copy-paste loop.

  • 02

    Knows your shell history

    Use command output, exit codes, directories, shell history, and more as debugging context.

  • 03

    Suggests and runs commands

    Ask a question, then run or insert the suggested command with one key. Atuin can run bash for context, and flags dangerous commands before they run.

~/src/api on main via 🦀 v1.92 docker compose up Error response from daemon: ports are not available: listen tcp 0.0.0.0:5432: bind: address already in use ~/src/api on main via 🦀 v1.92 ?
You
why did that fail?
Atuin AI
Read shell context: docker compose up — exit 1 bind 0.0.0.0:5432: address already in use
Port 5432 is already taken by a local Postgres, so the compose stack can't bind it. Stop the local service, then bring the stack up again.
Type a message...
[Enter] Execute suggested command [Tab] Insert command
Getting started

One install, everything set up

History and AI ship in the same package — install once, run atuin setup, and both are ready in about two minutes.

  1. 01 Install Atuin
    $curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh
  2. 02 Run setup
    $atuin setup

Want more detail? Read the docs.

FAQ

Frequently asked questions

Is Atuin really free?

Yes. Atuin is open source, and you can self-host the sync server or use the hosted service. Atuin AI is free while in testing.

Can I use Atuin with my existing shell?

Yes. Atuin works with bash, zsh, fish, and more without taking over your existing setup.

Does Atuin slow down my shell?

Atuin is built in Rust and is designed to stay out of the way while giving you faster history search.

How is my data protected?

History is encrypted client-side before sync. Your commands stay private and can only be read by you.

Can I self-host Atuin?

Yes. Atuin supports running your own sync server so you can keep control over infrastructure and data.

Transform your workflow today

Join 500,000+ developers who have already upgraded their command-line workflow.