iTerm2 3.5.0(iterm2.com) |
iTerm2 3.5.0(iterm2.com) |
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.
I guess if you knew nothing about iTerm2, OpenAI, or the myriad of open source tools that use OpenAI and/or are compatible with its API structure (aka, can use something like ollama/LMStudio/etc) you could think that there was some free tier or iTerm2 was footing the bill for the first X requests. Having used iTerm2 for many years and knowing how these types of features work (and knowing OpenAI itself doesn’t have a free tier) it was immediately clear that this was a “bring your own key”-type feature and a “it’s not going to do anything unless you supply a key”.
I used iTerm2 for the last decade or so without any complaints, but seriously, sneaking in features like this into a minor version and without upfront communication is poor form (as would be something less sinister like a Google search engine or StackOverflow integration, stuff like this is entirely unexpected in a terminal application). It's fine though, I will simply go terminal shopping again.
To work in tech and not have a surface level understanding of LLMs and the biggest player in the field, OpenAI is borderline incompetence in my book. You don’t need to be using it, you don’t need to like it, but you should be aware of it.
All of that is off topic though, there are countless settings in iTerm2 that I don’t use or don’t need, I don’t go complaining online about them or call them “sneaky”. The level of entitlement in these comments astounds me.
> stuff like this is entirely unexpected in a terminal application
Why? Because you wouldn’t use it? Should we remove tmux support because not everyone uses it? And who are you to say what should or shouldn’t be in a terminal? I think a “Google this line/error” or “search SO for this error” would be completely valid ____optional____ features for a terminal to have.
> It's fine though, I will simply go terminal shopping again.
I’ll take “things you won’t actually do for 100”
- Add AI-powered natural language command generation. Enter a prompt in the composer and select Edit > Engage Artificial Intelligence. You will need to provide an OpenAI API key since GPT costs money to use. - A new AI feature in the Toolbelt, "Codecierge", lets you set a goal and then walks you step-by-step to completing it by watching the terminal contents. It requires you to supply an OpenAI API key.
If you distrust iTerm 2 over this then why would you assume a checkbox would make a difference?
AFAIK using OpenAI through the webpage doesn't cost money, why should I assume that using it through the REST API is any different?
One side allows access via prompts for a fixed monthly fee.
The other allows access via an API that you must purchase credits in advance for.
If you don’t have an API key then there’s nothing for it to do because it won’t even begin to connect.
Again I’m not understanding why you feel a Checkbox is fundamentally better here…
...too late ;) I actually wasn't using any advanced iTerm2 features except installing color themes so no big loss. Right now I'm giving wezterm a try which looks pretty good so far. Next on the list is ghostty. All I actually need is a fast text renderer in a window which houses a shell (eg what a UI terminal usually is).
Should we remove tmux support because not everyone uses it?
tmux doesn't exfiltrate your data to third-party servers. I’ll take “things you won’t actually do for 100”
Wow.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.
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.
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.
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.
Alacritty? Kitty? Hyper?
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)
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.
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 :)
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 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.
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.
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.
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.
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.
I just use the default terminal that comes with macOS but was considering trying one of these ones.
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.
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.
There's a screenshot of how it should look like in Sparkle's project page.
Care to explain what's so "sneaky" about it? What did the iTerm2 dev do to you?
You saw the dialog. It's not so hard to verify again. Yet you so quickly accused me of lying. Shame on you.
It is _opt in_ and it’s not the main feature of this release. If it was the first slide you people would be complaining about that too. Maybe it’s best you just uninstall iTerm2 and use the default terminal if you can’t be sure you won’t trip one day, accidentally open the preferences, and enter in an OpenAI key by accident. Don’t forget to get a refund, oh wait…
Microsoft needs to tell their shareholders to fuck off and quit backseat driving, but Satya Nadella is just yet another CEO who trades profits today for the end of the company tomorrow.
Pass.
Consider any program or arguments you seldom use. Or come up with an api for ffmpeg that you think is optimally approachable and you'll see that it's so full-featured that you aren't going to keep it all fresh in your head when you use it every few months.
I'd rather let the computer do grunt work for me.
https://github.com/gnachman/iTerm2/graphs/contributors
But all of a sudden you now have people up in arms about how a spyware of a feature was sneakily forced upon them, and be righteous about it. This is sad.
To compare it to crypto is just silly. Yes they both are over hyped and use GPUs/power but that’s about where the similarities end. Real people (not just techbros speed-running why we have regulations in finance) get value from LLMs today, not some mythical “one day we will all use bitcoin”-bullshit.
I used to not want to use 1Password or any other hosted password manager like that. But I had to start using it for work since a couple of years ago and they also gave me a free personal account for it and when I experienced how much better it was than everything else, I started using it and haven’t looked back since.
I wish an equally awesome, but completely local and completely open source password manager existed.
Also, LastPass's Android app seems an afterthought.
Note that to make use of ollama, you'll have to wait for the next release or upgrade to a beta release --- while you can change the API right now it's using a newer format for the payload, that's fixed in the beta/next release.
The changelog reads
> You will need to provide an OpenAI API key since GPT costs money to use.
One can only misinterpret that to mean the feature is auto-enabled accidentally on purpose. The fact that you cared to edit your comment with that excuse but didn't retract even a single falsehood you spread all over this thread is bad enough. But to continue to pretend that it doesn't require a paid API key even after you explicitly acknowledged that it does? Outright malicious.
> AFAIK using OpenAI through the webpage doesn't cost money, why should I assume that using it through the REST API is any different?
> It requires you to supply an OpenAI API key.
As much as I dislike the current trend of "AI ALL THE THINGS", I don't think supporting it as a completely optional feature is in any way problematic.
There is no checkbox for that, at least I can't find any and I've been looking quite hard.
There is:
- a text input field for the OpenAI API key (by default empty)
- a text input field named "AI Prompt"
- a "Model" dropdown (which doesn't have a "None" option)
- ...and a Token Limit number input field
...that's it. It also doesn't say anywhere that the key field being empty means that the feature is disabled.
A better UI design would have been a checkbox at the top that's disabled by default, and all the detailed UI fields being greyed out and disabled until that checkbox is enabled.
If your auditor does not believe that with the checkbox unchecked and no API key provided, iTerm will not talk to OpenAI, how do they believe any other software you run does not secretly upload stuff to OpenAI?
What's different between a piece of software claiming to not support OpenAI at all vs. one that claims to support OpenAI if the user provides an API key in light of the possibility that both might be lying (if that's an auditors concern)
With iTerm your auditors at least get to check the source code...
> Everything that happens in your terminal while Codecierge is running will be sent to OpenAI. Don't send them confidential information!
And when you check the box "Run commands automatically" it shows you this popup:
> This lets an AI completely control your computer. It could delete your files, do something stupid or dangerous, or lead to the downfall of humanity. Proceed with caution.
Though that's the Codecierge feature "Toolbelt -> Show Toolbelt" + Toggle "Codecierge" toolbelt window. "Run commands automatically" is hilarious.
The simpler Edit -> Engage AI (Cmd+Y) feature seems much more useful for day to day stuff and it doesn't send terminal contents to OpenAI. e.g. Cmd+Y -> "Extract foo.tar in verbose mode".
That renders the LLM's response command in a small pane and you have to Shift+Enter to go ahead and paste it into the terminal. That's really nice.
Most of what I do in a terminal is confidential. I find it scary and also funny that in the age of data laws, privacy policies, data leaks, etc, someone thought this is an acceptable workflow.
Yeah they should make it so it mocks the user for attempting to set it to true and explain in select, direct, simple to understand words why that's a dumb idea and that obviously the user didn't read the disclaimer.
In the sidebar Codecierge convo they do give you a "Copy code" button whenever it detects code blocks. I think it'd be more practical to also add a "Paste and run" shortcut to each code block. i.e. A little "Play" button.
Aside, Codecierge doesn't seem to read the terminal contents like it says it should. If you ask it any questions or reference anything in your terminal, like an error in response to a command it gave you, it doesn't seem to have that context.
Make sure to add a note to the project’s privacy policy that user data is sent to openai.