Remote - SSH rejects valid SSH config host aliases containing emoji

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Summary

Cursor Remote - SSH fails to connect when an SSH config Host alias contains emoji, even though OpenSSH and the VS Code Remote - SSH extension resolve the alias correctly.

Notes

  • The error suggests the extension validates the alias string as a hostname instead of resolving it through SSH config.
  • The same config works with:
    • OpenSSH CLI (ssh 🙋‍♂️liveserver)
    • VS Code Remote - SSH
  • Emoji-only or non-ASCII Host aliases may be incorrectly rejected by hostname validation.

Steps to Reproduce

Environment

  • OS: Windows 10/11
  • Extension: Cursor Remote - SSH
  • SSH config uses standard Host / HostName / User / IdentityFile entries

SSH config (sanitized)

Host 🙋‍♂️liveserver
  HostName 192.168.x.x
  User remote-user
  IdentityFile ~/.ssh/example-key

Steps to reproduce

  1. Add an SSH config entry with an emoji in the Host alias (example above).
  2. Connect via Cursor Remote - SSH using that host alias.
  3. Observe the connection error.

Expected Behavior

Expected behavior

Cursor should resolve the alias via SSH config (same as ssh 🙋‍♂️liveserver, VS Code Remote - SSH, and other SSH clients) and connect as [email protected].

Actual behavior

Connection fails immediately with:

Could not connect to '🙋‍♂️liveserver': Invalid SSH hostname: "🙋‍♂️liveserver"

No useful output appears in the Remote - SSH output channel.

Operating System

Windows 10/11

Version Information

Version: 3.12.30 (user setup)
VS Code Extension API: 1.128.0
Commit: 63a2996a10d9e476b6c28e951dd7691d9c0cf480
Date: 2026-07-21T22:50:03.568Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.256
OS: Windows_NT x64 10.0.26200

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report. Your bug isolation is spot on, alias validation vs config resolve.

This isn’t a resolve failure, it’s intentional validation. In Remote - SSH starting from 1.0.51 security hardening, May 2026 the extension only accepts ASCII characters in the hostname or alias. So emoji, CJK, and other non ASCII Host aliases get rejected on the client before it even calls ssh. OpenSSH CLI and VS Code don’t do this check, which is why you see the difference.

Workaround is to rename the Host alias to ASCII only [A-Za-z0-9._:-], for example:

Host liveserver
  HostName 192.168.x.x
  User remote-user
  IdentityFile ~/.ssh/example-key

You don’t need to change HostName, User, or IdentityFile. Only the alias you connect with changes.

I’ve logged this limitation on our side. No timeline yet for relaxing the validation, but if I get an update I’ll reply in the thread.