Skip to content

Claude provider probe creates “Claude Code URL Handler.app” in Launchpad #1047

Description

@callmepopo

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

  1. Remove or move ~/Applications/Claude Code URL Handler.app.

  2. Restart Dock/Launchpad if needed.

  3. Open CodexBar Settings → Providers.

  4. Enable or select the Claude provider.

  5. Observe CodexBar starts a short-lived process similar to:

    CodexBarClaudeWatchdog -- ~/.npm-global/bin/claude --allowed-tools TERM_PROGRAM=Apple_Terminal

  6. Observe ~/Applications/Claude Code URL Handler.app is recreated.

  7. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions