iTerm2 Update: AI stuff is gonna be in a plugin

Published on , 1131 words, 5 minutes to read

You'll need to install something else to use the AI features in the future, you can put down your pitchforks now.

An image of An exhausted green-haired green-eyes anime woman in a dark hacker nest with a laptop and a cup of coffee, looking at the viewer.
An exhausted green-haired green-eyes anime woman in a dark hacker nest with a laptop and a cup of coffee, looking at the viewer. - Kohaku XL

A fair bit has happened since my last article about the iTerm2 AI integration fiasco and I wanted to give an update on the situation. First, I want to apologize for a critical error I made that I didn't catch until after the article was published.

I fucked up in the last article

In the initial draft of my last article, I fucked up by claiming that iTerm2 was not open source. The source for iTerm2 is on GitHub.

This is on me, I was frustrated and rushed that article out as a semi-lucid rant about people misconstruing the situation. I know that there are people out there that did not see the correction (let's face it, my bounce rate is nearly 100%, people click to read an article and then immediately leave) and I didn't find out about my error until my article was on the front page of Hacker News.

Cadey is coffee
<Cadey>

Honestly I was surprised it did so well on Hacker News in the first place, these kinds of posts rarely perform well in general, especially on aggregators like the orange site. In general, the "notes" section of my blog is intended for lower-effort things like work-in-progress snippets, patron-exclusive articles, and other things that historically perform badly. It's a big part of how I combat the Tengen Toppa Gurren Lagann grind of feeling like I have to make everything bigger, better, and more grandiose than the last thing I did.

I fucked up. Here are the things I tried to do to rectify my error about the situation:

I know that there are some of you that see this error as a large breach of trust, and that is justified. I plan to be more cautious in the future, but this one is on me.

iTerm2's AI Plugin

I've been following the issue thread where people have been asking for a build of iTerm2 that doesn't contain any AI related code. The maintainer of iTerm2, George Nachman, has been very responsive to the feedback and has decided to move the AI features into a plugin that you can install separately. Here are the relevant changelog notes:

This beta adds some safety valves to eliminate the risk of private information leaving the terminal via the AI endpoints. While an API key and explicit user action were always needed to use AI features, some users asked for an impenetrable firewall for safety and regulatory purposes.

To that end, there are three relevant changes:

  1. Code that communicates with AI providers has been moved into a plugin that you must install separately. Enterprise system admins can block bundle id com.googlecode.iterm2.iTermAI to prevent it from being installed in the first place.

    See here for details: https://iterm2.com/ai-plugin.html

  2. In addition, you must manually enable AI features in Settings. Doing so requires admin access.

  3. Administrators who wish to disable iTerm2's AI access may set the user default GenerativeAIAllowed to False in their MDM systems.

I think this is an acceptable compromise. I agree with the sentiment that the AI features MUST be opt-in, and I'm glad that there's an option for people like me to be able to make use of those features when we want to. I'm also glad that it's a heavily opt-in process, requiring admin access and installing separate programs that can be easily filtered out by enterprise administrators.

I haven't tested the AI plugin beta build yet, I can wait until it's in a stable release. I hope Greg and the others that hack away at iTerm2 have gotten some rest after the last few days of dealing with this.

I don't like to announce this stuff in general, but I have joined the iTerm2 Patreon at the $10 per month tier so that I can help support the development of a tool that I use every day. If you use a tool regularly enough to the point that your workflow would be impacted by it no longer existing, you should be supporting it financially so that the people that make it can continue to do so.

A small experiment with posts like this

As I'm sure you've seen, I've been experimenting with "cover art"/"hero images" for my blog for a while now. I've also been experimenting with making "social images" out of these hero images with Figma. This is purely an experiment to see what people think. Here's the social image for this post:

An exhausted green-haired green-eyes anime woman in a dark hacker nest with a laptop and a cup of coffee, looking at the viewer. White text with a black outline says: 'iTerm2 Update: AI Plugin'.
An exhausted green-haired green-eyes anime woman in a dark hacker nest with a laptop and a cup of coffee, looking at the viewer. White text with a black outline says: 'iTerm2 Update: AI Plugin'.

When you post this on social media, it'll show up with this image. I'm curious to see if this increases engagement.

Here are some others I've made in the past, but haven't published as openly yet:

I kinda like how Figma lets me have a big collection of all of the images in one grid:

The hard part is avoiding the temptation to make that one joke that the more immature part of my brain wants to make like:

Numa is delet
<Numa>

Aoi, Have you heard about Figma? It's a terrible disease that trillions of Americans die from every year.

Aoi is wut
<Aoi>

Huh? What's Figma?

Numa is delet
<Numa>

Figma b...

Cadey is angy
<Cadey>

No.

I'm sorry, I'll see myself out.

Cadey is facepalm
<Cadey>

Amazingly, while I was writing that Copilot autocompleted Numa's line with the juvenile joke we're all thinking about:

Numa is delet
<Numa>

Figma balls lmao


Content generated by AI using the model GitHub Copilot.

Facts and circumstances may have changed since publication. Please contact me before jumping to conclusions if something seems wrong or unclear.

Tags: