pass OSC 8 hyperlinks through tmux to outer terminal #14
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "tmux-osc8-hyperlink-passthrough"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Tmux strips OSC 8 hyperlink escape sequences from program output by default. Programs like Claude Code emit URLs wrapped in
\e]8;;URL\e\\TEXT\e]8;;\e\\so the terminal can render them as rich hyperlinks — tmux was eating the wrapper and passing onlyTEXTdownstream. For bare one-line URLs this still worked via Alacritty's URL-regex hints, but richer cases (display text ≠ target, URLs that wrap across the pane width) lost their linking.Adding
terminal-features ",*:hyperlinks"tells tmux the outer terminal understands OSC 8 and to pass the escapes through instead of stripping them.Changes
dot-tmux.conf— addset -as terminal-features ",*:hyperlinks"alongside the existing terminal-overrides block.Test plan
source ~/.tmux.conf,tmux show -g terminal-featureslists*:hyperlinks.tmux display -p '#{client_termfeatures}'includeshyperlinks(the server-level setting is evaluated per-client at attach time, sosource-filealone doesn't update an already-attached client).Notes
mouse oncapture when clicking URLs — this is Alacritty's cross-platform convention.WIP: pass OSC 8 hyperlinks through tmux to outer terminalto pass OSC 8 hyperlinks through tmux to outer terminal