Alacritty? Kitty? Hyper?
This manufactured outrage is absurd. iTerm2 has been the most solid and conservative terminal I’ve ever used and people are pretending they jumped the shark with this feature.
Nobody actually believes OpenAI is giving away billions of dollars in free compute just so we don't have to memorize awk syntax...
iTerm, since they don't do that. Just keep it disabled.
Unless you consider any terminal that lets you make network calls to OpenAI = OpenAI snooping around.
It has been a while since the last release… I don’t mind staying outdated for some more time.
Also, I’m not sure if the openai thingy is mandatory.
The Preferences panel doesn't have a single indicator which says whether the AI integration is activated or not. It's probably just bad UI design and not mischief, but I was instantly put off by what initially looked like a dark pattern.
PS: even the changelog doesn't explicitly state that the feature is disabled by default, only indirectly by stating that one needs an OpenAI key because requests cost money.
The AI features are but 1 minor aspect of this release, they are optional, you can change the URL to point to a local LLM, yet people are pretending like all your data is going to be sent to OpenAI if you update.
I’m not sure if people are being intentionally daft or are just not reading anything past the word “AI” (which, again, isn’t even listed as the top feature of this release).
If you don’t want to use it, don’t put in an API key. It’s not like you are going to accidentally enable it.
iTerm2 is one of the most solid pieces of software in use on a daily basis. To the point that I often forget it’s not a default/included app. It has a million configuration options and it makes complete sense for them to /offer/ /optional/ AI/LLM features.
Security departments of these corps are constantly pleading with their staff to "please stop sharing corp data with LLMs, you're not allowed to do that", all the while staff feel under pressure to deliver faster, and reaching for whatever tools are available.
The temptation to use it will be irresistible to many, especially juniors/temps competing for limited positions and promotions.
From a regulated corp point of view, why would they risk it, and rely on individual staff conscience, knowledge, and ability to estimate risk? Better to neutralise the risk from the outset by banning use of the software. Plenty of other terminals where this can't be enabled at all by any over-excited staff.
I'd expect then that if the security department is worried about people obeying a "don't use unauthorized LLMs" policy to be blocking access at the network level.
I think this demonstrates the risks of jumping on a bandwagon. When software companies (in general, not iTerm2 specifically) overuse a term, including outright lying to attach a buzzword to basic features that are nothing to do with it, many people respond with an equal and opposite reaction: distrusting use of the term altogether.
Are people overreacting for something not enabled by default? Quite possibly, but literally today open ai is getting in trouble for almost certainly using Scarlett Johansson's voice, even after she specifically told them "no". They're already giving all the indications they don't care about consequences to abuse.
And the URL for the AI API shouldn't be buried in the advanced settings.
There are clear explanations in the release notes and the wiki entry linked from the relevant place in the preference pane [1]. The full release note is displayed before updating. There are numerous comments here explaining how it's impossible to accidentally enable the feature. It's opt-in, you have to input a paid API key, you can use a offline model instead, and the data it sends are totally customizable and by default limited to the output of "uname" and the prompt that you explicitly enter.
Yet people are ignoring all of that and writing all sorts of misinformation.
iTerm2 is featureful yet solid, constantly improved on, doesn't work against the user, and is free. I've submitted patches before and the author was nice and responsive. The AI feature is minimal, non-intrusive, and doesn't advertise its existence once you decided not to opt in unlike commercial products hyped up about AI. It's thankless work even without HN piling on and the author deserves much better.
The most obvious concern is that it becomes non-optional in future, but there are plenty of related concerns ranging all the way up to the general principle of the use of AI technology.
People getting all up in arms over an optional feature…
One has to not only enable it but also provide an API key first.
I’m failing to see how “off by default” is a worse option here…
There's an empty API key text field and a prepopulated OpenAI URL. It's not clear at all that an empty API key means that no requests will be made.
What exactly is “watching the terminal contents”? Does this happen locally or is data sent to a third party?
If a third party is involved, what data is shared exactly?
Here's the default prompt:
> Return commands suitable for copy/pasting into \(shell) on \(uname). Do NOT include commentary NOR Markdown triple-backtick code blocks as your whole response will be copied into my terminal automatically.
> The script should do this: \(ai.prompt)
If they want to allow extensibility for the explicit purpose of Llm integration then why not just… make an API?
OpenAI's API is the de facto standard for now, it's not up to iTerm to define a standard.
I like how easy it has been to manage Unix terminal keys without giving up non-US keyboard altogether. Other Unix/Linux terminal stuff like middle click/tap paste. Search is good. Hotkey window ("Quake" mode") is a fun one, but never seem to remember to call it. Contrast adjustment to tweak themes for readability. Smart Selection for urls and the like.
But I've been an user for many years, so hard to look at the experience through features.
All software where it makes sense, yes. AI/LLM are a tool, especially efficient with text, so having terminal integration will be useful to some.
Honestly if an AI can annotate some obscure command line errors with an explanation and a possible fix, I'm all for it. If an AI can help me generate jq filters, I'm all for it. If an AI can help me in any (non intrusive/obnoxious) way, I'm all for it.
It's ok to not like and not use AI features, but completely rejecting them altogether is a mistake.
In iTerm's case, I like this ability to cmd+Y -> "start a static http server here" -> it responds "python3 -m http.server 8000" and I easily shift+enter to run it.
As opposed to alt-tabbing to my browser, opening an LLM (or google, yuck), asking it a question, and the copy and pasting stuff back into my terminal. That might be the familiar / old way of doing everything but it's not the pinnacle of workflows.
To my mind I just want the terminal to render text and handle input, and then it's my shell's job to define behaviour of commands etc.
I find that a super helpful distinction- what if you like iterm but want a different shell like fish or xonsh? How does the LLM integrate there? Is it still gonna spit out zsh commands?
I'm not an apple user, so maybe I'm missing something abouf iterm?
The composer is a small native popup that allows you to edit a command using a native textbox instead of interacting with the terminal, and then send it all at once. The AI stuff hooks into this.
I actually prefer the Lua config script instead of that messy iTerm2 preferences panel.
- The password manager can now use LastPass or 1Password rather than the keychain. Use the (⋯) menu next to the search field to configure it.
I miss the text encoding menu in Firefox :)
Also, it would make a lot of sense to have an option to use a local ollama instance instead--otherwise this just feels like a cool feature that seemed like a good idea at the time, and not something thought through where it regards privacy and likelihood of damage.
I would like to use LLM as a helper directly. I wouldn't enable it on main profile and user account, but in a separate profile with restricted account it can be useful. I already do copy paste from LLM, which is far slower than this new feature (though of course more controlled).
Depends how you use it. For example, writing jq filters, or awk scripts, or some shell pipelines is always a bit of a pain. It's something where LLMs can really improve quality of life.
It's a bit of a shame to see an open source product makes an "OpenAI" only integration when they could have make it work with minimal effort with the free and open alternatives (ignorance maybe). Hopefully I can contribute that.
https://gitlab.com/gnachman/iterm2/-/blob/master/sources/iTe...
Anyway, it doesn't work with ollama's openai compatibility API.
If there is one thing I could add to it, I really would like "IDE style autocomplete", like fig promised, and I guess that warp terminal or whatever it's called.
Right now when I press "CMD+;" it pops up an autocomplete style box, I would just like to have pretty much that but always on, and filled with suggestions for the command being typed, like an IDE or code editor with a language server.
I know I'd get a lot more use out of that than any kind of AI feature – but in the end it's a free tool and has served me well, I don't want to complain about it, I would recommend it to anyone.
There is this: https://github.com/microsoft/inshellisense?tab=readme-ov-fil...
But it doesn't look really "seamless" to me yet, though admittedly I did not give it a proper try.
I just use the default terminal that comes with macOS but was considering trying one of these ones.
https://techhub.social/@gnachman/112481098349565431
https://techhub.social/@gnachman/112481098800427110
I’m happy to discuss the tradeoffs.
There’s a change coming in the next dot release so managed environments can disable all generative ai features. I’ll keep an eye out for what others do in this regard to support enterprise users.
This pairs well with the recently released neovim 0.10 support for OSC 52 to interact with the clipboard.
"Junior developer at <big-corp/gov-org> exposed and then deleted all customer/citizen's data after enabling AI integration in popular IT tool 'iTerm', and allowing AI to 'Run commands automatically' on the <big-corp/gov-org> systems."
And we'll do it to ourselves with our race to the bottom - clueless middle managers pushing for "more performance" and creating zero sum competition environments. If I were a junior dev today, I'd feel like I need to enable AI everywhere to compete and survive.
AI is fine. iTerm2 is awesome. You are a bunch of ingrates complaining about living in an age of miracles and wonder.
Could things go badly some day, sure. Is it ok to have ethical concerns about where AI fits in, sure. Is it reasonable to whinge like this? Only if you are a dogmatic fool.
Seriously, though, iTerm is an absolute beast. I'm using it every minute of the day for the last like ten years or so, on beta channel.
I absolutely love this:
> If you use shell integration and the output of a
> command goes past the top of the screen, the
> command will be shown at the top.