Codex Desktop: support clickable custom URI scheme links in chat (e.g. obsidian://)

Open 💬 1 comment Opened Jun 2, 2026 by bdteo

Summary

Codex Desktop should preserve clickable Markdown links for custom URI schemes such as obsidian:// instead of rendering them as plain text after the final message render.

In a desktop Codex chat, I tested several Obsidian deep-link formats. The links appeared clickable briefly while the assistant message was streaming, but after the message finished rendering they became non-clickable/plain text. A normal local file link still rendered as a clickable file card.

Why this matters

Agents often produce links to local notes, work logs, specs, and evidence. Many users keep those in tools that expose deep links through custom URI schemes, for example:

  • obsidian://open?... for Obsidian notes
  • vscode://... / cursor://... for editor links
  • x-devonthink-item://..., hook://..., bear://..., etc.

For local-agent workflows, these links are useful and low-friction: the model can write a worknote or doc and then provide a direct "open in the right app" link.

Reproduction

On Codex Desktop for macOS:

  1. Ask the assistant to print a Markdown link like:

``markdown
[Open today's worknote in Obsidian](obsidian://open?path=%2FUsers%2Fboris%2FLocal%2FBoris%2FJournal%2FWork%2F2026-06-02.md)
``

  1. Also test raw/autolink forms:

``text
obsidian://open?path=%2FUsers%2Fboris%2FLocal%2FBoris%2FJournal%2FWork%2F2026-06-02.md
<obsidian://open?path=%2FUsers%2Fboris%2FLocal%2FBoris%2FJournal%2FWork%2F2026-06-02.md>
obsidian:///Users/boris/Local/Boris/Journal/Work/2026-06-02.md
obsidian://open?vault=Boris&file=Journal%2FWork%2F2026-06-02.md
``

  1. Observe that, after final render, the obsidian:// links are not clickable. The Markdown link text renders as plain text without a working link target.
  2. As a control, a normal local file link like [Local file link](/Users/boris/Local/Boris/Journal/Work/2026-06-02.md) renders as a clickable local file card.
  3. As a second control, running this in Terminal works and opens the note in Obsidian:

``bash
open 'obsidian://open?path=%2FUsers%2Fboris%2FLocal%2FBoris%2FJournal%2FWork%2F2026-06-02.md'
``

Expected behavior

Codex Desktop should allow Markdown links with recognized or user-approved custom URI schemes to remain clickable, and route them through the OS URL handler.

At minimum, it would be useful to support a safe allowlist or confirmation flow for custom protocols, similar to how browsers ask before opening external apps.

Actual behavior

The custom URI link does not remain clickable after final render. The OS can open the URI successfully, so the issue appears to be in the Desktop chat renderer/sanitizer rather than in macOS or Obsidian.

Environment

  • App: Codex Desktop
  • OS: macOS
  • Scheme tested: obsidian://
  • Repository local control: normal /Users/.../*.md file link rendered as clickable

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗