[FEATURE] Recognize TERM_PROGRAM=herdr as hyperlink-capable (OSC 8)

Status Open
Reported on v2.1.287
Maintainer reply None cached
Activity 0 comments · opened Oct 12, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

herdr, a terminal multiplexer, renders OSC 8 hyperlinks, but Claude Code doesn't recognise it as hyperlink-capable, so links in its output aren't clickable inside herdr panes.

herdr replaces the outer terminal's identity in each pane with its own:

TERM_PROGRAM=herdr
TERM_PROGRAM_VERSION=0.9.3
HERDR_ENV=1
TERM=xterm-256color
COLORTERM=truecolor

Since hyperlink detection keys on TERM_PROGRAM, the outer terminal's support (iTerm2 in my case) is hidden, and Claude Code falls back to plain text even though herdr passes the links through.

Proposed Solution

Add herdr to the TERM_PROGRAM values Claude Code treats as supporting OSC 8 hyperlinks, the same way #96923 asks for Kaku.

Alternative Solutions

Setting FORCE_HYPERLINK=1 works: links become clickable in herdr. But setting it in Claude Code's env settings forces links in every terminal, including ones that can't render them. I currently scope it with a shell guard instead:

if set -q HERDR_ENV
    set -gx FORCE_HYPERLINK 1
end

That works, but every herdr user needs to find and apply it themselves, and it only takes effect for sessions launched from a configured shell.

Priority

Low - Nice to have

Feature Category

Interactive mode (TUI)

Use Case Example

  1. Run Claude Code inside a herdr pane.
  2. Claude cites a file, a PR or a docs page.
  3. Today the link is plain text, so I copy it by hand. With herdr recognised, I'd click it, as in a bare iTerm2 window.

Additional Context

  • Claude Code 2.1.287, herdr 0.9.3, macOS 27.0.1, iTerm2 as the outer terminal.
  • Related herdr detection gaps: #98832 (unrecognized TERM_PROGRAM=herdr slows startup) and #101306 (kitty graphics rejected under libghostty-based terminals like herdr). A shared fix for recognising herdr would likely cover all three.
  • Same pattern for another terminal: #96923 (Kaku).
  • In contrast to #83508, FORCE_HYPERLINK=1 is honoured here, so the rendering path works; only detection is missing.

View original on GitHub ↗