[FEATURE] Open local file links (e.g. PDF) in the macOS default app instead of the in-app viewer
Problem / Motivation
When the assistant outputs a markdown link to a local file, clicking it opens the file inside an in-app viewer rather than handing off to the macOS default application for that file type.
For lightweight text formats this is fine — rendering a .md file inside the app is actually nice. The problem is document types that have a dedicated native handler:
- A link to a
.pdfopens in the in-app viewer instead of Preview (or whatever PDF app the user has set as default). - Same concern for types like
.tex(TeXShop), etc.
The user's macOS "default app" settings for these file types are silently bypassed, so the rendered links can't be used the way a Finder double-click would be.
Proposed Solution
When a local file link is clicked, branch on file type:
- PDF and other types with a native desktop handler → hand off to macOS via
NSWorkspace(open in the user's default app, e.g. PDF → Preview). - Markdown / plain text → keep the current in-app rendering (this is good, please don't remove it).
Optionally a small affordance (a "open in default app" / "reveal in Finder" button on the in-app viewer) would cover the cases the heuristic gets wrong.
Alternatives Considered
- Always hand off everything to macOS — works, but loses the nice in-app markdown preview, so a type-based branch is preferable.
- Status quo — the user has to copy the path and
openit from a terminal, which makes the rendered PDF links effectively dead.
Additional Context
- Claude for Mac (desktop app) v1.12603.1, macOS 14.7.4.
- Originally raised via support email 2026-05-01; the support bot redirected to file here. Re-confirmed still reproducing on the current build (2026-06-13).
- A related concern from the same email — accidental conversation deletion (Delete adjacent to Archive) — is not filed because a delete-confirmation dialog has since been added, which resolves the data-loss risk.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗