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.