6 ms·
iTerm2 removes AI feature from core, creates separate plugin
- ggoo 2y agoGood.
- mmastrac 2y agoThe whole drama was pretty silly, and the fact that everyone got upset that a feature that is inactive by default, consumes no processing power, memory or anything else and bullied the author of the open-source program should make everyone unhappy. This is why open-source maintainers burn out and we can't have nice things. Honestly, people, please consider the human on the other side of the toxic discourse.
- WhereIsTheTruth 2y agoNobody likes when a company (commercial-proprietary) sneaks in your tools, either directly or indirectly Who knows if there was a deal made under the hood
- ThrowawayTestr 2y agoWhat deal? You can literally just read the source code if you don't trust the developer.
- atkailash 2y agoExactly. You have to provide it your own API key. If you don’t want it, don’t put it in and bam, no problem
- vasachi 2y agoSay they introduce a bug, that will try to call that API even when there is no key.
- moloch 2y agoSay they introduce a bug, that deletes every file on your machine.
- deleted 2y ago[deleted]
- shawnz 2y agoNot even that unlikely, for example consider the well known `rm -rf $STEAMROOT/*` bug in Steam some years ago
- brysonreece 2y agoAnd? Say your bank introduces a bug that siphons all your money; that’s the risk of operating in a digital age.
- adrianN 2y agoIf you're afraid that programs on your computer leak your data, run them in a sandbox with limited permissions.
- jedberg 2y agoIt's still an opt-in feature. The bug would have to be so bad that it calls that API even with the feature off.
- Suzuran 2y agoThis is what was claimed was happening. I received multiple warnings that iTerm2 was sending "all terminal interactions" to OpenAI's servers regardless of the absence of an API key. Packet captures showing "exfiltrated" data were represented as proof when those were created with an invalid API key, not a blank API key.
- mhurron 2y agoExcept that it can be. As was pointed out in the original issue to remove it, the feature is not disabled, it is unconfigured. Put anything in the box for the OpenAI key, valid or not, and the functionality to send data to OpenAI is active. Accidentally put a [space] in that box and it looks like there is nothing there, but it's doing things you didn't expect. That was the wrong way to do it. The feature should have been disabled with an actual, clear toggle that shows that it is. This blew up in the developers face for a good reason.
- stnmtn 2y agoYou still have to take the action to enable the AI features even if you just have a " " character in that field, no? It doesn't send anything to openAI until you open the prompt for it to do so.
- mhurron 2y agoAt the moment it appears that way, but that is still the wrong action. An unconfigured field is not a disabled function and there is no way in iTerm to disable the functionality. Also, the 'prompt to use OpenAI' is not OpenAI specific, it is a new button in a previous function that you could use in earlier versions for completely non-openai purposes. There isn't a OpenAI specific prompt area. If you leave the field empty (open to accident) and you don't press this button in this function that you may use for other things (open to accident) it doesn't send data where you didn't expect it to. This is functionally equivalent to you can accidentally send data you didn't mean to. This is simply prevented with a real toggle to disable the function. I don't know about you, but I have clicked on things I didn't mean to because I lost where the mouse is, or because I'm giving a window focus again, it is not an accident that doesn't happen.
- stnmtn 2y agoYou can accidentally click on this checkbox you're talking about, then accidentally click on the UI element that opens up the AI prompting mechanism, then accidentally type something in and send it as well. I don't understand this
- boringg 2y agoAgree - it really speaks to the issues around AI and how wrought that conversation has become. To your point that it is turned of by default - you have to opt in if you want it.
- rsynnott 2y agoIt's mere possible presence would probably be enough to get iTerm banned from more security-conscious companies, tho.
- lxe 2y agoIt was never really a case of "AI shoved down our throats" anyways. People just assumed it was and got their pitchforks and torches out. The feature was always opt-in. I'm sorry gnachman had to endure this nonsense.
- deleted 2y ago[deleted]
- irskep 2y agoEhhh...I can see how people interpreted it this way based on the way the onboarding screens looked. It was very jarring to open up my terminal one day and be greeted by yEt AnOtHeR gReAt Ai FeAtUrE. I imagine that emotional reaction is fueling the discourse quite a bit.
- add-sub-mul-div 2y agoOutside this bubble here, AI (in its most recent form) is pretty unpopular. No one wants a tool they like to be associated with this just like it would be annoying to start seeing ads in it.
- haunter 2y ago>Outside this bubble here, AI (in its most recent form) is pretty unpopular Funny because I experience the exact opposite. I see HN extremely negative about anything AI related while my personal acquaintance are excited and enjoying in their apps and tools they use
- whimsicalism 2y agoProbably the politically correct move given current tech politics
- alex_suzuki 2y agoThe comment for the change contains a note of bitterness: > I have two goals in this change: To allow developers in restrictive but technically incompetent organizations to continue to use iTerm2. That is, they disallow anything that could potentially exfiltrate data, but don't have their act together enough to implement MDM. So that people who hate AI can feel at ease that no AI will happen by accident without having to dig into the weeds of the implementation. https://gitlab.com/gnachman/iterm2/-/issues/11470#note_1917647951 https://gitlab.com/gnachman/iterm2/-/issues/11470#note_19176...
- rottencupcakes 2y ago[flagged]
- ThrowawayTestr 2y agoI'm sure he's tired from the horde of idiots angry that he implemented an entirely optional feature.
- asdajksah2123 2y agoEntirely optional features that have a history of not becoming optional anymore in many other applications and quite evidently can easily be installed as a plugin instead. Further, why in the world would you include a completely optional feature that runs afoul of many companies' software policies? And will be blocked by many companies even if it doesn't run afoul of their policies because nearly every competently run company will inspect software that claims to have AI features to understand the extent of the AI integration, but a significant portion of them will choose not to do that analysis for what's a fairly niche software that not only has many alternatives but is an alternative to an OSX built in feature and would block many of your users from using the application. Even if you disagree with the ideological dissensions, and even if you disagree with the slippery slope argument, why would you grumble about the practical scenario which would block your users from using the application. Especially when you have a fairly easy alternative of packaging it in a plugin.
- deleted 2y ago[deleted]
- janice1999 2y agoI'm not an iTerm2 user and the attitude of the developer in the response has certainly convinced me to never become one. I understand open source developers get burnt out, particularly with backlash from demanding users who contribute nothing in return, but the contempt for users with very valid concerns about AI and data leaks is not a healthy sign.
- ThrowawayTestr 2y ago>very valid concerns The AI stuff is disabled by default, the concerns are unfounded.
- jedberg 2y agoTheir concerns aren't really valid. It's an entirely optional feature. There is no functional difference between being in the core and being a plugin. Someone who wants to violate exfiltration policies can still do so with maybe one extra step.
- nimih 2y agoRight, there's no functional difference, but there certainly is a social and organizational difference: if a feature is provided as a plug-in, it makes it somewhat more difficult (and, importantly, clearly signals to the user that this is the case) for default-off to turn into default-on, or for optional to turn into required, neither of which is unheard of in modern software development.
- WesternWind 2y agoSeeing that made me worried but when I checked it was opt-in with an option to add an openAI API key, still this is better long term IMHO.
- glhaynes 2y agoPeople are making their whole personalities about being anti-AI. I'm personally a mix of skeptical+worried about AI; but at some point just being a reactionary ninny makes people tune out on whether there might be some truth at the core of your concern.
- ecjhdnc2025 2y agoIt's an interesting point. I too am deeply skeptical and worried, and I would be concerned people think I am "anti-AI". Which I am not -- not least because it's a sixty-plus-year-old discipline that has a development history that spans long before OpenAI and the current burst of empty calories. But if there's something I am building into my personality, it is rejecting (and calling out) grift. That is what makes me seethe about this entire big picture. The hype, the cultural parasitism, and the callous, blasé "oh yeah if you're not using this already you're probably fucked" FUD/FOMO shit smoothie that generative-AI people seem entirely too comfortable dishing up. People who even seem in a hurry to jump on that hype train are going to catch the same side eye. Re: iTerm2 specifically: I don't use iTerm2. I didn't mind it when I did. I wish the developer luck; terminal apps always need more attention. And in this case I don't think a tickbox to switch something on would trouble me. But if I really relied on a product, seeing its developer divide attention and start shoehorning in LLM APIs to gain a bit of contemporary relevance would at least slightly bother me. Like when one of your least rigorous-thinking friends or relatives starts talking to you about some opportunity to do with Ethereum. Not often a positive sign. (This Gitlab issue is not the silliest overreaction I've seen. At the height of the Apple/Samsung Android lawsuit proxy war, I once saw someone demand in a support thread that Wacom remove some Android connection tools that one or more of their smart tablets were using, because Android was "stolen property" or somesuch obviously Jobsian phrasing.)
- guitarlimeo 2y agoWell said and I share the same sentiment. AI is not inherently bad, but the hype and the culture surrounding it most certainly has at least weird if not bad vibes (looking at you r/singularity).
- _lvbh 2y agoThe comments are such a facepalm. > Increases the attack surface No it doesn’t. It fork/executes the plugin in a different process AND verifies the signature. If an attacker can replace the binary and do things with it, you already have a much larger problem. Even if they do, all it does is pass JSON around, it doesn’t allow you to execute anything from within iTerm (afaik) > It can be called by any process It’s not like they were storing your OpenAI API keys in some encrypted format in the first place. If you’re that paranoid, you aren’t gonna be using the AI feature in the first place. One valid concern I can think of is TCC escalation on MacOS since fork/exec is executed in the context of iTerm. I don’t know if signatures are verified before or after running but the binary probably won’t even run without being signed by a paying Apple Developer anyways. Edit: commenting on the change, I think it was just fine as is. AI is annoying but it was off by default. Based on the author’s comments, they don’t seem to intend on pushing it in people’s face, just something fun and optional
- fathyb 2y ago> I don’t know if signatures are verified before or after running but the binary probably won’t even run without being signed by a paying Apple Developer anyways. It's before. You can code sign and verify macOS binaries with any certificate you wish, including a self-signed one (useful in case you want your private iTerm fork). Note the plugin should be signed with the same certificate as the iTerm app [1], just using a paid account won't work. [1] https://gitlab.com/gnachman/iterm2/-/blob/b0e6b336a6be9bca003cefda0f2eb379343a98d6/sources/AITerm.swift#L29-60 https://gitlab.com/gnachman/iterm2/-/blob/b0e6b336a6be9bca00...
- ComplexSystems 2y agoThat guy in general was clearly just trolling. If you go further up, you can see that everyone's mostly happy with the solution to have a separate plugin for this but him. His first reason was that he just didn't want to see the other side win because it makes him "feel like a 2nd class community member." Then he switched his argument to that the new method would "have security concerns," again just to keep the whole thing going. It's terrible that the dev has to deal with this kind of thing.
- Cu3PO42 2y agoI feel really sorry for the developer. I've only been a casual observer, but from my view point the community's reaction was... not great, to put it lightly. I get that a lot of us are tired of 'AI' being shoved down our throat at every possible turn. I get that a lot of us have privacy concerns. I get that maybe you don't want it in your terminal emulator. But iTerm is a free (both as in gratis and as in libre) open source project. The developer released a feature that they were probably happy and excited about. It was off by default and didn't siphon data or do anything malicious. And a ton of reactions were as if iTerm had just added the devil incarnate or attacked people personally. Disliking the feature is fine. Voicing your concerns and feedback is fine. But it should always be gracious and in good faith. I think this is a good change, if only to pacify the masses, and I applaud the developer for taking these steps, but I don't like how we got here. EDIT: gnachman, if you're reading this, thank you for your tireless work on iTerm. It serves me extremely well whenever I'm on macOS and holds a special place in my heart. I bought a MacBook in 2013 and it was the first *nix system that I daily drove as a desktop for a long time. I installed iTerm 2 in my first week and it was a constant companion for many years.
- akira2501 2y ago[flagged]
- matwood 2y agoWhy does a developer for an OSS project add any feature? They felt like it.
- zeroxfe 2y ago> why did the developer decide to add the feature in the first place? Was it community feedback or some other mechanism that inspired this choice? You're moving the goalposts and again putting the developer in a position where they have to justify themselves. Which they don't. As GP puts it: "But iTerm is a free (both as in gratis and as in libre) open source project. The developer released a feature that they were probably happy and excited about."
- tgv 2y agoA bit ironic, but I think he would have had more success if he had turned it into a paid feature.
- irskep 2y agoThis is an unfortunate failure of community engagement. Apparently the feature was in beta for months, but given that most people don't use the beta or follow the development of their terminal emulator, it shouldn't be a surprise that there was pushback after release. Usually when introducing a controversial change, you want to do additional community outreach. It's also a minor UX failure. The onboarding screens weren't loud enough about the need to provide an API key. I really feel for the maintainers here. They added a cool thing to their popular-for-a-reason terminal emulator, and (from their perspective) people lost their minds over a misunderstanding or (again, from their perspective) unreasonable expectations.
- lxgr 2y ago> I have two goals in this change: > To allow developers in restrictive but technically incompetent organizations to continue to use iTerm2. That is, they disallow anything that could potentially exfiltrate data, but don't have their act together enough to implement MDM. > So that people who hate AI can feel at ease that no AI will happen by accident without having to dig into the weeds of the implementation. That sums this entire drama up pretty well.
- joshstrange 2y agoThis whole ordeal was absolutely absurd and anyone who commented on that Gitlab thread, here on HN, or on other social media are the biggest bunch of entitled crybabies I've ever seen. I've said my piece on this many times over the last few days here on HN so I won't repeat myself but if you were one of the people complaining then I want you to know in no uncertain terms that you are what's wrong with open source and you are why people don't want to maintain open source projects, you should really be ashamed of yourselves.
- ziml77 2y agoSeriously. It's awful to see people accusing him of jumping on the hype train and making it out as if him adding an AI feature is going to make him any more well known or wealthy. Like how about at least considering that he finds ChatGPT useful for coming up with commands and decided it made sense to integrate it into the sidebar toolbelt where he already has tools like paste history, a notepad, and directory history.
- ChrisArchitect 2y agoRelated: iTerm2 feature request: disable all AI-related features https://news.ycombinator.com/item?id=40434091 https://news.ycombinator.com/item?id=40434091
- ChrisArchitect 2y agoRelated: iTerm2 and AI Hype Overload https://news.ycombinator.com/item?id=40432446 https://news.ycombinator.com/item?id=40432446
- dangerwill 2y agoI feel like this developer was treated with the same level of trust (0) that big software companies receive nowadays after repeatedly violating the trust of their users. That may have been unfair, but for him to be this caustic in his response for a bad feature that should have been segmented away via a plugin from the very beginning is a bad look. He jumped on the bandwagon, while not accurately gauging where public sentiment was and got burned. I'm at least quite glad that he listened and moved it into a separate plugin.
- bangaladore 2y agoI'd suggest everyone go read the issue thread (https://gitlab.com/gnachman/iterm2/-/issues/11470 https://gitlab.com/gnachman/iterm2/-/issues/11470) before commenting. It seems abundantly clear that people are being overly negative about a feature that realistically has no security concerns (even as originally developed). Many commenters did not even know how the feature worked (assumed all keystrokes were being sent by default, etc...) One outright said that the feature should be removed because the developer must "stand against OpenAI and the whole "AI" industry." To me this just seems like a lot of people whining and trying to inject politics and unfounded safety concerns into a good implementation of something that many people like. This is an opt-in feature. It has a separate panel to even interact with it. And you need to provide a valid openai API key to use it.
- TheCoreh 2y ago> I don't care if there's a buried flag that enables or disables this behaviour. I want a binary that doesn't have this capability in it at all. That's a rather absurd way of approaching the threat model of data exfiltration on a terminal app. By its very definition a terminal needs the ability to spawn unsandboxed processes and send/receive input from/to them, including processes that have network access. Even if the binary doesn't contain specific logic to do this it could invoke curl, or a variety of other binaries that do, either on purpose or accidentally. In addition, it links against AppKit, which includes NSURLRequest. Is that off-limits too? If one's this allergic to OpenAI, that even an opt-in feature is a concern, they're better off using a firewall like Little Snitch, or blocking it at the DNS level. Additionally, if you don't trust the developer with this, why would you trust a binary from them without this feature?
- bangaladore 2y agoAgreed. This issue thread makes it apparent why many open source developers give up.
- bithavoc 2y agoand then we complain open-source developers abandon projects, we literally just had to not use the AI feature.
- baklofen 2y ago[dead]
- turtlebits 2y agoTangentially related, but Warp (another terminal) also integrated AI. Looks like they recently turned on quota for free users as I started hitting a paywall. I've immediately uninstalled it as there is no way to disable it.
- segasaturn 2y agoPeople claiming that the negative response to OpenAI integration into iTerm is a knee-jerk reaction by a bunch of AI haters I think are missing the point. a) Putting an LLM into iTerm introduces almost no benefit that I can think of, other than "shiny new technology", and is a waste of time and resources. I've heard some people suggest that putting an AI prompt into the terminal could be helpful for generating commands for difficult applications like FFMpeg, but you can also do the same thing by just asking ChatGPT in your browser and copying/pasting, which is what we've always done b) More importantly, I absolutely do not want there to be any code in the terminal that writes commands for me or on my behalf. The command line is intimately connected to the OS and has access to every file, environment variable and socket on my system. iTerm just had to patch a bug where its URL handling and link previews was causing a remote code execution, so I would have expected this "feature" to cause security issues in the same way Terminals are also just a fundamentally conservative application. Shiny new technology has never been a clean fit into terminals. Imagine if iTerm decided to integrate NFTs and crypto, or optionally link your Meta account so you can use your terminal in Virtual Reality, would probably draw a similar negative response.
- int_19h 2y ago> you can also do the same thing by just asking ChatGPT in your browser and copying/pasting, which is what we've always done The whole point of software to reduce this kind of tedious manual work. You can also do the same when writing code instead of using Copilot, for example, yet the latter significantly improves productivity in practice precisely because it's one hotkey away. > More importantly, I absolutely do not want there to be any code in the terminal that writes commands for me or on my behalf. Have you actually tried to use this feature? At no point does it submit commands directly to the terminal. It has to be explicitly enabled, for starters, by setting it up with a valid API key or custom server URL. Then you need to activate a specific command to open a textbox where you type in your input. Then you get the result back, and you have to use yet another shortcut to actually run the resulting command. There's just no way to trigger this stuff accidentally. You have to very deliberately carry out several steps to get to the point where there's any commands being generated at all, much less actually running on your system. > Imagine if iTerm decided to integrate NFTs and crypto, or optionally link your Meta account so you can use your terminal in Virtual Reality, would probably draw a similar negative response. Your examples are fundamentally different in that they don't add any clear utility to the core function of the terminal, which is interacting with the shell.
- deleted 2y ago[deleted]
- cynicalsecurity 2y agoThis is pure craziness. Why would anyone think integrating AI into the terminal would be a good idea?
- shadeslayer_ 2y agoThe sense of entitlement that people have for something they will never pay for is.. crazy.
- amanzi 2y agoFrom reading the linked issue thread, it doesn't sound like this title is correct. The AI feature has not been removed from iTerm2, instead they have created an additional plugin that is required to make the AI features work. BTW - I'm not complaining about whether AI is included or not, just pointing out that the title is incorrect. Here's the link to the plugin: https://iterm2.com/ai-plugin.html https://iterm2.com/ai-plugin.html From the description: "It provides necessary functionality for iTerm2 to make network requests."
- soraminazuki 2y agoSome behind the uproar was acting in extremely bad faith. People were and still are making claims that the initial implementation can make it easy to accidentally send all of your keystrokes to OpenAI. This is not how the feature works at all. It needs explicit user interaction to use. You open the "Codesierge" toolbox and type in a question, which is a lot of clicks and typing. Yet people are posting on Mastodon and elsewhere that "accidentally" setting the API key to a non-empty value in preferences is enough to make iTerm2 send every keystroke to a third party. Worse yet, someone pointed out in the GitLab thread that there's a call for violence against the dev by one of the participants. And sure enough, there it was on Mastodon and it's quite horrific. iTerm2 is a gift. The dev makes his ideal terminal and we can use it if we like it. Feedbacks are fine and from my past experience welcomed, but this is something else entirely.
- deleted 2y ago[deleted]
- novoreorx 2y agoffs, you guys don’t deserve the hard works from open-source developers