[BUG] Statusline OSC 8 hyperlinks no longer clickable (regression in 2.1.181)
Preflight Checklist
- [x] I have searched existing issues
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
Custom statusline programs that emit OSC 8 hyperlinks render as plain (non-clickable) text. Claude Code's statusline rendering layer honors SGR color codes from the same output but strips the OSC 8 hyperlink sequences, so labels show in color but are not clickable.
This was reported before and auto-closed for inactivity without a fix:
- #23438 (closed NOT_PLANNED + locked; bot explicitly requested a new issue referencing it)
- #21586 "OSC 8 hyperlinks in custom statusline no longer render" (closed)
This report adds the missing data point those issues lacked: it is a confirmed regression with a known working→broken window.
Is this a regression?
Yes. My custom statusline emitted clickable tilt/dash hyperlinks for weeks. They stopped being clickable immediately after a Claude Code auto-update.
- Statusline script: unchanged since May 29 (verified mtime). It still emits valid OSC 8 — confirmed in source:
osc8() { printf '\033]8;;%s\033\\%s\033]8;;\033\\' "$1" "$2"; }
- Claude Code install dir mtime: Jun 18 — the only thing that changed between "worked" and "broken".
- SGR colors from the same script still render correctly (e.g. a green
CI✓), so it is specifically OSC 8 being dropped, not all escapes.
What Should Happen?
OSC 8 hyperlink escape sequences emitted by a custom statusline command should pass through Claude Code's rendering layer unchanged, so they are clickable (as they were prior to the regression and as they are when piping the same bytes directly to the terminal).
Steps to Reproduce
- Configure a
type: commandstatusline that emits an OSC 8 hyperlink:
printf '\033]8;;https://example.com\033\\link text\033]8;;\033\\'
- Run Claude Code (current: 2.1.181).
- Observe the label renders in color but is not clickable.
- Control: piping the same
printfdirectly to the terminal renders a clickable link, confirming the terminal supports OSC 8 and the bytes are correct.
Last Working Version
Prior to the auto-update on ~2026-06-18 (broke on upgrade to 2.1.181).
Claude Code Version
2.1.181
Platform
Claude API
Operating System
macOS (Darwin 25.5.0, arm64)
Terminal/Shell
tmux 3.6a (TERM=tmux-256color). Note: tmux 3.6 supports OSC 8 passthrough and a direct printf renders a clickable link in the same pane, so tmux is not the blocker — the sequence is dropped inside Claude Code's rendering layer.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗