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

Aperta
#94,449 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area:vscode duplicate has repro platform:vscode platform:windows
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.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.