Fixing Clickable Hyperlinks in Tmux With Ghostty

When using tmux inside the Ghostty terminal emulator, you might encounter issues where clickable hyperlinks don’t work as expected. I ran into this problem myself. At first, I searched through GitHub issues and tried the suggested solutions, but none of them worked. So I switched to Kitty ✋😭✋

Recently, I revisited the problem and here is what I found that works.

Solutions

TL;DR

  • Option 1: Disable mouse-shift-capture in Ghostty config.
  • Option 2: Disable mouse support in tmux config by setting set -g mouse off in your ~/.tmux.conf.
Ghostty\TmuxIntegration: OffIntegration: On
Shift Capture: False⌘ + Click⇧ + ⌘ + Click
Shift Capture: True⌘ + ClickNot Work

Option 1

Ghostty has a feature called mouse-shift-capture [1] which is disabled by default. Somehow, I had enabled this feature in my config (~/.config/ghostty/config), which is why ⇧ + ⌘ + Click wasn’t working on my laptop.

By commenting out or removing mouse-shift-capture = true from the Ghostty config, I can open links in tmux with ⇧ + ⌘ + Click again.

Why this works

This option determines determines who handles the click: the Terminal (Ghostty) or the Program (Tmux)

  • When set to true (Broken):
    • Ghostty sends ⇧ + ⌘ + Click directly to Tmux.
    • Result: Tmux receives the signal but doesn’t know how to open a browser.
  • When set to false (Fixed):
    • Ghostty sees the Shift key and decides to keep the event, ignoring Tmux.
    • Result: Ghostty recognizes ⌘ + Click and opens the link for you.

Option 2

Alternatively, disable mouse support in tmux by commenting out or removing set -g mouse on from your ~/.tmux.conf can also solve the problem.

And with this change, you can open links with ⌘ + Click (no Shift required). However, the downside is that you will lose the following mouse functionalities in tmux:

  • Mouse scrolling in pane history
  • Mouse text selection and copying
  • Mouse tab/pane selection (click to focus a tab/pane)
  • Mouse pane resizing (drag pane borders)

Why this works

I didn’t read the tmux’s doc to confirm this, but my understanding is:

  • When set to on (Intercepted):
    • Tmux tells Ghostty to let it handle mouse events.
    • Result: Ghostty forwards normal clicks to Tmux. ⌘ + Click is handled by Tmux, which doesn’t know how to open a browser. Hence, it doesn’t work.
  • When set to off (Fixed):
    • Tmux ignores the mouse, leaving Ghostty in full control of all mouse events. No bypass key is needed. Hence ⌘ + Click works as expected.

Outro

I use tmux primarily to save time, like:

  • Utilizing tmux-floating-pane to quickly do something without leaving my current context, for details, see my post on tmux_floating_pane.
  • Using tmux’s copy mode to quickly copy text without needing to switch to the mouse, for details, see my post on

There is a certain irony in how much time I spend debugging my tools just to save a split second. Does tmux worth the cost? Maybe like the Kitty’s developer said, “Terminal multiplexers are a bad idea” 😭

Maybe I’ll ditch tmux one day, but for now, I really need the floating-pane feature. [2]


  1. Determines whether running programs can detect the shift key pressed with a mouse click. Typically, the shift key is used to extend mouse selection. Option Reference - Configuration ↩︎

  2. Maybe Ghossty will implement floating pane feature Float pane / popup support · ghostty-org/ghostty · Discussion #3197 ↩︎

Fixing Clickable Hyperlinks in Tmux With Ghostty

https://vluv.space/fixing-clickable-hyperlinks-tmux-ghostty/

Author

GnixAij

Posted on

2026-01-11

Updated on

2026-01-12

Licensed under