Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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

Open Beginner friendly
#101,490 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
66/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
cli

Research direction

Find the TERM_PROGRAM detection used for OSC 8 hyperlink support and read the nearby terminal capability checks. Add herdr to the supported values, following the existing pattern for terminals such as Kaku. Done when Claude Code emits clickable OSC 8 links inside herdr panes without requiring FORCE_HYPERLINK.

Written by the indexing model from the issue text.

Description

area:tui enhancement platform:macos
Preflight Checklist
  • I have searched existing requests and this feature hasn't been requested yet
  • 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.
Dominant language
TypeScript
Stars
154k
Forks
26.1k
Avg merge
18h 34m
Merged PRs (30d)
12

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

  • No Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from anthropics/claude-code

All issues in anthropics/claude-code

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.