Markdown preview: inline links with ([#NNNN](url)) render as raw

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

In Cursor’s Markdown preview, some valid GitHub‑Flavored Markdown inline links are not rendered and appear as raw source in the preview pane.

Example line from a changelog:

- update: profile grid layout ([#3997](https://github.com/foo/bar/pull/3997))

Expected: The segment [#3997](https://github.com/…/pull/3997) is rendered as a normal clickable link (typically showing #3997), optionally with parentheses around it, matching behavior in VS Code and on GitHub when viewing the same file.

Actual: The preview shows the full literal [#3997](https://github.com/…) (and the surrounding ( )) as plain text instead of a link.

The .md file itself is valid; opening the same file in another editor’s Markdown preview renders the link correctly. The issue appears specific to Cursor’s Markdown preview (or its bundled parser / pipeline) for this pattern—especially parentheses around a link and/or a link label that starts with #.

Steps to Reproduce

Create or open a Markdown file (for example test.md).

Add a line like this (or copy from your changelog):

  • update: standardize market offer visibility and refine contact grid layout (#3997)
    Open Markdown preview for that file in Cursor (preview to the side or in the editor, same as you normally use).

Inspect how that line is rendered in the preview pane.

Expected Behavior

  • #3997 is parsed as an inline Markdown link.
  • The preview shows a clickable link (typically with visible text like #3997), consistent with VS Code’s Markdown preview and GitHub’s rendering of the same line.
  • Outer parentheses, if present, appear as normal punctuation around the link, not as part of broken or raw syntax.

Screenshots / Screen Recordings

Operating System

MacOS

Version Information

Version: 3.4.17 (Universal)
VSCode Version: 1.105.1
Commit: 93e603f703cd553a6bb3644711a3379bbbb31180
Date: 2026-05-13T21:39:55.724Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Darwin arm64 25.5.0

For AI issues: which model did you use?

composer 2 fast

For AI issues: add Request ID with privacy disabled

7ea96593-42c1-48ce-af7f-ec27dc59261a

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report. Locally, this pattern ([#3997](url)) parses correctly in both renderers, inline Preview and Open Preview to the Side, so I want to double-check a couple of things so I can reproduce it.

To narrow it down, two quick questions:

  1. Which preview exactly, inline Preview tab, the Preview/Markdown toggle at the top of the file, or Open Preview to the Side via Cmd+K V? If you haven’t tried the second one yet, please open the same file that way and tell me if it still reproduces.
  2. If you create an empty test.md with exactly one line:
    - update ([#3997](https://github.com/foo/bar/pull/3997))
    
    and open it in Preview, does the link render correctly, or does it show as raw text too?

My guess is it’s breaking because of something nearby in the file, like an unclosed code block above or a specific sequence, and a minimal repro should make that clear.


Thanks for narrowing this down, that helps.

Which preview breaks: It’s the inline preview tied to the Preview / Markdown toggle at the top of the editor tab (the mode where the preview replaces or sits inline in the same tab as changelog.md). In that mode, the line renders as raw ([#3997](https://github.com/.../pull/3997)) instead of a link.

What works: Open Preview to the Side (Cmd+K then V / dedicated Preview changelog.md tab) renders the same line correctly, the #3997 part shows as a clickable blue link.

Thanks, the localization helps. On my side in 3.4.21 I can’t reproduce this pattern in inline Preview, it renders like a normal clickable link. So it’s either a version thing since you’re on 3.4.17, or something else nearby in the file.

To narrow it down, create a new empty test.md with exactly one line:

-  update ([#3997](https://github.com/foo/bar/pull/3997))

Then open it in the inline Preview tab using the same Preview/Markdown toggle.

  • If it breaks, that’s enough and I’ll file a bug tied to the version.
  • If it renders correctly, then the trigger isn’t the pattern, it’s something in your changelog.md context, often an unclosed ``` code fence above or an escaped character. In that case, send 5 to 10 lines above and below the problematic line.

- update ([#3997](https://github.com/foo/bar/pull/3997))

renders correctly in inline Preview. Thanks for helping out, i will use the preview instead of toggle which works for now.