修复
- macOS 下 spawn 打不开新终端:
osascript 之前用 cmd.Start() 且不 Wait,AppleScript 的报错被完全吞掉。最常见的失败是「自动化」权限(TCC)被拒的 -1743 —— 在 iTerm / Ghostty / Warp / VS Code 里跑 wtc 去 tell application "Terminal",系统弹窗点过一次"不允许"就永久静默失败。表现为界面照样提示"已打开新终端窗口",实际什么都没发生,也看不到任何线索。
改进
- osascript 改为同步执行 + 15s 超时 + 捕获 stderr:失败能看到真正原因,并正常回退到 print 模式
- 新增一条不需要任何授权的兜底路径:写临时
.command 包装脚本用 open -a 打开,不走 Apple Events,权限被拒也能开窗
- 识别 iTerm(
TERM_PROGRAM / __CFBundleIdentifier),优先在你当前用的终端里开窗;其他终端兜底 Terminal.app
- 兜底路径走
$SHELL -i 保证 rc 被加载,onSpawned 里写 nvm use / conda 这类命令仍然有效;临时文件后台延迟 30s 自删
- 提示里显示实际使用的终端:
已打开新终端窗口 (iTerm)
- AppleScript 字面量补上反斜杠转义(原来只转
",路径带 \ 会坏);Linux 分支的 Start() 错误不再丢
下载
go install github.com/FxRayHughes/worktreecli@latest