#12265

Mouse cursor stuck as crosshair after Option+**key**

Openbo2themaxopened 6mo ago

Discussed in https://github.com/ghostty-org/ghostty/discussions/12232

Originally posted by MrConnorKenway April 11, 2026

Issue Description

Pressing a modifier key combination that changes the cursor shape (for example, Option on macOS), followed by a key sequence that Ghostty interprets as typing (such as Option+i, a dead key on macOS), causes the cursor-shape state transitions to be skipped. As a result, the following key-release event fails to restore the cursor to its default shape (e.g., .text).

Expected Behavior

After pressing and releasing any modifier combination that changes the cursor shape, releasing the modifier should restore it to the default cursor shape (text/I-beam in normal mode, or arrow in mouse tracking mode).

Actual Behavior

The mouse cursor remains stuck as a crosshair after the keys are released and the mouse is moved. The crosshair persists until another modifier key event triggers a shape transition.

Reproduction Steps

  1. Open Ghostty with macos-option-as-alt = false in the configuration or an empty one.
  2. Ensure the terminal is in normal mode (no mouse tracking application running).
  3. Press and hold the Option key — observe the cursor changes to a crosshair.
  4. While holding Option, press i (Option+i is a dead key on macOS that produces text).
  5. Release all keys.
  6. Observe the cursor remains a crosshair instead of the expected I-beam/text cursor.

Ghostty Logs

No response

Ghostty Version

Version
  - version: 1.3.2-main-+01825411a
  - channel: tip
Build Config
  - Zig version   : 0.15.2
  - build mode    : .ReleaseFast
  - app runtime   : .none
  - font engine   : .coretext
  - renderer      : renderer.generic.Renderer(renderer.Metal)
  - libxev        : kqueue

OS Version Information

macOS 26

(Linux only) Display Server

None

(Linux only) Desktop Environment/Window Manager

No response

Minimal Ghostty Configuration

macos-option-as-alt = false

Additional Relevant Configuration

No response

I acknowledge that:

  • I have reviewed the FAQ and confirm that my issue is NOT among them.
  • I have searched the Ghostty repository (both open and closed Discussions and Issues) and confirm this is not a duplicate of an existing issue or discussion.
  • I have checked the "Preview" tab on all text fields to ensure that everything looks right, and have wrapped all configuration and code in code blocks with a group of three backticks (```) on separate lines.

Activity

30
MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1

MagicDuck6mo ago

same here, only for it happens even with macos-option-as-alt = true. I can convert the cursor back to normal by pressing the Shift key, but if I tab to another app and back to ghostty, it becomes a crosshairs again.

I am on version 1.3.1