Skip to content

Add Tahoe "Allow in Menu Bar" detection + user guidance dialog#945

Merged
steipete merged 2 commits into
steipete:mainfrom
pdurlej:feat/tahoe-allow-in-menu-bar-detection
May 14, 2026
Merged

Add Tahoe "Allow in Menu Bar" detection + user guidance dialog#945
steipete merged 2 commits into
steipete:mainfrom
pdurlej:feat/tahoe-allow-in-menu-bar-detection

Conversation

@pdurlej
Copy link
Copy Markdown
Contributor

@pdurlej pdurlej commented May 14, 2026

Fixes #890.

Summary

  • Add a Tahoe-only startup watcher that checks whether visible NSStatusItem buttons actually materialize in a menu bar window/screen.
  • Log an error when the status item appears blocked by macOS' new Menu Bar allow-list.
  • Show a dismissible guidance dialog with a direct x-apple.systempreferences:com.apple.MenuBarSettings button.
  • Persist the guidance state with hasShownTahoeAllowListGuidance, while allowing it to reappear after 24h if the condition persists.
  • Cover the detection and re-show policy with focused tests.

Dialog copy

Title: CodexBar can't show its menu bar icon

Body: macOS Tahoe can block menu bar apps in System Settings → Menu Bar → Allow in the Menu Bar. CodexBar is running, but macOS may be hiding its icon. Open Menu Bar settings and turn CodexBar on.

Buttons: Open Menu Bar Settings / Dismiss

Notes

Apple does not expose a public API for the Tahoe allow-list state, so this is intentionally a best-effort heuristic. It only runs immediately after startup to avoid confusing later manual hiding tools such as Bartender with the system-level block.

Root-cause context came from the community diagnosis in #890: #890 (comment)

Testing

  • DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer swift test --filter MenuBarVisibilityWatcherTests
  • DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer swift build
  • DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer make check
  • git diff --check

One local note: the default Command Line Tools developer dir failed on KeyboardShortcuts #Preview macros, so the successful build/test/lint runs above use the full Xcode developer dir.

@steipete steipete force-pushed the feat/tahoe-allow-in-menu-bar-detection branch from 4c3cfad to 3b1cd70 Compare May 14, 2026 07:39
@steipete steipete merged commit e6ea0ae into steipete:main May 14, 2026
1 check 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.

v0.25: Menu bar icon does not appear, CLI Operates

2 participants