Skip to content

v1.4.9 – Fix Ghostty TCC prompt (use NSWorkspace)

Latest

Choose a tag to compare

@nathandale nathandale released this 25 Feb 00:07

What's fixed

Ghostty – no more Privacy & Security nag, and the permission no longer flips back.

Root cause

Every approach that runs the ghostty binary — whether via NSTask or AppleScript do shell script — triggers the macOS App Management TCC prompt against Shuttle. This is because the ghostty binary uses IPC to communicate with the running Ghostty.app process, and macOS attributes that app-to-app traffic back to Shuttle. App Management is a permission macOS will not let third-party apps hold permanently; the slider always resets.

Fix

Ghostty now opens via NSWorkspace openApplicationAtURL:configuration:completionHandler: — the official LaunchServices API. LaunchServices never triggers App Management TCC because it doesn't involve any app-to-app communication; it's the OS opening a new process directly.

createsNewApplicationInstance = YES is set so that --command=<temp script> arguments are always delivered on every click (per Apple docs, arguments are only passed on a fresh launch or when createsNewApplicationInstance is YES).

All other terminals (Alacritty, kitty, Hyper, Rio) are unaffected.