[BUG] `/terminal-setup` silently breaks non-US (AZERTY) keyboards by enabling "Use Option as Meta key"
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?
/terminal-setup silently enables Terminal.app's Use Option as Meta key setting. On non-US keyboard layouts (AZERTY French here; any layout where Option produces \, |, {, }, [, ] is affected), this breaks character input across the entire Terminal session — not just inside Claude Code.
The skill also ignores its arguments (/terminal-setup undo, /terminal-setup use Shift+Enter`, etc. all
run the same fixed flow) and provides no revert path, so users hit it repeatedly trying to recover.
Recovery requires a manual fix: quit Terminal.app (⌘Q), reopen it, then ⌘, → Profiles → Basic →
Keyboard → uncheck Use Option as Meta key. Resume Claude Code with claude --continue.
Related but distinct from [#22174 (Polish characters (Option key) not working in CLI input on macOS)]( https://github.com/anthropics/claude-code/issues/22174).
Environment: macOS Terminal.app, French AZERTY input source.
- Set keyboard input source to French (or any layout using Option for punctuation).
- Run /terminal-setup.
- Press Option+Shift+/ — no \ is produced.
What Should Happen?
- Detect non-US layouts e.g. via
defaults read com.apple.HIToolbox AppleCurrentKeyboardLayoutInputSourceID
and skip the Use Option as Meta key toggle (or require explicit opt-in with a warning).
- Prefer a
Shift+ReturnTerminal binding for the newline UX — same result, no Option-key
collateral.
- Honor arguments, or fail loudly when given unsupported ones.
- Print the exact preference keys changed, and support an undo invocation.
Error Messages/Logs
Steps to Reproduce
- Set keyboard input source to French AZERTY (or possibly any layout using Option for punctuation like
\,|,
{, }).
- Ask Claude Code to make
Shift+Returnproduce a newline (the natural trigger for invoking/terminal-setup). - The skill runs and silently enables Use Option as Meta key in Terminal.app preferences.
- Press
Option+Shift+/in the terminal — no\is produced (zsh treats it as Meta-/,the list-choices
widget).
- Re-run
/terminal-setupundo (or any argument) — same fixed flow executes, no revert.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.152
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗