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)
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.
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
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?
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.
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
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.
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.
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.
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).
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
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
> 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?
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.
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
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.
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?
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.
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.
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.
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.
“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.
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
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?
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?
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.
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:
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.
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
81 comments
[0]https://github.com/junegunn/fzf
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.
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.
I have its search bound to ^r and use Fish shell’s own search for most things, with cross-machine search a keystroke away.
[1] https://github.com/cantino/mcfly
[2] https://github.com/alexpasmantier/television
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.
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/
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.
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.
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/
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.
Losing some of the scrollback was a minor nuisance that I kind of lived with until now.
hexenabled 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).
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 :)
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
> 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?
"get the correct command first" and "shipping a [external] dataset" are incompatible.
https://github.com/atuinsh/atuin/blob/5f279584f4f6532871a74d...
> 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.
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.
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?
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.
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.
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.
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?
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.
- 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")
?
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.
I'm overall fairly disappointed by this announcement. This IMHO doesn't bode well
https://github.com/fragmede/fundcli
Why does this happen mostly?