Atuin v18.13 – better search, a PTY proxy, and AI for your shell (blog.atuin.sh)

by cenanozen 81 comments 95 points
Read article View on HN

81 comments

[−] dc_giant 56d ago
Hmm might be great for some. I’m a Unix philosophy guy, one tool for one job. So far atuin was fine to be a better search history. Now it might be time to look for simpler alternative. Any suggestions? (I’m on zsh)
[−] justech 56d ago
I tried atuin and then switched back to fzf[0]. It's less features but that's not necessarily a negative.

[0]https://github.com/junegunn/fzf

[−] kstrauser 56d ago
Fzf doesn't let you sync your shell history, though. I self-host an Atuin server so that I can share that history across my various machines.
[−] stevekemp 56d ago
To be honest I find the things I do on my "work" laptop are different to the things I do on my "personal" laptop, and different again to what I do on my desktop machine.

Regardless of which machine I'm using at any given moment I appreciate having "endless history", and the ability to search/filter it. But despite that I don't think I need to actual sync that.

I'm sure there is value to be had from syncing and making all history unified, but it's never appealed to me particularly.

[−] justech 56d ago
Yeah, that's part of the "less features" I mentioned. I don't get any value from syncing shell history, but I can see why it's useful for some.
[−] doubled112 56d ago
I also self host my own atuin server. It’s great.

I didn’t think syncing terminal history would be very useful until I tried it, but now I have a hard time when I don’t have it.

[−] kstrauser 56d ago
That was my experience. “Huh, what was that complicate thing I did on the database server?”

I have its search bound to ^r and use Fish shell’s own search for most things, with cross-machine search a keystroke away.

[−] prashantv 56d ago
I personally prefer the fzf UX, but I liked atuin's better tracking of history and sync abilities so I combined them: https://github.com/prashantv/atuin-fzf
[−] dc_giant 56d ago
Yup already using fzf for other things will probably just go back for search history too.
[−] anamexis 56d ago
I have to ask -- why? Atuin has not gotten any worse at its core history search functionality. All of the new features are entirely opt-in. Why switch?
[−] dc_giant 56d ago
Because to me it feels like it gets more complex in ways I don’t like. It’s a matter of preference. To be honest had I not read about it I might have never noticed it but now I know and will probably go back to fzf.
[−] quinncom 56d ago
You can try McFly [1] and Television [2]. I still prefer fzf.

[1] https://github.com/cantino/mcfly

[2] https://github.com/alexpasmantier/television

[−] hakcermani 56d ago
not zsh .. plugging my bash script [1] (and gnome task bar UI) - to start a gnome terminal with a different named history file. [1]: https://github.com/appsmatics/gtsh-hist
[−] dcre 56d ago
What here takes them over the complexity threshold?
[−] grosswait 56d ago
AI appears to be opt in
[−] DavideNL 55d ago
For those wondering, it seems version 18.12.1 was the latest version without the AI feature...

https://github.com/atuinsh/atuin/releases/tag/v18.12.1

Personally I'll keep using this version for a while until i find something better.

[−] DavideNL 55d ago
Note that the database format of 18.13 is not compatible with 18.12.1, so if you already had 18.13 running you need to remove the data and reimport your shell history.

    brew remove atuin
    brew tap --force homebrew/core
    brew version-install atuin@18.12.1
    brew untap homebrew/core
I just reinstalled completely, by deleting the folder:

    ~/.local/share/atuin
then run atuin import.

Downgrade your atuin server to 18.12.1 and run the sync setup on your client(s): https://docs.atuin.sh/cli/guide/sync/

[−] semiquaver 56d ago
I’m baffled by how bitter and angry the comments are. Atuin is one of my favorite everyday tools and this release sounds great!
[−] GardenLetter27 56d ago
Atuin is great. This, fish, LazyGit, and zellij are mandatory for me now.
[−] h4ch1 56d ago
what does zellij offer that tmux doesn't?

I love tmux and haven't had a reason to switch for a while, but have heard these new Rust based terminal tooling get really popular.

[−] zenoprax 56d ago
If all you need is basic splits, sessions, and some simple templates/layouts (and like the convenience of knowing that tmux is widely available, and often installed by default) then you're fine to stay on tmux.

Zellij can do things like floating windows, contextual keybinding guidance (helps learn everything that can be done), and a more complex layout schema. You can disable all the UI eye-candy and switch to tmux-style bindings too.

It's worth trying out. I use both so that I can still function on systems without it.

[−] wredcoll 56d ago
Wait, tmux doesn't have floating windows? I really thought it did...
[−] 0cf8612b2e1e 56d ago
If you are comparing raw features, there is probably little to differentiate vs a legacy tool. However, the out of the box experience is fantastic, and the author has clearly put a lot of effort in their take without being locked into legacy decisions.

If you watch some of the screencasts and are not impressed, there is nothing more I can do to pitch the idea. My only complaint is that I feel like I am only ever scratching the surface of what the tool can offer.

https://zellij.dev/tutorials/basic-functionality/

[−] n8henrie 56d ago
A ton more conflicting keybindings.

I switched away from tmux a year or so ago due to one crash I kept getting, but thinking of going back. Really miss the simplicity.

[−] jxdxbx 56d ago
It's hard to use in so many apps unless you lock the keyboard.
[−] thehours 56d ago
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.

[−] thehours 56d ago
Update: I gave it a try and it does exactly what I hoped. However one (minor) annoyance I immediately realized was that with hex enabled I will get this warning whenever I close the terminal window:

> The terminal still has a running process. If you close the terminal the process will be killed.

Hopefully there is a workaround for this (I'm using then Ghostty emulator).

[−] ilvez 56d ago
I've always felt this fullscreen was too much for actual use. Eager to try it out.
[−] ilvez 54d ago
Just for random passers by:

I was using: eval "$(atuin init zsh --disable-up-arrow)"

Now need to workaround: eval "$(atuin hex init | sed 's/atuin init zsh/atuin init zsh --disable-up-arrow/')"

Probably should create a issue in tracker to point out that this use-case is currently not supported :)

[−] Myzel394 56d ago
I'm still looking forward to being able to only remember a command for a specific time. I currently block sensitive commands, which completely destroys the ability to just press the up arrow key to quickly edit the command. If we had like a timeout of 1 minute for sensitive commands, we could edit them and still make sure they are not persistent
[−] BinaryMuse 56d ago
I really like this idea — might give an implementation a shot
[−] skulk 56d ago
zsh doesn't add commands that start with a space to stored history. So you can up arrow recall them but once you exit the session they're gone.
[−] rahimnathwani 56d ago
Atuin AI sounds like a useful addition. The page suggests they're probably using hosted models:

  We use the latest frontier models, which already do a good job of generating commands using well-known binaries and CLIs. On top of that, we integrate a dataset powered by man pages and command outputs to ensure you get the correct command first.
This is great, but does it mean we'll need to log in somehow? It doesn't seem reasonable to expect the project maintainers to pay for the tokens.

EDIT: I was unaware of Atuin's 'hub' which does things like sync your shell history across computers. I think they use the same sign-in as they already use for that: https://hub.atuin.sh/register

[−] embedding-shape 56d ago
This part:

> On top of that, we integrate a dataset powered by man pages and command outputs to ensure you get the correct command first.

Also makes it sound like they're "providing that dataset", rather than generating that from the users computer. Wouldn't that mean it's potentially a mismatch between various versions of the software available? Not to mention some OSes will have a different version of some software available compared to others, how does it deal with those situations if they're shipping a dataset?

[−] _ache_ 56d ago
There is no way is it not generated on user computer.

"get the correct command first" and "shipping a [external] dataset" are incompatible.

[−] mtndew4brkfst 47d ago
[−] anamexis 56d ago
The Data Privacy paragraph would suggest otherwise.

> By default, Atuin AI knows nothing about your machine, other than the operating system and shell. This is the bare minimum required to generate a decent shell command.

> It will soon be able to ask you for access to more data - such as the current directory path, contents, git status, etc - but you must give permission first. This will happen in a similar way to existing agents, and be configurable to an even finer degree in your config file.

[−] duskdozer 56d ago
I was really pleased finding this last year, but I guess it's time to look for an alternative. I don't get why everything has to have AI shoved into it
[−] wswope 56d ago
Not to detract from your point, but I decided Atuin was feature complete enough for my liking over two years ago, and have been running the last v17 release ever since with zero problems.

You can still keep everything you like about the tool without issue, and to the devs’ credit, the sync server is some of the easiest software to self-host possible.

[−] Bnjoroge 56d ago
It’s optional- you can choose to opt in or not.
[−] imiric 56d ago
That's a poor argument that doesn't change the fact that any feature requires maintenance time and effort which for some users could be better invested in features they actually use, in improving overall stability, reliability, performance, etc. The more such unused features a product has, the less relevant it is for those users.

The question is, was adding "AI" to this product requested by most users, or was it done to tick off a marketing checkbox and capitalize on the hype?

[−] wswope 56d ago
What stability, reliability, and performance problems are you hitting with Atuin?

I posted a longer comment upthread, but I’ve been self-hosting and running an old version for over two years now, and haven’t had any recurring problems on those fronts. It’s pretty damn stable software and everything they’ve been doing lately has just been extra features and gloss.

[−] Bnjoroge 56d ago
Atuin is open source. You dont like their new release? Fork the previous repo, and customize it however you want. That's the whole essence of open source.
[−] jauntywundrkind 56d ago
It's open source software, so this attitude of "the work hours have to be spent how I want them to be spent" feels rather icky to me.

There's also a very weak souled scarcity mentality. It feels like you are working to take umbrage, to come up with outrage. Some users do find these features good and useful. That should be celebrated. Demanding features not be present? That's so condescending.

[−] imiric 56d ago
OSS is not immune to enshittification, and, in fact, is prone to it. It's not entitled to have the opinion that a piece of software might be heading in the wrong direction. Paying for software doesn't somehow buy you this right. What's icky to me is the idea that the opinion of users who support the author financially is more valuable than of those who don't, which goes against the entire ideal of open source.

Besides, VC-funded OSS often prioritizes the needs of its shareholders rather than its users. If you find these features useful, that's great. But there's no reason that they should be universally celebrated. The authors might want to listen to all viewpoints.

[−] cweagans 56d ago
“I want this feature” and “I want this feature to not exist” are fundamentally incompatible viewpoints when applied to any given feature. It seems like adding that feature and making it opt-in is a good middle ground. The people that want it can have it and the people who don’t want it can pretend it doesn’t exist. This outcome seems like the result of listening to all viewpoints, so I’m not sure what problem you’re trying to point out.
[−] ramon156 56d ago
Its also the Repo. There's a lot of AI-guided commits. I'm all for using AI in a reliable and safe environment, but letting Claude steer just leads to garbage
[−] stingraycharles 56d ago
I took a look at the repo, but i didn’t see any garbage commits / evidence of sloppy vibe coding.

Care to elaborate? Also, don’t you trust that an author knows what they’re doing with AI in the same way as trusting them with their regular code writing skills?

[−] quanwinn 56d ago
Using AI to code doesn't automatically mean bad code. Although I suspect the majority of AI code will be subpar.
[−] TechSquidTV 56d ago
So to be clear. You have no tangible complaints about the software or its quality, but you are dismissing it because of the potential for poor quality, because AI was assisting?
[−] Bnjoroge 56d ago
I’ve read and used some of the author’s software. I trust them to make good judgement of using AI.
[−] arcadianalpaca 56d ago
Right, though looking at the release notes it seems like the AI part at least is opt-in... for now.
[−] duskdozer 56d ago
For now. But looking at the repo, they're already having commits done by claude.
[−] dcre 56d ago
I looked at the repo and couldn’t even find an example, so it can’t be that many of their commits. But also: this is ridiculous. Whether the commit appears as done by Claude or not is a setting you can change. If they turned it off, you’d never even notice.

These are great developers and they’ve built an incredible tool. I use it a hundred times a day. It is very odd and dogmatic to think that because you saw a commit authored by Claude, whatever skills and qualities let them build something so good are now being thrown out.

Edit: I found one: https://github.com/atuinsh/atuin/pull/3231

Please, tell me where the bad code is in that PR. I see 200 lines of extremely straightforward Rust and 500 lines of tests for it.

[−] baq 56d ago
And this is bad why?
[−] ezst 55d ago
I never found a satisfying search algotithm with atuin (iterating over time between fuzzy, skim, fulltext, and maybe others). Is there one that is both:

- case insensitive (e.g. inputting "make" matches ("make install", "vim Makefile")

- works on partial matches (e.g. inputting "ma in" matches ("make install", "cd main")

?

[−] BinaryMuse 55d ago
The new "daemon-fuzzy" mode uses a new fuzzy matcher powered by Nucleo and might be what you're looking for
[−] ezst 55d ago
it seems indeed better in some ways, but the scoring is still way off,

for example, for my second criteria:

> - works on partial matches (e.g. inputting "ma in" matches ("make install", "cd main")

typing "ma in" I would expect "make install" to come before "cd main" to come before (what's currently the very first hit) "cd Binaries/Multimedia".

I'm now reading about https://docs.atuin.sh/cli/configuration/config/?h=fuzzy+daem... while not managing to really get what would seem natural. Sigh.

[−] BinaryMuse 55d ago
I'd start with setting the combined frecency score to 0 and testing out how the raw fuzzy scoring does. Then if you find you're having trouble finding recent or frequent commands, you can adjust from there. If you can't find a configuration that feels good, please feel free let me know in an issue.
[−] lta 56d ago
Why does every tool on the face of earth try to add AI features ? Good tools are simple and orthogonal. If you want AI, there's already plenty of other tools doing it probably better.

I'm overall fairly disappointed by this announcement. This IMHO doesn't bode well

[−] fragmede 56d ago
I had Claude write me fundcli, which goes over your atuin shell history and suggests places to donate to.

https://github.com/fragmede/fundcli

[−] jauntywundrkind 56d ago
Release notes have PR #'s but they aren't links. Would be great to linkify, so folks can more easily dive into bits that catch their eye.
[−] Myzel394 56d ago
atuin ai kinda reminds me of https://github.com/Myzel394/zsh-copilot (yes, that's by me :P)
[−] theusus 56d ago
All I want is auto complete for the commands on Windows. And none provides
[−] throwaway613746 56d ago
[dead]
[−] colesantiago 56d ago
As soon as a tool adds pricing, price increases or adds AI that's when it begins to be enshittified.

Why does this happen mostly?

[−] mpalmer 56d ago
I was already turned off by their decision to remove support for fzf, which I use everywhere else. I'm done.