[BUG] SSH from Windows shows macOS keyboard glyphs in shortcut hints

Resolved 💬 3 comments Opened Apr 29, 2026 by Noisyink Closed May 3, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Claude Code renders keyboard shortcut hints using macOS glyphs (⌘, ⇧, ↵, ⌥) when the server-side host is Linux/macOS, regardless of the client platform actually displaying the UI. When SSHing into a Linux host from a Windows client, this results in shortcut labels that don't correspond to keys on the user's keyboard.
The underlying key bindings still function correctly — this is a display/labelling bug only.

What Should Happen?

Expected behaviour
Shortcut hints should display platform-appropriate labels for the client OS — Ctrl+, Shift+, Enter, Alt+ for Windows clients.
Actual behaviour
Shortcut hints display macOS glyphs (⌘, ⇧, ↵). Example from a permission dialog:

"Always allow ⌘⇧↵"
"Allow once ⌘↵"

Error Messages/Logs

Steps to Reproduce

Run Claude Code on a Linux host (Debian 12 in this case).
Connect to it via SSH from a Windows client. In my case: the built-in SSH connector inside Claude Desktop on Windows 11.
Trigger any action that surfaces a permission prompt (e.g. ask Claude to write a file outside the working directory).
Observe the action buttons in the dialog.

Claude Model

Other

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.123

Platform

Other

Operating System

Windows

Terminal/Shell

Other

Additional Information

<img width="1016" height="308" alt="Image" src="https://github.com/user-attachments/assets/b4cf91b3-f483-45ec-bd39-66f8a4084424" />

Server: Debian 12, Claude Code 2.1.123
Client: Claude Desktop on Windows 11 (built-in SSH connector)
Shell: bash
Terminal: xterm-256color (typical SSH session)

Additional context
The glyph style appears chosen based on server-side OS detection, with no signal from the SSH client. Notably, in this setup the client is Claude Desktop itself, which already knows it's running on Windows — so there's a plausible path for Desktop to pass that hint through to the remote Code session.
Possible fixes (in order of preference):

Auto-detect client platform when running over SSH — particularly when the client is Claude Desktop, which can pass its OS through.
Expose a config setting (e.g. shortcutStyle: "windows" | "macos" | "auto" in ~/.claude/settings.json, or a CLAUDE_SHORTCUT_STYLE env var) so users can override platform detection.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗