Skip to content
Comparison

Suvadu vs Atuin vs McFly vs Hstr: Which Shell History Tool Should You Use?

By Madhubalan Appachi10 min read

Built-in shell history is showing its age. A new generation of tools has emerged to replace it, each with a different philosophy on how your command history should work. If you're evaluating your options, here's an honest, detailed comparison of the four most notable ones: Suvadu, Atuin, McFly, and Hstr.

The Quick Overview

FeatureSuvaduAtuinMcFlyHstr
LanguageRustRustRustC
StorageSQLite (WAL)SQLiteSQLiteText file
Privacy100% localCloud sync (opt-out)100% local100% local
Shell SupportZsh, BashZsh, Bash, Fish, NuZsh, Bash, FishZsh, Bash
Executor Tracking8+ typesNoNoNo
AI Agent SupportClaude Code, Cursor, AntigravityNoNoNo
TUI SearchFull filter panelYesYesYes
Arrow Key HistoryFrecency-rankedNoNoNo
Session TaggingYesNoNoNo
Bookmarks & NotesYesNoNoFavorites
Stats DashboardHeatmap + chartsBasic statsNoNo
Alias SuggestionsYesNoNoNo

Atuin

Atuin is the most popular shell history replacement and the one people tend to discover first. It's well-built, actively maintained, and offers the widest shell support (Zsh, Bash, Fish, Nushell).

What Atuin does well

  • Cloud sync. Atuin's headline feature is encrypted cross-machine history sync. If you work across multiple machines, this is genuinely useful.
  • Multi-shell support. Works with Zsh, Bash, Fish, and Nushell out of the box.
  • Active community. Large user base, active development, good documentation.

Where Atuin falls short

  • Privacy concerns. Cloud sync is the default experience. While encryption is solid, many developers (especially in enterprise) prefer zero cloud contact. Atuin can run in offline mode, but it's not the default posture.
  • No executor tracking. Atuin doesn't know whether a command was typed by you, run by Claude Code, or executed by a CI pipeline.
  • No arrow key integration. You get a TUI invoked by Ctrl+R, but your up/down arrow keys aren't enhanced.
  • No session organization. No tagging, no bookmarks, no notes.

McFly

McFly takes an interesting ML-inspired approach to history search. It uses a neural network-style ranking algorithm that considers your current directory, recent commands, and command frequency.

What McFly does well

  • Smart ranking. The contextual ranking algorithm is genuinely clever. It considers where you are, what you've been doing, and what time it is.
  • Lightweight. Minimal configuration, works out of the box.
  • Privacy-first. Fully local, no cloud component.

Where McFly falls short

  • Limited metadata. Doesn't track exit codes, doesn't store duration, no executor information.
  • No analytics. No stats, no heatmaps, no alias suggestions.
  • No organization. No tags, bookmarks, or notes.
  • Basic TUI. The search interface is functional but minimal compared to what Suvadu or Atuin offer.

Hstr

Hstr (HiSToRy) is the veteran of the group. Written in C, it's fast and stable but shows its age in terms of features.

What Hstr does well

  • Speed. Written in C, it's incredibly fast even with large history files.
  • Simplicity. Does one thing well: search and manage shell history with a clean TUI.
  • Favorites. You can mark commands as favorites for quick access.

Where Hstr falls short

  • Text file storage. Reads from the standard history file, so you get none of the metadata benefits of a database.
  • No context capture. No directory, exit code, duration, or session tracking.
  • Limited development. The project is mature but development has slowed significantly.

Where Suvadu Stands

Suvadu was built for developers who live in their terminal and want complete visibility into their command history, not just search. Here's what sets it apart:

Executor Tracking

This is Suvadu's most unique feature. By inspecting environment variables at capture time, it identifies 8+ executor types: human (TTY), AI agents (Claude Code, Codex CLI, Aider, Continue), IDEs (Cursor, VS Code, Antigravity, Windsurf, IntelliJ, PyCharm), CI/CD (GitHub Actions, GitLab CI, CircleCI), and programmatic/subprocess execution.

In a world where AI assistants are running commands in your terminal, knowing who executed what is no longer a nice-to-have. It's essential for security auditing, understanding workflow patterns, and debugging issues that arise from AI-generated commands.

Organization Features

Suvadu treats your history as a first-class knowledge base. Tag sessions by project (suv tag associate --name payments). Bookmark critical commands. Add notes with context (suv note 1234 -c "Fixed the OOM issue"). These aren't gimmicks; they're how you turn a command log into institutional knowledge.

Arrow Key Navigation

Most history tools only give you Ctrl+R. Suvadu also replaces your up/down arrow keys with frecency-ranked navigation that prefers commands from your current directory. It feels like built-in history but smarter.

Analytics

suv stats gives you a heatmap of command frequency, hourly distribution charts, and top commands/directories analysis. suv suggest-aliases analyzes your history and recommends shell aliases for commands you type repeatedly.

The Trade-offs

In the interest of honesty, here's where Suvadu isn't the best choice:

  • Multi-machine sync. If you need cloud sync, Atuin is the clear winner. Suvadu is 100% local by design.
  • Fish/Nushell. Suvadu supports Zsh and Bash. If you're on Fish or Nushell, Atuin is your best option today.
  • Minimalism. If you just want slightly better Ctrl+R and nothing else, McFly's simplicity might appeal to you more.

Recommendation

Choose based on your priorities:

  • Need cloud sync? Go with Atuin.
  • Want maximum simplicity? Try McFly.
  • Want a fast, no-frills classic? Hstr still works great.
  • Want full visibility, executor tracking, and organization? That's Suvadu.

All four are free and open source. Try them and keep the one that fits how you work.

Share this article

PostShare
👣Try Suvadu

Total recall for your terminal. Database-backed shell history with AI agent tracking, built in Rust.

Install now →
👣

Madhubalan Appachi

Building developer tools at Appachi Tech. Creator of Suvadu and Kaval.

Related Posts