[BUG] New clickable OSC8 file:/// hyperlinks do not work in VSCode
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?
Claude Code emits OSC 8 escape sequences for clickable file path hyperlinks (added in v2.1.x). These links render correctly (underlined, hoverable) in VSCode's integrated terminal, but clicking them does nothing.
Key observation: Plain file:// URLs printed as text (e.g., echo file:///workspace/foo.txt) work correctly with Cmd/Ctrl+Click in the same terminal. Only OSC 8 escape sequence links fail.
This is a known VSCode issue - https://github.com/microsoft/vscode/issues/242371
What Should Happen?
Probably - recognize Claude is running in VSCode, and as long as https://github.com/microsoft/vscode/issues/242371 is not fixed, not use OSC 8 file:// URLs (just use full path instead maybe with no clickable links), or provide another method to turn off OSC 8 file:// links.
Error Messages/Logs
An error occurred opening an external program.
No application found to open URL
error message pops up
Steps to Reproduce
- Open a project in VSCode
- Run Claude Code in the integrated terminal
- Perform an action that causes Claude to output file paths (e.g., read or edit a file)
- Observe: file paths are rendered as clickable links (underlined)
- Cmd/Ctrl+Click on the link
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.0.x
Claude Code Version
2.1.11
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
VS Code integrated terminal
Additional Information
Comparison test
``` bash
This works - opens the file:
echo "file:///workspace/src/main.py"
Cmd+Click opens the file ✓
Claude Code's OSC 8 output does NOT work:
printf '\e]8;;file:///workspace/src/main.py\e\\main.py\e]8;;\e\\\n'
Cmd+Click does nothing ✗
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗