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
- Lenguaje dominante
- Python
- Estrellas
- 145k
- Forks
- 23.1k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
### 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.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.