[Bug] OSC 8 hyperlinks for file paths missing in assistant responses since 2.1.216
Bug Description
File paths in assistant responses are no longer emitted as OSC 8 hyperlinks — regression between 2.1.212 and 2.1.216.
Environment: Claude Code 2.1.216 (native install), Linux, GNOME Terminal, TERM=xterm-256color, plain terminal (not VS Code).
Expected: absolute file paths referenced in Claude's responses (inline code) are Ctrl+clickable, as they were last week on 2.1.209/2.1.212 in the same terminal.
Actual: paths render as plain text, no hyperlink escape emitted, nothing underlines on hover.
Terminal ruled out: running ! ls --hyperlink=always <dir> inside the same session renders Ctrl+clickable OSC 8 links correctly, so the terminal and the bash-passthrough both handle OSC 8 — only the assistant-message renderer stopped emitting them.
Possibly related: #70161 (statusline OSC 8 regression in 2.1.181), #79485 / #69008 (requests to emit OSC 8 for file paths).
Environment Info
- Platform: linux
- Terminal: xterm-256color
- Version: 2.1.216
- Feedback ID: 6fa98af9-e39b-411c-be8d-4ace1d4575be
Errors
[]
3 Comments
Reproduced on macOS (Darwin 27) — Claude Code 2.1.220 native install, Ghostty 1.3.1 + Herdr terminal multiplexer. File paths in assistant responses render as plain styled text with zero OSC 8 sequences (verified by dumping the pane buffer as ANSI and grepping for
ESC]8;;— 0 matches).Terminal chain ruled out here as well: manually printf-ing an OSC 8
file://hyperlink through the exact same Ghostty+Herdr session renders clickable and opens the file correctly — including CJK paths (unencoded) and links that wrap across multiple rows. Only the assistant-message renderer stopped emitting OSC 8.Happy to provide more environment details if useful.
Please fix this. Happens to me using Claude Code CLI in Warp. I want to click and inspect files but it doesn't work
Still reproducing on 2.1.296. File paths in assistant prose come through as plain text, so relative ones like
.planning/threads/x.mdorsrc/foo.ts:42can't be opened. Checked on macOS with hyperlinks forced on (FORCE_HYPERLINK=1) and on Windows 2.1.296 (Windows Terminal), absoluteF:\…paths included. In both, the session URL in the same output is an OSC 8 link, so hyperlinks are on; only the paths are left bare. The tool headers (Read(...)) do get links.In the meantime, the mod API is enough to work around it: community mods such as pepperonas/path-links hook
ui.renderforAssistantMessageand rewrite existing paths intofile://links. It would still be better built in, with relative paths resolved against the session cwd (see #91129) and:linepassed to the editor.