/terminal-setup falsely claims Shift+Enter is natively supported in WezTerm

Resolved 💬 2 comments Opened Apr 24, 2026 by dylanh724 Closed May 28, 2026

Summary

Running /terminal-setup in WezTerm prints:

Shift+Enter is natively supported in WezTerm. No configuration needed. Just use Shift+Enter to add newlines.

This is incorrect. WezTerm's default keybinding for Shift+Enter sends a plain \r, which Claude Code interprets as submit, not newline. A config entry is required.

Repro

  1. Fresh WezTerm install (tested on Windows 11, WezTerm 20240203-xxx, default config).
  2. Launch Claude Code.
  3. Run /terminal-setup.
  4. Press Shift+Enter — message is submitted instead of a newline being inserted.

Expected

Either:

  • /terminal-setup detects WezTerm and writes the needed keybinding to ~/.wezterm.lua / ~/.config/wezterm/wezterm.lua (matching the behavior it has for iTerm2 / VS Code terminal), or
  • the message tells the user to add the binding manually instead of claiming native support.

Fix (for users hitting this)

Add to wezterm.lua:

config.keys = {
  { key = \"Enter\", mods = \"SHIFT\", action = wezterm.action.SendString(\"\\x1b\\r\") },
}

Environment

  • OS: Windows 11 (WezTerm launched against WSL2 Ubuntu)
  • WezTerm: current stable
  • Claude Code: latest

View original on GitHub ↗

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