anthropics / anthropics/claude-code
[BUG] VS Code extension: markdown file links in chat do not open when the path contains non-ASCII (Korean) characters — still reproducible in 2.1.270
- Lingua principale
- Python
- Stelle
- 145k
- Fork
- 23.1k
- Metriche di merge delle PR
- Metriche PR in attesa
Descrizione
### Preflight Checklist
- [x] I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
### What's Wrong?
In the Claude Code chat panel of the VS Code extension, markdown links to workspace files silently do nothing when the file path contains any non-ASCII character. There is no notification, no error, and no file opens. ASCII-only paths open normally.
Because nothing happens at all, the links look clickable but give the user no hint that anything failed.
The link target itself is correct. Right-clicking each link and choosing **Copy Link** gives:
readme.md
%ED%95%9C%EA%B8%80.md
%ED%95%9C%EA%B8%80%ED%8F%B4%EB%8D%94/readme.md
Decoding these with `urllib.parse.unquote` yields exactly the relative paths Claude wrote (`readme.md`, `한글.md`, `한글폴더/readme.md`), and the files exist in the workspace. So the href is encoded correctly as UTF-8; the failure seems to be in how the chat panel's link handler resolves an encoded path back to a file.
This makes file links unusable for anyone whose workspace, folder names, or file names are in Korean, Japanese, Chinese, etc.
### What Should Happen?
Clicking a markdown file link in the chat panel should open the file in the editor, regardless of whether the path contains non-ASCII characters — the same way it already works for ASCII paths, and the same way Ctrl+click works on the identical link inside a `.md` file opened in the editor.
### Error Messages/Logs
```shell
None. Clicking a failing link produces no notification, no error dialog, and no visible change.
```
### Steps to Reproduce
1. Create a folder and open it as the VS Code workspace:
C:\tmp\linktest\
├─ readme.md
├─ 한글.md
└─ 한글폴더\
└─ readme.md
2. Open the Claude Code chat panel and send:
Reply with exactly these three markdown links and nothing else:
[ascii](readme.md) [korean-file](한글.md) [korean-folder](한글폴더/readme.md)
3. Click each link in Claude's reply.
**Result (extension 2.1.270)**
- `ascii` → `readme.md` opens ✅
- `korean-file` → nothing happens ❌ (no notification)
- `korean-folder` → nothing happens ❌ (no notification) — a non-ASCII **folder** alone is enough, even with an ASCII file name
4. Right-click each link → **Copy Link**. Output, left to right:
readme.md
%ED%95%9C%EA%B8%80.md
%ED%95%9C%EA%B8%80%ED%8F%B4%EB%8D%94/readme.md
### Claude Model
Opus
### Is this a regression?
I don't know
### Last Working Version
_No response_
### Claude Code Version
VS Code extension anthropic.claude-code 2.1.270 (CLI 2.1.268)
### Platform
Anthropic API
### Operating System
Windows
### Terminal/Shell
VS Code integrated terminal
### Additional Information
**Environment:** Windows 11 Pro 10.0.26200 (build 26200, x64) · system locale `ko-KR` · ANSI code page `949` ("Beta: Use Unicode UTF-8 for worldwide language support" is **off**) · VS Code 1.137.0 (x64) · extension 2.1.270. Note: I picked "VS Code integrated terminal" as the closest option, but this happens in the **extension's native chat panel**, not in the integrated terminal (`CLAUDE_CODE_ENTRYPOINT=claude-vscode`, `TERM_PROGRAM` unset; `claude.exe` is launched directly by `Code.exe`).
**Reproduced with the minimal steps above on 2.1.270 (2026-09-15).** Additional variants were tested earlier on 2.1.260 (2026-09-05) in a real workspace — clicked in the chat panel:
| Link target | Opens? |
|---|---|
| ASCII file at workspace root | ✅ |
| Korean folder + Korean file name | ❌ |
| Same link written already percent-encoded | ❌ |
| Same link prefixed with the workspace folder name | ❌ |
| Korean folder + **ASCII** file name | ❌ |
| Korean file name without underscores | ❌ |
Percent-encoding the link manually does not help, so this cannot be worked around from the model side.
**Workaround:** open the file with Ctrl+P and type part of the name (Korean input works there). As noted in #25426, Ctrl+click on the same link inside a `.md` file opened in the editor works — only the chat panel's link handler is affected.
**Related issues (all closed, no open tracking issue found):**
- #25426 — Japanese paths (closed as duplicate)
- #51489 — Chinese paths; raw, percent-encoded and `file://` all fail (closed as duplicate)
- #57100 — file links stopped working, reported as a regression (closed as duplicate)
- #72889 — Windows; links styled as clickable but non-functional (closed as not planned, labeled stale)
Since the earlier reports were closed as duplicates and the remaining one was auto-closed as stale, I'm opening this with a current-version reproduction. If there is an open canonical issue for this, please link it.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.