Skip to content

feat(launcher): probe ~/Applications for bundles, translate TCC errors - #423

Merged
clcollins merged 2 commits into
mainfrom
srepd/macos-terminal-phase3
Aug 11, 2026
Merged

feat(launcher): probe ~/Applications for bundles, translate TCC errors#423
clcollins merged 2 commits into
mainfrom
srepd/macos-terminal-phase3

Conversation

@clcollins

Copy link
Copy Markdown
Owner

Summary

  • Probe $HOME/Applications/ in addition to /Applications/ for macOS bundle detection (kitty, alacritty, wezterm) and iTerm2 — /Applications/ takes precedence when both exist
  • Translate cryptic macOS TCC/osascript error codes (-1743, -600, -10810) into actionable messages guiding users to System Settings > Privacy & Security > Automation
  • Update validateTerminalExists to check both iTerm.app locations before warning
  • Update docs/terminals.md detection section and remove resolved known limitations

Test plan

  • go test ./pkg/launcher/... -count=1 — 4 new detection tests for ~/Applications probing
  • go test ./pkg/tui/... -count=1 — table-driven translateLoginStderr tests + handler-level TCC guidance test
  • make test-all — full CI suite passes
  • Verify make readme-check passes (README updated)
  • macOS: not testable in CI; validated by injectable fakes in unit tests

🤖 Generated with Claude Code

clcollins and others added 2 commits August 10, 2026 13:12
Probe $HOME/Applications/ in addition to /Applications/ for macOS
bundle detection (kitty, alacritty, wezterm) and iTerm2 validation.
/Applications/ takes precedence when both exist. Translate cryptic
macOS TCC/osascript error codes (-1743, -600, -10810) into actionable
messages guiding users to System Settings > Privacy & Security >
Automation.

Created with assistance from Claude 🤖 <claude@anthropic.com>

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Christopher Collins <collins.christopher@gmail.com>
Match osascript's parenthesized form (-1743) instead of bare -1743 to
avoid false positives on -6000/-6001/etc. Lowercase stderr before
textual comparison so "Application isn't running" matches real macOS
output. Added test for bare code non-match and capital-A text match.

Created with assistance from Claude 🤖 <claude@anthropic.com>

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Christopher Collins <collins.christopher@gmail.com>
@clcollins
clcollins force-pushed the srepd/macos-terminal-phase3 branch from c82abcc to e1e3e5d Compare August 10, 2026 23:12
@clcollins
clcollins merged commit 7f79043 into main Aug 11, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant