Skip to content

fix(macOS): stop registering Warp as the default handler for Markdown (.md) files#13266

Open
AaronReboot wants to merge 1 commit into
warpdotdev:masterfrom
AaronReboot:fix/macos-markdown-default-hijack
Open

fix(macOS): stop registering Warp as the default handler for Markdown (.md) files#13266
AaronReboot wants to merge 1 commit into
warpdotdev:masterfrom
AaronReboot:fix/macos-markdown-default-hijack

Conversation

@AaronReboot

@AaronReboot AaronReboot commented Jul 1, 2026

Copy link
Copy Markdown

Problem

On macOS, Warp registers itself as the default application for Markdown (.md) files and reclaims that association after updates, overriding the user's chosen editor (e.g. VS Code). Reported in #9076 (see comments — Warp re-registering for .md/.go/.svg after relaunch; "Even after selecting Always open with VS Code, Warp remains the default") and #5732.

Root cause

script/update_plist injects a Markdown File CFBundleDocumentTypes entry declaring Warp an Editor for the markdown UTIs:

<string>net.daringfireball.markdown</string>
<string>com.unknown.md</string>
<string>net.ia.markdown</string>
<string>public.markdown</string>

.md resolves to the UTI net.daringfireball.markdown. Most editors (e.g. VS Code) register markdown only by file extension, not by this UTI. macOS prefers a UTI-level handler over an extension-only one, so Warp wins the default-app resolution for .md even at LSHandlerRank Alternate, and re-wins on every auto-update's re-registration. Because this is an OS-level Launch Services claim, disabling the in-app Markdown viewer (prefer_markdown_viewer = false) does not prevent it. (com.unknown.md also appears to be a placeholder/invalid UTI.)

Fix

Remove the Markdown File document type so a terminal no longer registers itself as a Markdown editor — this also drops the invalid com.unknown.md UTI. The Plain Text File and Source Code File types are intentionally left in place.

Closes #13268

Related: #9076, #5732.

script/update_plist injects a "Markdown File" CFBundleDocumentTypes entry
declaring Warp an Editor for the markdown UTIs. `.md` resolves to the UTI
net.daringfireball.markdown, but most editors (e.g. VS Code) register
markdown only by file extension, not by that UTI. macOS prefers a
UTI-level handler over an extension-only one, so Warp wins the default
app resolution for .md even at LSHandlerRank Alternate, and re-wins on
every auto-update's re-registration. The result is Warp repeatedly
hijacking the user's chosen .md editor (reported in warpdotdev#9076 and warpdotdev#5732);
disabling the in-app Markdown viewer does not help, since this is an
OS-level Launch Services claim independent of that setting.

Remove the "Markdown File" document type so a terminal no longer claims
to be a Markdown editor. This also drops the invalid `com.unknown.md`
UTI. The Plain Text File and Source Code File types are intentionally
left in place.
@cla-bot

cla-bot Bot commented Jul 1, 2026

Copy link
Copy Markdown

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have the users @AaronReboot on file. In order for us to review and merge your code, each contributor must visit https://cla.warp.dev to read and agree to our CLA. Once you have done so, please comment @cla-bot check to trigger another check.

@oz-for-oss

oz-for-oss Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

@AaronReboot

Every PR must be linked to a same-repo issue before Oz can review it.

Next step: open or find a same-repo issue describing this change, then link it to this PR by adding Closes #123 to the PR description (or using the "Development" sidebar on GitHub). A maintainer will mark the issue ready-to-implement when it is ready. Once it is marked, comment /oz-review to re-trigger review.

See the contribution guidelines for the full readiness model.

Powered by Oz

@github-actions github-actions Bot added the external-contributor Indicates that a PR has been opened by someone outside the Warp team. label Jul 1, 2026

@oz-for-oss oz-for-oss Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AaronReboot

Every PR must be linked to a same-repo issue before Oz can review it.

Next step: open or find a same-repo issue describing this change, then link it to this PR by adding Closes #123 to the PR description (or using the "Development" sidebar on GitHub). A maintainer will mark the issue ready-to-implement when it is ready. Once it is marked, comment /oz-review to re-trigger review.

See the contribution guidelines for the full readiness model.

Powered by Oz

@AaronReboot AaronReboot force-pushed the fix/macos-markdown-default-hijack branch from 2372532 to 97c8f62 Compare July 1, 2026 00:04
@cla-bot

cla-bot Bot commented Jul 1, 2026

Copy link
Copy Markdown

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have the users @AaronReboot on file. In order for us to review and merge your code, each contributor must visit https://cla.warp.dev to read and agree to our CLA. Once you have done so, please comment @cla-bot check to trigger another check.

@AaronReboot

Copy link
Copy Markdown
Author

@cla-bot check

@cla-bot cla-bot Bot added the cla-signed label Jul 1, 2026
@cla-bot

cla-bot Bot commented Jul 1, 2026

Copy link
Copy Markdown

The cla-bot has been summoned, and re-checked this pull request!

@AaronReboot AaronReboot mentioned this pull request Jul 1, 2026
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed external-contributor Indicates that a PR has been opened by someone outside the Warp team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

macOS: Warp registers as the default app for Markdown (.md), overriding the user's chosen editor

1 participant