{"slug": "atuin", "name": "Atuin", "category": "terminal", "category_name": "Terminal and shell", "description": "Open-source tool that stores shell history in SQLite with search and optional cross-machine sync.", "recommenders": 13, "commenters": 18, "warners": 1, "score": 11.588, "rising": -0.27, "first": "2025-11-28", "latest": "2026-10-27", "why": "Commenters use it daily as a fuzzy Ctrl-R search for shell history, valuing history shared across tabs and machines and directory-aware search.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 14, "neutral": 2, "compare": 2, "warn": 1}, "spark": [2, 0, 2, 0, 3, 1, 0, 0, 3, 1, 0, 2], "listed": true, "loved": ["Daily driver", "Fuzzy Ctrl-R"], "caveat": "Bloat", "short_quote": "I use the CLI tool multiple times a day (sometimes hour) and I just want to thank the team for making my life easier.", "icon": true, "domain": "atuin.sh", "github_repo": null, "official_url": "https://atuin.sh/", "pricing": "open source", "aliases": ["Atuin", "atuin"], "verdict": [{"text": "Commenters use it daily as a fuzzy Ctrl-R search for shell history", "cites": [{"id": 761703744, "item_id": 47606484, "url": "https://news.ycombinator.com/item?id=47606484", "by": "Zizizizz", "date": "2026-04-01", "stance": "recommend", "quote": "for fuzzy shell history (ctrl+r)", "excerpt": "https://github.com/atuinsh/atuin for fuzzy shell history (ctrl+r) https://github.com/sharkdp/bat (nice coloured cat replacement) https://github.com/abiosoft/colima (so I don't need docker desktop) https://github.com/duckdb/duckdb (performant database that lets you directly query JSON, parquet, csv files with SQL queries and convert one to the other. https://github.com/eradman/entr (rerun commands automatically when p", "context": "", "use_case": "fuzzy shell history search", "switched_from": "", "story": "Ask HN: What dev tools do you rely on that nobody talks about?"}, {"id": 760207011, "item_id": 47512938, "url": "https://news.ycombinator.com/item?id=47512938", "by": "fragmede", "date": "2026-03-24", "stance": "recommend", "quote": "a custom atuin config so Ctrl-r is usable", "excerpt": "Ghostty with bash (have Claude setup oh my bash) and a custom atuin config so Ctrl-r is usable.", "context": "", "use_case": "shell history search", "switched_from": "", "story": "Ask HN: What shell/terminal setup would you recommend to beginners today?"}, {"id": 788349856, "item_id": 49271866, "url": "https://news.ycombinator.com/item?id=49271866", "by": "Fnoord", "date": "2026-08-12", "stance": "recommend", "quote": "I use atuin a lot, and before that history | fzf.", "excerpt": "Those people are fine just using arrows and backspace, as it isn't worth it to min-max this. I don't want to learn/use Emacs, this doesn't even work on macOS, and Ctrl+A interferes with my tmux keybind. This is why vi keybinds are nice in shells, but... defaults matter. I haven't decided yet if I want to use NFS to malware my configs, or git. I think git is more flexible, but I don't want my configs in a public git. ", "context": "", "use_case": "shell history search", "switched_from": "fzf", "story": "A shell exclamation mark is not for yelling. Be lazy"}, {"id": 737313104, "item_id": 46082069, "url": "https://news.ycombinator.com/item?id=46082069", "by": "jdorfman", "date": "2025-11-28", "stance": "recommend", "quote": "I use the CLI tool multiple times a day (sometimes hour) and I just want to thank the team for making my life easier.", "excerpt": "I haven\u2019t tried the desktop but I use the CLI tool multiple times a day (sometimes hour) and I just want to thank the team for making my life easier.", "context": "", "use_case": "shell history", "switched_from": "", "story": "Atuin\u2019s New Runbook Execution Engine"}]}, {"text": ", valuing history shared across tabs and machines", "cites": [{"id": 745013904, "item_id": 46563369, "url": "https://news.ycombinator.com/item?id=46563369", "by": "Zizizizz", "date": "2026-01-09", "stance": "recommend", "quote": "I use atuin for the shell history as it seems to know when I've run a command in one tab/split while another is open", "excerpt": "I use atuin for the shell history as it seems to know when I've run a command in one tab/split while another is open where fzf doesn't seem to sync it all the time. But I still use fzf to find files. (Bonus, I use Zoxide to replace the alt+d cd shortcut as it's much faster, and use https://github.com/Aloxaf/fzf-tab for tab completions in the terminal to become fuzzy, very very useful)", "context": "", "use_case": "shell history sync", "switched_from": "", "story": "You probably don't need Oh My Zsh"}, {"id": 737269808, "item_id": 46079363, "url": "https://news.ycombinator.com/item?id=46079363", "by": "piqufoh", "date": "2025-11-28", "stance": "recommend", "quote": "I love atuin -- the shared shell command memory function solves a problem that I had", "excerpt": "I love atuin -- the shared shell command memory function solves a problem that I had (recalling obscure CLI commands) I'll try atuin desktop and I hope it succeeds, but I can't say that it solves any particular problem that I have and am aware of.", "context": "", "use_case": "recalling shell commands", "switched_from": "", "story": "Atuin\u2019s New Runbook Execution Engine"}, {"id": 737280128, "item_id": 46080008, "url": "https://news.ycombinator.com/item?id=46080008", "by": "imiric", "date": "2025-11-28", "stance": "neutral", "quote": "Atuin seemed like an interesting way to sync shell history across machines.", "excerpt": "Atuin seemed like an interesting way to sync shell history across machines. That wasn't a problem I personally had, but I could've seen myself giving it a try. These recent developments with the Desktop tool, and now what seems like a Jupyter-like replacement for... shell scripts(?)... sounds completely alien to me. I'm sure it solves some problem for somebody, but it's far removed from any problem I've ever had. Goo", "context": "", "use_case": "sync shell history", "switched_from": "", "story": "Atuin\u2019s New Runbook Execution Engine"}]}, {"text": " and directory-aware search.", "cites": [{"id": 784895600, "item_id": 49055975, "url": "https://news.ycombinator.com/item?id=49055975", "by": "vladvasiliu", "date": "2026-07-26", "stance": "recommend", "quote": "In my case, I use Atuin.", "excerpt": "In my case, I use Atuin. It has a concept of \"context\" so you can easily search the history for commands related to your current directory / project / etc. See [0] for some examples. Now, I admit I don't use these that often, but they can be useful. It also does stats and whatnot based on the history. I've never looked at those. [0] https://docs.atuin.sh/latest/guide/advanced-usage/", "context": "", "use_case": "searchable shell history by context", "switched_from": "", "story": "Stinkpot: SQLite-Backed Shell History"}, {"id": 788544193, "item_id": 49284012, "url": "https://news.ycombinator.com/item?id=49284012", "by": "overflowy", "date": "2026-08-13", "stance": "compare", "quote": "I tried Atuin before and liked it, but the idea of a background service sending my command history to servers I don't control never sat well with me.", "excerpt": "Atuin is a venture\u2011backed product, while zhist is like 1k lines of Go code you could probably read in one sitting. I tried Atuin before and liked it, but the idea of a background service sending my command history to servers I don't control never sat well with me. A small boring tool that runs locally doesn't care about revenue nor will have to sunset any feature hehe Atuin works with several shells, zhist only suppo", "context": "", "use_case": "shell history", "switched_from": "", "story": "Show HN: Smarter Shell History for Zsh"}]}, {"text": " The main caveat is that some find it heavier than they want, citing lag, AI features and the desktop direction", "cites": [{"id": 789067344, "item_id": 49316709, "url": "https://news.ycombinator.com/item?id=49316709", "by": "hn92726819", "date": "2026-08-15", "stance": "warn", "quote": "It felt so laggy and buggy ~1 year ago.", "excerpt": "Absolutely not. It felt so laggy and buggy ~1 year ago. I think resizing my screen broke it at the time? And now it's loaded with AI and shortcuts overrides. I switched to my custom fork of stinkpot posted a few days ago here, and it's so nice. I did have to add current-for filtering, but that was easy.", "context": "", "use_case": "shell history", "switched_from": "Atuin", "story": "Tracking down a Zsh history data loss bug"}, {"id": 764011712, "item_id": 47750732, "url": "https://news.ycombinator.com/item?id=47750732", "by": "digikata", "date": "2026-04-13", "stance": "compare", "quote": "while mcfly is lighter, it also has a narrower feature scope", "excerpt": "Last I checked, and things might have changed, atuin runs a full posgresql database to store and sync the history, while mcfly is lighter, it also has a narrower feature scope.", "context": "", "use_case": "shell history sync", "switched_from": "", "story": "Ask HN: What dev tools do you rely on that nobody talks about?"}, {"id": 737280128, "item_id": 46080008, "url": "https://news.ycombinator.com/item?id=46080008", "by": "imiric", "date": "2025-11-28", "stance": "neutral", "quote": "Atuin seemed like an interesting way to sync shell history across machines.", "excerpt": "Atuin seemed like an interesting way to sync shell history across machines. That wasn't a problem I personally had, but I could've seen myself giving it a try. These recent developments with the Desktop tool, and now what seems like a Jupyter-like replacement for... shell scripts(?)... sounds completely alien to me. I'm sure it solves some problem for somebody, but it's far removed from any problem I've ever had. Goo", "context": "", "use_case": "sync shell history", "switched_from": "", "story": "Atuin\u2019s New Runbook Execution Engine"}]}, {"text": ", while others dislike sending history to a sync server they don't control.", "cites": [{"id": 788544193, "item_id": 49284012, "url": "https://news.ycombinator.com/item?id=49284012", "by": "overflowy", "date": "2026-08-13", "stance": "compare", "quote": "I tried Atuin before and liked it, but the idea of a background service sending my command history to servers I don't control never sat well with me.", "excerpt": "Atuin is a venture\u2011backed product, while zhist is like 1k lines of Go code you could probably read in one sitting. I tried Atuin before and liked it, but the idea of a background service sending my command history to servers I don't control never sat well with me. A small boring tool that runs locally doesn't care about revenue nor will have to sunset any feature hehe Atuin works with several shells, zhist only suppo", "context": "", "use_case": "shell history", "switched_from": "", "story": "Show HN: Smarter Shell History for Zsh"}]}], "praise": [{"label": "Daily driver", "summary": "Several commenters say they use it constantly and love it.", "quotes": [{"id": 737313104, "item_id": 46082069, "url": "https://news.ycombinator.com/item?id=46082069", "by": "jdorfman", "date": "2025-11-28", "stance": "recommend", "quote": "I use the CLI tool multiple times a day (sometimes hour) and I just want to thank the team for making my life easier.", "excerpt": "I haven\u2019t tried the desktop but I use the CLI tool multiple times a day (sometimes hour) and I just want to thank the team for making my life easier.", "context": "", "use_case": "shell history", "switched_from": "", "story": "Atuin\u2019s New Runbook Execution Engine"}, {"id": 804244048, "item_id": 50265253, "url": "https://news.ycombinator.com/item?id=50265253", "by": "donald_sh", "date": "2026-10-27", "stance": "recommend", "quote": "I've been using Atuin for a while and I love it.", "excerpt": "I've been using Atuin for a while and I love it. Two questions: How does resume work between different harnesses? Do you summarize the session, or convert it to the target harness's native format? Is there a way to delete sessions, or exclude some from being stored in the first place?", "context": "", "use_case": "shell history", "switched_from": "", "story": "Atuin Threads: All your agent sessions on every machine"}, {"id": 737269808, "item_id": 46079363, "url": "https://news.ycombinator.com/item?id=46079363", "by": "piqufoh", "date": "2025-11-28", "stance": "recommend", "quote": "I love atuin -- the shared shell command memory function solves a problem that I had", "excerpt": "I love atuin -- the shared shell command memory function solves a problem that I had (recalling obscure CLI commands) I'll try atuin desktop and I hope it succeeds, but I can't say that it solves any particular problem that I have and am aware of.", "context": "", "use_case": "recalling shell commands", "switched_from": "", "story": "Atuin\u2019s New Runbook Execution Engine"}]}, {"label": "Fuzzy Ctrl-R", "summary": "Replaces Ctrl-R and history | fzf with fuzzy history search.", "quotes": [{"id": 761703744, "item_id": 47606484, "url": "https://news.ycombinator.com/item?id=47606484", "by": "Zizizizz", "date": "2026-04-01", "stance": "recommend", "quote": "for fuzzy shell history (ctrl+r)", "excerpt": "https://github.com/atuinsh/atuin for fuzzy shell history (ctrl+r) https://github.com/sharkdp/bat (nice coloured cat replacement) https://github.com/abiosoft/colima (so I don't need docker desktop) https://github.com/duckdb/duckdb (performant database that lets you directly query JSON, parquet, csv files with SQL queries and convert one to the other. https://github.com/eradman/entr (rerun commands automatically when p", "context": "", "use_case": "fuzzy shell history search", "switched_from": "", "story": "Ask HN: What dev tools do you rely on that nobody talks about?"}, {"id": 788349856, "item_id": 49271866, "url": "https://news.ycombinator.com/item?id=49271866", "by": "Fnoord", "date": "2026-08-12", "stance": "recommend", "quote": "I use atuin a lot, and before that history | fzf.", "excerpt": "Those people are fine just using arrows and backspace, as it isn't worth it to min-max this. I don't want to learn/use Emacs, this doesn't even work on macOS, and Ctrl+A interferes with my tmux keybind. This is why vi keybinds are nice in shells, but... defaults matter. I haven't decided yet if I want to use NFS to malware my configs, or git. I think git is more flexible, but I don't want my configs in a public git. ", "context": "", "use_case": "shell history search", "switched_from": "fzf", "story": "A shell exclamation mark is not for yelling. Be lazy"}, {"id": 760207011, "item_id": 47512938, "url": "https://news.ycombinator.com/item?id=47512938", "by": "fragmede", "date": "2026-03-24", "stance": "recommend", "quote": "a custom atuin config so Ctrl-r is usable", "excerpt": "Ghostty with bash (have Claude setup oh my bash) and a custom atuin config so Ctrl-r is usable.", "context": "", "use_case": "shell history search", "switched_from": "", "story": "Ask HN: What shell/terminal setup would you recommend to beginners today?"}]}, {"label": "Shared history", "summary": "Shares commands across open tabs and splits, and can sync history across machines.", "quotes": [{"id": 745013904, "item_id": 46563369, "url": "https://news.ycombinator.com/item?id=46563369", "by": "Zizizizz", "date": "2026-01-09", "stance": "recommend", "quote": "I use atuin for the shell history as it seems to know when I've run a command in one tab/split while another is open", "excerpt": "I use atuin for the shell history as it seems to know when I've run a command in one tab/split while another is open where fzf doesn't seem to sync it all the time. But I still use fzf to find files. (Bonus, I use Zoxide to replace the alt+d cd shortcut as it's much faster, and use https://github.com/Aloxaf/fzf-tab for tab completions in the terminal to become fuzzy, very very useful)", "context": "", "use_case": "shell history sync", "switched_from": "", "story": "You probably don't need Oh My Zsh"}, {"id": 737269808, "item_id": 46079363, "url": "https://news.ycombinator.com/item?id=46079363", "by": "piqufoh", "date": "2025-11-28", "stance": "recommend", "quote": "I love atuin -- the shared shell command memory function solves a problem that I had", "excerpt": "I love atuin -- the shared shell command memory function solves a problem that I had (recalling obscure CLI commands) I'll try atuin desktop and I hope it succeeds, but I can't say that it solves any particular problem that I have and am aware of.", "context": "", "use_case": "recalling shell commands", "switched_from": "", "story": "Atuin\u2019s New Runbook Execution Engine"}, {"id": 737280128, "item_id": 46080008, "url": "https://news.ycombinator.com/item?id=46080008", "by": "imiric", "date": "2025-11-28", "stance": "neutral", "quote": "Atuin seemed like an interesting way to sync shell history across machines.", "excerpt": "Atuin seemed like an interesting way to sync shell history across machines. That wasn't a problem I personally had, but I could've seen myself giving it a try. These recent developments with the Desktop tool, and now what seems like a Jupyter-like replacement for... shell scripts(?)... sounds completely alien to me. I'm sure it solves some problem for somebody, but it's far removed from any problem I've ever had. Goo", "context": "", "use_case": "sync shell history", "switched_from": "", "story": "Atuin\u2019s New Runbook Execution Engine"}]}, {"label": "Context search", "summary": "Records the working directory and exit status for each command, so you can filter history by directory or project.", "quotes": [{"id": 784895600, "item_id": 49055975, "url": "https://news.ycombinator.com/item?id=49055975", "by": "vladvasiliu", "date": "2026-07-26", "stance": "recommend", "quote": "In my case, I use Atuin.", "excerpt": "In my case, I use Atuin. It has a concept of \"context\" so you can easily search the history for commands related to your current directory / project / etc. See [0] for some examples. Now, I admit I don't use these that often, but they can be useful. It also does stats and whatnot based on the history. I've never looked at those. [0] https://docs.atuin.sh/latest/guide/advanced-usage/", "context": "", "use_case": "searchable shell history by context", "switched_from": "", "story": "Stinkpot: SQLite-Backed Shell History"}, {"id": 788544193, "item_id": 49284012, "url": "https://news.ycombinator.com/item?id=49284012", "by": "overflowy", "date": "2026-08-13", "stance": "compare", "quote": "I tried Atuin before and liked it, but the idea of a background service sending my command history to servers I don't control never sat well with me.", "excerpt": "Atuin is a venture\u2011backed product, while zhist is like 1k lines of Go code you could probably read in one sitting. I tried Atuin before and liked it, but the idea of a background service sending my command history to servers I don't control never sat well with me. A small boring tool that runs locally doesn't care about revenue nor will have to sunset any feature hehe Atuin works with several shells, zhist only suppo", "context": "", "use_case": "shell history", "switched_from": "", "story": "Show HN: Smarter Shell History for Zsh"}]}, {"label": "Speed", "summary": "Users report it is snappy and has unlimited history; an in-memory index speeds up fuzzy search.", "quotes": [{"id": 784890272, "item_id": 49055642, "url": "https://news.ycombinator.com/item?id=49055642", "by": "NightMKoder", "date": "2026-07-26", "stance": "recommend", "quote": "I use atuin (https://atuin.sh/) and am reasonably happy with it, especially the infinite capacity & snapiness", "excerpt": "FWIW I use atuin (https://atuin.sh/) and am reasonably happy with it, especially the infinite capacity & snapiness. Ignoring the sync features, I believe it's also sqlite backed when running in local-only mode.", "context": "", "use_case": "shell history", "switched_from": "", "story": "Stinkpot: SQLite-Backed Shell History"}, {"id": 764089152, "item_id": 47755572, "url": "https://news.ycombinator.com/item?id=47755572", "by": "ellieh", "date": "2026-04-13", "stance": "neutral", "quote": "So Atuin actually runs postgresql on the server only", "excerpt": "So Atuin actually runs postgresql on the server only - the part that handles sync for many users On the client, it uses sqlite. As of recently, it also keeps an in-memory Nucleo index to make fuzzy searching much faster", "context": "", "use_case": "shell history sync", "switched_from": "", "story": "Ask HN: What dev tools do you rely on that nobody talks about?"}]}, {"label": "Easy setup", "summary": "One user says it needs much less configuration than maintaining custom history files.", "quotes": [{"id": 802553137, "item_id": 50159571, "url": "https://news.ycombinator.com/item?id=50159571", "by": "mcint", "date": "2026-10-19", "stance": "recommend", "quote": "Nowadays, I've just offloaded that to atuin [atuin], which I install from brew or with cargo binstall. Much less configuration", "excerpt": "Sweet! Well-expressed, and well-explored. It's easy to setup an interface that makes search a bit easier still, including showing you a list as you interactively filter history, with fzf, [gh-fzf]. Examples of what users use most frequently, the key-bindings.{bash,zsh} has history key binds [arch-fzf]. The developer, junegunn, writes about it more generally, and all the other fun ways you can apply it [dev-fzf]. For ", "context": "", "use_case": "shell history search and sync", "switched_from": "custom per-shell history files", "story": "Faster command recall with substring search"}]}], "caveats": [{"label": "Bloat", "summary": "Some see it as heavier or more feature-laden than they want, including AI features, shortcut overrides and a desktop app.", "quotes": [{"id": 789067344, "item_id": 49316709, "url": "https://news.ycombinator.com/item?id=49316709", "by": "hn92726819", "date": "2026-08-15", "stance": "warn", "quote": "It felt so laggy and buggy ~1 year ago.", "excerpt": "Absolutely not. It felt so laggy and buggy ~1 year ago. I think resizing my screen broke it at the time? And now it's loaded with AI and shortcuts overrides. I switched to my custom fork of stinkpot posted a few days ago here, and it's so nice. I did have to add current-for filtering, but that was easy.", "context": "", "use_case": "shell history", "switched_from": "Atuin", "story": "Tracking down a Zsh history data loss bug"}, {"id": 764011712, "item_id": 47750732, "url": "https://news.ycombinator.com/item?id=47750732", "by": "digikata", "date": "2026-04-13", "stance": "compare", "quote": "while mcfly is lighter, it also has a narrower feature scope", "excerpt": "Last I checked, and things might have changed, atuin runs a full posgresql database to store and sync the history, while mcfly is lighter, it also has a narrower feature scope.", "context": "", "use_case": "shell history sync", "switched_from": "", "story": "Ask HN: What dev tools do you rely on that nobody talks about?"}, {"id": 737280128, "item_id": 46080008, "url": "https://news.ycombinator.com/item?id=46080008", "by": "imiric", "date": "2025-11-28", "stance": "neutral", "quote": "Atuin seemed like an interesting way to sync shell history across machines.", "excerpt": "Atuin seemed like an interesting way to sync shell history across machines. That wasn't a problem I personally had, but I could've seen myself giving it a try. These recent developments with the Desktop tool, and now what seems like a Jupyter-like replacement for... shell scripts(?)... sounds completely alien to me. I'm sure it solves some problem for somebody, but it's far removed from any problem I've ever had. Goo", "context": "", "use_case": "sync shell history", "switched_from": "", "story": "Atuin\u2019s New Runbook Execution Engine"}]}, {"label": "Lag and bugs", "summary": "One user found it laggy and buggy about a year earlier and switched away.", "quotes": [{"id": 789067344, "item_id": 49316709, "url": "https://news.ycombinator.com/item?id=49316709", "by": "hn92726819", "date": "2026-08-15", "stance": "warn", "quote": "It felt so laggy and buggy ~1 year ago.", "excerpt": "Absolutely not. It felt so laggy and buggy ~1 year ago. I think resizing my screen broke it at the time? And now it's loaded with AI and shortcuts overrides. I switched to my custom fork of stinkpot posted a few days ago here, and it's so nice. I did have to add current-for filtering, but that was easy.", "context": "", "use_case": "shell history", "switched_from": "Atuin", "story": "Tracking down a Zsh history data loss bug"}]}, {"label": "Privacy", "summary": "One commenter was uneasy about history being sent to servers they don't control, and noted it is venture-backed.", "quotes": [{"id": 788544193, "item_id": 49284012, "url": "https://news.ycombinator.com/item?id=49284012", "by": "overflowy", "date": "2026-08-13", "stance": "compare", "quote": "I tried Atuin before and liked it, but the idea of a background service sending my command history to servers I don't control never sat well with me.", "excerpt": "Atuin is a venture\u2011backed product, while zhist is like 1k lines of Go code you could probably read in one sitting. I tried Atuin before and liked it, but the idea of a background service sending my command history to servers I don't control never sat well with me. A small boring tool that runs locally doesn't care about revenue nor will have to sunset any feature hehe Atuin works with several shells, zhist only suppo", "context": "", "use_case": "shell history", "switched_from": "", "story": "Show HN: Smarter Shell History for Zsh"}]}, {"label": "Space-prefixed commands", "summary": "It skips commands that start with a space, and one user says this is not configurable.", "quotes": [{"id": 759679072, "item_id": 47479942, "url": "https://news.ycombinator.com/item?id=47479942", "by": "loremm", "date": "2026-03-22", "stance": "recommend", "quote": "I love atuin but it, by default, skips commands starting with space.", "excerpt": "This is niche and HN is full of these back and forth comments. One thing which a particular type of crowd will appreciate is being able to apply simple patches to constantly-up-to-date packages. For an example, I love atuin but it, by default, skips commands starting with space. Currently it's not configurable and while I wait for time to submit a PR or for the issue to be resolved, make a single line `patch` which j", "context": "", "use_case": "shell history", "switched_from": "", "story": "Why I love NixOS"}]}], "who": [], "tags": ["multi-machine sync", "works with several shells", "local-only mode"], "use_cases": ["shell history", "shell history sync", "shell history search", "shell history search and sync", "searchable shell history by context", "fuzzy shell history search"], "compared": [{"slug": "fzf", "name": "fzf", "co": 3, "switched_from": 1, "switched_to": 0}, {"slug": "mcfly", "name": "McFly", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "lazygit", "name": "lazygit", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "entr", "name": "entr", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "zoxide", "name": "zoxide", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 804248816, "item_id": 50265551, "url": "https://news.ycombinator.com/item?id=50265551", "by": "ellieh", "date": "2026-10-27", "stance": "recommend", "quote": "We convert to the native format. Our goal is to capture and convert as much data as we can.", "excerpt": "Love to hear that! > Do you summarize the session, or convert it to the target harness's native format? We convert to the native format. Our goal is to capture and convert as much data as we can. > Is there a way to delete sessions, or exclude some from being stored in the first place? Not currently, but we will have this very soon! I want to make sure it\u2019s very clear to use and can be configured for a broad range of", "context": "Atuin team member", "use_case": "syncing agent sessions", "switched_from": "", "story": "Atuin Threads: All your agent sessions on every machine"}], "threads": [{"url": "https://news.ycombinator.com/item?id=46039317", "title": "Atuin\u2019s New Runbook Execution Engine", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=47602040", "title": "Ask HN: What dev tools do you rely on that nobody talks about?", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=50264470", "title": "Atuin Threads: All your agent sessions on every machine", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49034777", "title": "Stinkpot: SQLite-Backed Shell History", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50102932", "title": "Faster command recall with substring search", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49314579", "title": "Tracking down a Zsh history data loss bug", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 2, "neutral": 2}, "2025-12": {}, "2026-01": {"recommend": 2}, "2026-02": {}, "2026-03": {"recommend": 3}, "2026-04": {"recommend": 1, "compare": 1}, "2026-05": {}, "2026-06": {}, "2026-07": {"recommend": 3}, "2026-08": {"recommend": 1, "compare": 1, "warn": 1}, "2026-09": {}, "2026-10": {"recommend": 2}}, "quotes": [{"id": 804244048, "item_id": 50265253, "url": "https://news.ycombinator.com/item?id=50265253", "by": "donald_sh", "date": "2026-10-27", "stance": "recommend", "quote": "I've been using Atuin for a while and I love it.", "excerpt": "I've been using Atuin for a while and I love it. Two questions: How does resume work between different harnesses? Do you summarize the session, or convert it to the target harness's native format? Is there a way to delete sessions, or exclude some from being stored in the first place?", "context": "", "use_case": "shell history", "switched_from": "", "story": "Atuin Threads: All your agent sessions on every machine"}, {"id": 802553137, "item_id": 50159571, "url": "https://news.ycombinator.com/item?id=50159571", "by": "mcint", "date": "2026-10-19", "stance": "recommend", "quote": "Nowadays, I've just offloaded that to atuin [atuin], which I install from brew or with cargo binstall. Much less configuration", "excerpt": "Sweet! Well-expressed, and well-explored. It's easy to setup an interface that makes search a bit easier still, including showing you a list as you interactively filter history, with fzf, [gh-fzf]. Examples of what users use most frequently, the key-bindings.{bash,zsh} has history key binds [arch-fzf]. The developer, junegunn, writes about it more generally, and all the other fun ways you can apply it [dev-fzf]. For ", "context": "", "use_case": "shell history search and sync", "switched_from": "custom per-shell history files", "story": "Faster command recall with substring search"}, {"id": 789067344, "item_id": 49316709, "url": "https://news.ycombinator.com/item?id=49316709", "by": "hn92726819", "date": "2026-08-15", "stance": "warn", "quote": "It felt so laggy and buggy ~1 year ago.", "excerpt": "Absolutely not. It felt so laggy and buggy ~1 year ago. I think resizing my screen broke it at the time? And now it's loaded with AI and shortcuts overrides. I switched to my custom fork of stinkpot posted a few days ago here, and it's so nice. I did have to add current-for filtering, but that was easy.", "context": "", "use_case": "shell history", "switched_from": "Atuin", "story": "Tracking down a Zsh history data loss bug"}, {"id": 788544193, "item_id": 49284012, "url": "https://news.ycombinator.com/item?id=49284012", "by": "overflowy", "date": "2026-08-13", "stance": "compare", "quote": "I tried Atuin before and liked it, but the idea of a background service sending my command history to servers I don't control never sat well with me.", "excerpt": "Atuin is a venture\u2011backed product, while zhist is like 1k lines of Go code you could probably read in one sitting. I tried Atuin before and liked it, but the idea of a background service sending my command history to servers I don't control never sat well with me. A small boring tool that runs locally doesn't care about revenue nor will have to sunset any feature hehe Atuin works with several shells, zhist only suppo", "context": "", "use_case": "shell history", "switched_from": "", "story": "Show HN: Smarter Shell History for Zsh"}, {"id": 788349856, "item_id": 49271866, "url": "https://news.ycombinator.com/item?id=49271866", "by": "Fnoord", "date": "2026-08-12", "stance": "recommend", "quote": "I use atuin a lot, and before that history | fzf.", "excerpt": "Those people are fine just using arrows and backspace, as it isn't worth it to min-max this. I don't want to learn/use Emacs, this doesn't even work on macOS, and Ctrl+A interferes with my tmux keybind. This is why vi keybinds are nice in shells, but... defaults matter. I haven't decided yet if I want to use NFS to malware my configs, or git. I think git is more flexible, but I don't want my configs in a public git. ", "context": "", "use_case": "shell history search", "switched_from": "fzf", "story": "A shell exclamation mark is not for yelling. Be lazy"}, {"id": 784895600, "item_id": 49055975, "url": "https://news.ycombinator.com/item?id=49055975", "by": "vladvasiliu", "date": "2026-07-26", "stance": "recommend", "quote": "In my case, I use Atuin.", "excerpt": "In my case, I use Atuin. It has a concept of \"context\" so you can easily search the history for commands related to your current directory / project / etc. See [0] for some examples. Now, I admit I don't use these that often, but they can be useful. It also does stats and whatnot based on the history. I've never looked at those. [0] https://docs.atuin.sh/latest/guide/advanced-usage/", "context": "", "use_case": "searchable shell history by context", "switched_from": "", "story": "Stinkpot: SQLite-Backed Shell History"}, {"id": 784890272, "item_id": 49055642, "url": "https://news.ycombinator.com/item?id=49055642", "by": "NightMKoder", "date": "2026-07-26", "stance": "recommend", "quote": "I use atuin (https://atuin.sh/) and am reasonably happy with it, especially the infinite capacity & snapiness", "excerpt": "FWIW I use atuin (https://atuin.sh/) and am reasonably happy with it, especially the infinite capacity & snapiness. Ignoring the sync features, I believe it's also sqlite backed when running in local-only mode.", "context": "", "use_case": "shell history", "switched_from": "", "story": "Stinkpot: SQLite-Backed Shell History"}, {"id": 784492608, "item_id": 49030788, "url": "https://news.ycombinator.com/item?id=49030788", "by": "linsomniac", "date": "2026-07-23", "stance": "recommend", "quote": "I use atuin.", "excerpt": "This isn't news, the real news is that the AI tooling allows YOU (specifically) to have a custom prompt tool built specifically for you, in the same or less effort it would take to set up one of the existing prompt tools. For example, I liked the idea of this but had no interest in the shell history integration; I use atuin. So I had codex build me one, including the 250ms wait for git, and if git takes longer than t", "context": "", "use_case": "shell history", "switched_from": "", "story": "Show HN: Whetuu \u2013 a zero-config cross-shell prompt written in Zig"}, {"id": 764089152, "item_id": 47755572, "url": "https://news.ycombinator.com/item?id=47755572", "by": "ellieh", "date": "2026-04-13", "stance": "neutral", "quote": "So Atuin actually runs postgresql on the server only", "excerpt": "So Atuin actually runs postgresql on the server only - the part that handles sync for many users On the client, it uses sqlite. As of recently, it also keeps an in-memory Nucleo index to make fuzzy searching much faster", "context": "", "use_case": "shell history sync", "switched_from": "", "story": "Ask HN: What dev tools do you rely on that nobody talks about?"}, {"id": 764011712, "item_id": 47750732, "url": "https://news.ycombinator.com/item?id=47750732", "by": "digikata", "date": "2026-04-13", "stance": "compare", "quote": "while mcfly is lighter, it also has a narrower feature scope", "excerpt": "Last I checked, and things might have changed, atuin runs a full posgresql database to store and sync the history, while mcfly is lighter, it also has a narrower feature scope.", "context": "", "use_case": "shell history sync", "switched_from": "", "story": "Ask HN: What dev tools do you rely on that nobody talks about?"}, {"id": 761703744, "item_id": 47606484, "url": "https://news.ycombinator.com/item?id=47606484", "by": "Zizizizz", "date": "2026-04-01", "stance": "recommend", "quote": "for fuzzy shell history (ctrl+r)", "excerpt": "https://github.com/atuinsh/atuin for fuzzy shell history (ctrl+r) https://github.com/sharkdp/bat (nice coloured cat replacement) https://github.com/abiosoft/colima (so I don't need docker desktop) https://github.com/duckdb/duckdb (performant database that lets you directly query JSON, parquet, csv files with SQL queries and convert one to the other. https://github.com/eradman/entr (rerun commands automatically when p", "context": "", "use_case": "fuzzy shell history search", "switched_from": "", "story": "Ask HN: What dev tools do you rely on that nobody talks about?"}, {"id": 760207011, "item_id": 47512938, "url": "https://news.ycombinator.com/item?id=47512938", "by": "fragmede", "date": "2026-03-24", "stance": "recommend", "quote": "a custom atuin config so Ctrl-r is usable", "excerpt": "Ghostty with bash (have Claude setup oh my bash) and a custom atuin config so Ctrl-r is usable.", "context": "", "use_case": "shell history search", "switched_from": "", "story": "Ask HN: What shell/terminal setup would you recommend to beginners today?"}, {"id": 759679072, "item_id": 47479942, "url": "https://news.ycombinator.com/item?id=47479942", "by": "loremm", "date": "2026-03-22", "stance": "recommend", "quote": "I love atuin but it, by default, skips commands starting with space.", "excerpt": "This is niche and HN is full of these back and forth comments. One thing which a particular type of crowd will appreciate is being able to apply simple patches to constantly-up-to-date packages. For an example, I love atuin but it, by default, skips commands starting with space. Currently it's not configurable and while I wait for time to submit a PR or for the issue to be resolved, make a single line `patch` which j", "context": "", "use_case": "shell history", "switched_from": "", "story": "Why I love NixOS"}, {"id": 759470544, "item_id": 47466909, "url": "https://news.ycombinator.com/item?id=47466909", "by": "thehours", "date": "2026-03-21", "stance": "recommend", "quote": "The PTY proxy looks pretty neat! Excited to give that a try.", "excerpt": "The PTY proxy looks pretty neat! Excited to give that a try. Losing some of the scrollback was a minor nuisance that I kind of lived with until now.", "context": "", "use_case": "shell history", "switched_from": "", "story": "Atuin v18.13 \u2013 better search, a PTY proxy, and AI for your shell"}, {"id": 746336752, "item_id": 46646047, "url": "https://news.ycombinator.com/item?id=46646047", "by": "raoulj", "date": "2026-01-16", "stance": "recommend", "quote": "I like using atuin[1]", "excerpt": "I like using atuin[1] but the capture mechanism here's pretty convenient! Cool idea. May give it a try [1] https://atuin.sh/", "context": "", "use_case": "shell history", "switched_from": "", "story": "Show HN: Hc: an agentless, multi-tenant shell history sink"}, {"id": 745013904, "item_id": 46563369, "url": "https://news.ycombinator.com/item?id=46563369", "by": "Zizizizz", "date": "2026-01-09", "stance": "recommend", "quote": "I use atuin for the shell history as it seems to know when I've run a command in one tab/split while another is open", "excerpt": "I use atuin for the shell history as it seems to know when I've run a command in one tab/split while another is open where fzf doesn't seem to sync it all the time. But I still use fzf to find files. (Bonus, I use Zoxide to replace the alt+d cd shortcut as it's much faster, and use https://github.com/Aloxaf/fzf-tab for tab completions in the terminal to become fuzzy, very very useful)", "context": "", "use_case": "shell history sync", "switched_from": "", "story": "You probably don't need Oh My Zsh"}, {"id": 737313601, "item_id": 46082100, "url": "https://news.ycombinator.com/item?id=46082100", "by": "quasigod", "date": "2025-11-28", "stance": "neutral", "quote": "Ive been wanting to give this a try.", "excerpt": "Ive been wanting to give this a try. I see that it mentions markdown formatting support, but I wonder if it actually supports markdown. I'd love to find a way to integrate it with my Obsidian vault, since I already have all my shell snippets and homelab docs there", "context": "", "use_case": "runbooks", "switched_from": "", "story": "Atuin\u2019s New Runbook Execution Engine"}, {"id": 737313104, "item_id": 46082069, "url": "https://news.ycombinator.com/item?id=46082069", "by": "jdorfman", "date": "2025-11-28", "stance": "recommend", "quote": "I use the CLI tool multiple times a day (sometimes hour) and I just want to thank the team for making my life easier.", "excerpt": "I haven\u2019t tried the desktop but I use the CLI tool multiple times a day (sometimes hour) and I just want to thank the team for making my life easier.", "context": "", "use_case": "shell history", "switched_from": "", "story": "Atuin\u2019s New Runbook Execution Engine"}, {"id": 737280128, "item_id": 46080008, "url": "https://news.ycombinator.com/item?id=46080008", "by": "imiric", "date": "2025-11-28", "stance": "neutral", "quote": "Atuin seemed like an interesting way to sync shell history across machines.", "excerpt": "Atuin seemed like an interesting way to sync shell history across machines. That wasn't a problem I personally had, but I could've seen myself giving it a try. These recent developments with the Desktop tool, and now what seems like a Jupyter-like replacement for... shell scripts(?)... sounds completely alien to me. I'm sure it solves some problem for somebody, but it's far removed from any problem I've ever had. Goo", "context": "", "use_case": "sync shell history", "switched_from": "", "story": "Atuin\u2019s New Runbook Execution Engine"}, {"id": 737269808, "item_id": 46079363, "url": "https://news.ycombinator.com/item?id=46079363", "by": "piqufoh", "date": "2025-11-28", "stance": "recommend", "quote": "I love atuin -- the shared shell command memory function solves a problem that I had", "excerpt": "I love atuin -- the shared shell command memory function solves a problem that I had (recalling obscure CLI commands) I'll try atuin desktop and I hope it succeeds, but I can't say that it solves any particular problem that I have and am aware of.", "context": "", "use_case": "recalling shell commands", "switched_from": "", "story": "Atuin\u2019s New Runbook Execution Engine"}]}