Skip to content

Menu bar icon never appears — CLIProxyMenuBar binary has no code-signing entitlements, malformed Accessibility TCC request #528

Description

@ryancnelson

Summary

VibeProxy launches (background processes start and stay running: CLIProxyMenuBar and cli-proxy-api-plus) but never shows a menu bar icon, so there is no way to access settings or quit the app via the UI. Confirmed reproducible on the latest release (1.8.280, today's build) as well as the prior 1.8.267.

Root cause found via Console/log investigation

log show --predicate 'eventMessage CONTAINS "CLIProxyMenuBar"' shows this repeating every time the app is opened:

tccd: [com.apple.TCC:access] TCCDProcess: identifier=com.vibeproxy.app, pid=<pid>, ... binary_path=/Applications/VibeProxy.app/Contents/MacOS/CLIProxyMenuBar attempted to call TCCAccessRequest for kTCCServiceAccessibility without the recommended com.apple.private.tcc.manager.check-by-audit-token entitlement

Checking the app bundle's entitlements directly:

$ codesign -d --entitlements - /Applications/VibeProxy.app/Contents/MacOS/CLIProxyMenuBar
Executable=/Applications/VibeProxy.app/Contents/MacOS/CLIProxyMenuBar
# (no entitlements printed at all)

The binary has zero entitlements in its code signature. Because of this, the Accessibility permission request the app makes at launch is malformed from TCC's perspective — it never resolves into a proper prompt or a grantable/deniable permission record. Confirmed this by checking both the user and system TCC databases directly (~/Library/Application Support/com.apple.TCC/TCC.db and /Library/Application Support/com.apple.TCC/TCC.db) — there is no kTCCServiceAccessibility row for com.vibeproxy.app in either, even after manually adding VibeProxy.app via System Settings → Privacy & Security → Accessibility. The manual add does not persist, presumably because the malformed request never gives TCC a valid identity to attach a grant record to.

RunningBoardServices logs confirm the app's actual runtime state matches this: it repeatedly cycles running-active-NotVisible, consistent with a process that's alive but never successfully becomes a visible UI element.

Reproduction

  1. Download and install VibeProxy (tested both 1.8.267 and fresh 1.8.280 from today's release)
  2. Launch normally (double-click or open /Applications/VibeProxy.app)
  3. Background processes start (ps aux | grep -i cli-proxy shows both CLIProxyMenuBar and cli-proxy-api-plus running, and the proxy itself is fully functional on 127.0.0.1:8318)
  4. No menu bar icon ever appears — no settings access, no quit option
  5. log show --predicate 'eventMessage CONTAINS "CLIProxyMenuBar"' --last 1h shows the repeated TCC entitlement failure above every time the app becomes active

Environment

  • macOS (Apple Silicon / arm64)
  • VibeProxy 1.8.267 and 1.8.280 (both exhibit identical behavior)
  • App bundle is correctly signed (Developer ID Application: Automaze, Ltd. (GJ2RT96SZT), hardened runtime flag present) and not quarantined

Suggested fix

Add the required entitlements to the CLIProxyMenuBar binary's code signature — at minimum whatever is needed to make a well-formed kTCCServiceAccessibility request (the log message explicitly names com.apple.private.tcc.manager.check-by-audit-token as the "recommended" entitlement TCC expected but didn't find). This is likely a build/signing pipeline gap rather than an app-code bug, since the binary is otherwise properly signed.

This may be the same underlying issue as #389 ("MacOS 15.7.3 can not run" — "nothing happens" on launch), just without the diagnostic detail to pin down the cause there.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions