[FEATURE] Allow configuring or disabling the URL Handler app install location (currently hardcoded to ~/Applications/)

Status Fixed / completed
Maintainer reply None cached
Activity 11 comments · opened Mar 30, 2026 · closed Aug 17, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Claude Code URL Handler app install path is hardcoded to ~/Applications/ with no installMethod-style override. It recreates itself every ~24 hours, so manual deletion isn't a durable solution. My mac is managed by Corp IT who actively restricts ~/Applications/, making this a policy compliance issue.

Proposed Solution

Either a config option for install path, or a flag to disable URL handler installation entirely

Alternative Solutions

_No response_

Priority

Medium - Would be very helpful

Feature Category

CLI commands and flags

Use Case Example

_No response_

Additional Context

View original on GitHub ↗

9 Comments

yurukusa · 5 months ago

Until a config option is added, you can prevent the auto-recreation with an immutable directory:

# 1. Remove existing handler app
# (delete ~/Applications/Claude Code.app manually)

# 2. Create an immutable empty directory in its place
mkdir -p ~/Applications/Claude\ Code.app
# Make it immutable (macOS)
chflags uchg ~/Applications/Claude\ Code.app

The chflags uchg approach is the most durable — Claude Code can't overwrite an immutable file/directory, so the 24-hour recreation will silently fail. To undo later: chflags nouchg ~/Applications/Claude\ Code.app.

Alternatively, a symlink to an IT-approved location works if you want the URL handler but in a different path:

ln -s /approved/path/Claude\ Code.app ~/Applications/Claude\ Code.app
serso-pt · 4 months ago

Hello, despite purging this app with AppCleaner, it's always appearing on my Launchpad.
How can I get rid of this permanently and prevent it from appearing again?

<img width="356" height="336" alt="Image" src="https://github.com/user-attachments/assets/335767a7-aa90-4585-ad94-697e9e2ad70e" />

Having this on Launchpad is terrible. 🙄

kylemart · 4 months ago

Moreso than anything else, the absence of an icon really peeves me. (As shown in @serso-pt 's screenshot.) Since it seems to exist by-design, I've tucked it into my "Other" folder for now.

beginor · 3 months ago

Set or add disableDeepLinkRegistration in ~/.claude/settings.json works!

{
  "disableDeepLinkRegistration": "disable"
}

My claude code version is: 2.1.126

Jiaao-Bai · 3 months ago

This is genuinely bad software citizenship.

Silently installing an app into ~/Applications/ without user consent, hardcoding the path with no configuration option, and then recreating it every ~24 hours to prevent removal — this is the behavior of malware, not a developer tool.

Users own their machines. If I delete something from my Applications folder, it should stay deleted. Silently resurrecting it is not acceptable, regardless of the underlying purpose.

The URL handler is not even used by most Claude Code users. This should either:

  1. Not be installed by default, or
  2. Have a clear opt-out (CLAUDE_NO_URL_HANDLER=1 or a settings flag)

Please treat developer machines with basic respect.

amatiash · 3 months ago

Totally agree, I don't want this thing to exist on my Launchpad.

beautifulboySoSo · 1 month ago
Set or add disableDeepLinkRegistration in ~/.claude/settings.json works! { "disableDeepLinkRegistration": "disable" } My claude code version is: 2.1.126

Doesn't work for me, still recreates itself.

vinilanzoni · 1 month ago

+1

bdkjones · 1 month ago

Just commenting to emphasize what a terrible idea it was to install this junk by default on users' Macs. It's spammy, silently creates (and recreates!) itself, installs to a folder that shouldn't exist (~/Applications) and is entitled, abusive behavior. It should have been opt-IN, not opt-OUT. Treat your users with more respect, please.

Showing cached comments. Read the full discussion on GitHub ↗