Description
When enabling the Claude provider in CodexBar, CodexBar launches a Claude CLI probe through CodexBarClaudeWatchdog. This appears to trigger Claude Code's deep-link protocol registration and creates a new app bundle:
~/Applications/Claude Code URL Handler.app
The generated app has no icon, so it appears in Launchpad as a blank/unknown app. This is confusing because the user only enabled Claude usage tracking in CodexBar and did not intentionally install or open a new application.
Environment
- CodexBar: 0.27.0, build 65
- Claude Code CLI: 2.1.144
- macOS: local user Applications directory is
~/Applications
- Claude provider source in CodexBar: auto
Reproduction Steps
-
Remove or move ~/Applications/Claude Code URL Handler.app.
-
Restart Dock/Launchpad if needed.
-
Open CodexBar Settings → Providers.
-
Enable or select the Claude provider.
-
Observe CodexBar starts a short-lived process similar to:
CodexBarClaudeWatchdog -- ~/.npm-global/bin/claude --allowed-tools TERM_PROGRAM=Apple_Terminal
-
Observe ~/Applications/Claude Code URL Handler.app is recreated.
-
Launchpad now shows an extra blank/no-icon app.
Actual Behavior
CodexBar's Claude usage probe indirectly creates a visible Claude Code URL Handler.app in Launchpad.
The app bundle contains:
CFBundleIdentifier: com.anthropic.claude-code-url-handler
- URL scheme:
claude-cli
- executable symlink:
claude -> .../@anthropic-ai/claude-code/bin/claude.exe
Expected Behavior
Background usage probing should not create a user-visible app in Launchpad.
Possible fixes:
- Launch Claude CLI probes in a way that does not register the deep-link handler.
- Respect or recommend Claude Code's documented
disableDeepLinkRegistration setting.
- Add a CodexBar setting or documentation note for users who want Claude usage tracking without the Launchpad app side effect.
- If this is unavoidable, show a clear explanation in CodexBar's Claude provider UI.
Additional Context
Claude Code documents disableDeepLinkRegistration as a setting to prevent registering the claude-cli:// protocol handler with the operating system:
https://code.claude.com/docs/en/configuration
This suggests the extra app is not required for CodexBar's usage display itself; it is a side effect of launching Claude Code for probing.
Description
When enabling the Claude provider in CodexBar, CodexBar launches a Claude CLI probe through
CodexBarClaudeWatchdog. This appears to trigger Claude Code's deep-link protocol registration and creates a new app bundle:~/Applications/Claude Code URL Handler.appThe generated app has no icon, so it appears in Launchpad as a blank/unknown app. This is confusing because the user only enabled Claude usage tracking in CodexBar and did not intentionally install or open a new application.
Environment
~/ApplicationsReproduction Steps
Remove or move
~/Applications/Claude Code URL Handler.app.Restart Dock/Launchpad if needed.
Open CodexBar Settings → Providers.
Enable or select the Claude provider.
Observe CodexBar starts a short-lived process similar to:
CodexBarClaudeWatchdog -- ~/.npm-global/bin/claude --allowed-tools TERM_PROGRAM=Apple_TerminalObserve
~/Applications/Claude Code URL Handler.appis recreated.Launchpad now shows an extra blank/no-icon app.
Actual Behavior
CodexBar's Claude usage probe indirectly creates a visible
Claude Code URL Handler.appin Launchpad.The app bundle contains:
CFBundleIdentifier:com.anthropic.claude-code-url-handlerclaude-cliclaude -> .../@anthropic-ai/claude-code/bin/claude.exeExpected Behavior
Background usage probing should not create a user-visible app in Launchpad.
Possible fixes:
disableDeepLinkRegistrationsetting.Additional Context
Claude Code documents
disableDeepLinkRegistrationas a setting to prevent registering theclaude-cli://protocol handler with the operating system:https://code.claude.com/docs/en/configuration
This suggests the extra app is not required for CodexBar's usage display itself; it is a side effect of launching Claude Code for probing.