[BUG] [VSCode Extension] Clickable file links in markdown responses don't work when the URL contains non-ASCII (Chinese) characters

Resolved 💬 3 comments Opened Apr 21, 2026 by thor-shuang Closed Apr 24, 2026

Preflight Checklist

  • [x] I have searched existing issues 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?

Summary

In the Claude Code VS Code extension (v2.1.116), when Claude outputs a clickable markdown file link [text](path) whose URL contains non-ASCII characters (e.g. Chinese), clicking the link produces no effect — no navigation, no error message, no visible response.

Only URLs consisting entirely of ASCII characters successfully open the target file.

The display text (the [...] part) containing Chinese does NOT affect behavior; only the URL (the (...) part) matters.

I tested raw Chinese, percent-encoded UTF-8, absolute paths, and file:// protocol URLs — none work when the URL contains Chinese. Only pure ASCII relative paths work.

This significantly hurts usability for non-English users whose project documents are named in their native language.

What Should Happen?

All markdown file links [text](path) that point to existing files in the workspace should open the target file in the editor when clicked, regardless of whether the URL contains ASCII or non-ASCII (e.g. Chinese, Japanese) characters.

The extension should properly decode percent-encoded UTF-8, or accept raw UTF-8, before resolving the path against the workspace root.

Error Messages/Logs

Steps to Reproduce

  1. Open a workspace in VS Code that contains both ASCII-named and non-ASCII-named files. For example:
  • project/docs/readme.md (ASCII)
  • project/docs/使用说明.md (Chinese characters)
  1. In a chat with Claude Code, ask Claude to send links to both files.
  1. Claude will produce markdown links like:
  • [project/docs/readme.md](project/docs/readme.md)
  • [project/docs/使用说明.md](project/docs/使用说明.md)
  1. Click each link in the rendered response.

Observed:

  • The ASCII link opens the file in the editor correctly.
  • The Chinese link does nothing — no navigation, no error.

Also tested and confirmed NOT working:

  • Percent-encoded Chinese: (project/docs/%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md)
  • Absolute Windows path: (/d:/.../使用说明.md)
  • file:// protocol: (file:///d:/.../使用说明.md)

Claude Model

None

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

2.1.116

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

VS Code integrated terminal

Additional Information

Environment Details

  • Claude Code VS Code extension version: 2.1.116
  • Claude Code CLI version: 2.1.116 (Claude Code)
  • VS Code: latest on Windows 10 Pro (10.0.19045)
  • Workspace type: multi-root workspace, opened via .code-workspace file

Important Note

This bug is about the VS Code extension's link-click handler, not the CLI. The CLI itself is not involved — the issue is purely in how the extension renders and handles markdown file links in chat responses.

Tested Variations (none of these Chinese-containing URLs work)

| # | URL format | Works? |
|---|---|---|
| 1 | (qs/docs/使用说明.md) — raw Chinese, relative path | ❌ |
| 2 | (qs/docs/%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md) — percent-encoded | ❌ |
| 3 | (/d:/work/.../使用说明.md) — absolute Windows path | ❌ |
| 4 | (file:///d:/work/.../使用说明.md) — file:// protocol | ❌ |
| 5 | (qs/docs/readme.md) — pure ASCII relative path (control) | ✅ |

Only #5 (pure ASCII) works. This strongly suggests the extension is failing to handle UTF-8 in URIs before resolving them against the workspace root.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗