Skip to main content
Solved

Disabling AI features in iTerm2?

  • September 23, 2025
  • 2 replies
  • 147 views

sdagley
Forum|alt.badge.img+25

Has anyone gone through the process of creating a Configuration Profile Applications & Custom Setting  payload to restrict the AI options in iTerm2 (the prefs domain is “com.googlecode.iterm2”)? And if so, can you post the profile in this thread?

Since I hate to re-invent the wheel I figured I’d ask before starting to build a payload for this from scratch…

Best answer by cwaldrip

I don’t have iTerm2 to test with, but try this…

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadType</key><string>Configuration</string>
<key>PayloadVersion</key><integer>1</integer>
<key>PayloadDisplayName</key><string>iTerm2 — Disable AI features</string>
<key>PayloadIdentifier</key><string>com.mdm.iterm2.disable-ai</string>
<key>PayloadUUID</key><string>REPLACE-WITH-UUID</string>
<key>PayloadScope</key><string>System</string>
<key>PayloadRemovalDisallowed</key><true/>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadType</key><string>com.apple.ManagedClient.preferences</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadIdentifier</key>
<string>com.mdm.iterm2.disable-ai.managed</string>
<key>PayloadUUID</key>
<string>REPLACE-WITH-UUID</string>
<key>PayloadDisplayName</key>
<string>Managed Preferences for iTerm2</string>
<key>PayloadContent</key>
<dict>
<key>com.googlecode.iterm2</key>
<dict>
<key>Forced</key>
<array>
<dict>
<key>mcx_preference_settings</key>
<dict>
<key>GenerativeAIAllowed</key>
<false/>
</dict>
</dict>
</array>
</dict>
</dict>
</dict>
</array>
</dict>
</plist>

 

2 replies

Forum|alt.badge.img+17
  • Valued Contributor
  • Answer
  • September 25, 2025

I don’t have iTerm2 to test with, but try this…

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadType</key><string>Configuration</string>
<key>PayloadVersion</key><integer>1</integer>
<key>PayloadDisplayName</key><string>iTerm2 — Disable AI features</string>
<key>PayloadIdentifier</key><string>com.mdm.iterm2.disable-ai</string>
<key>PayloadUUID</key><string>REPLACE-WITH-UUID</string>
<key>PayloadScope</key><string>System</string>
<key>PayloadRemovalDisallowed</key><true/>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadType</key><string>com.apple.ManagedClient.preferences</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadIdentifier</key>
<string>com.mdm.iterm2.disable-ai.managed</string>
<key>PayloadUUID</key>
<string>REPLACE-WITH-UUID</string>
<key>PayloadDisplayName</key>
<string>Managed Preferences for iTerm2</string>
<key>PayloadContent</key>
<dict>
<key>com.googlecode.iterm2</key>
<dict>
<key>Forced</key>
<array>
<dict>
<key>mcx_preference_settings</key>
<dict>
<key>GenerativeAIAllowed</key>
<false/>
</dict>
</dict>
</array>
</dict>
</dict>
</dict>
</array>
</dict>
</plist>

 


sdagley
Forum|alt.badge.img+25
  • Author
  • Jamf Heroes
  • September 26, 2025

Thanks ​@cwaldrip!

This will work to prevent users from enabling the iTerm2 Generative AI features but unfortunately it appears to just disable the UI associated with changing the AI options and doesn’t turn off the AI features if they were already enabled (same behavior as Apple’s MDM controls for iCloud options)