aws / aws/amazon-q-developer-cli
Alt+key combinations for special characters broken on non-US keyboard layouts (Terminal.app, macOS)
- Dominant language
- Rust
- Stars
- 2k
- Forks
- 439
- PR merge metrics
- No merged PRs in 30d
Description
### Checks
- [x] I have searched [github.com/aws/amazon-q-developer-cli/issues](https://github.com/aws/amazon-q-developer-cli/issues?q=) and there are no duplicates of my issue
- [x] I have run `q doctor` in the affected terminal session
- [x] I have run `q restart` and replicated the issue again
### Operating system
macOS 26.5.0 (25F71)
### Expected behaviour
Opening a new panel in Terminal.app, ~ character must be written correctly with the option "Use Option as Meta key" enabled
### Actual behaviour
Since migrating from v2.x to v3.x (2.10.0), Alt+5 no longer produces ~ on Italian keyboard layout in Terminal.app.
The stdin buffer in tui.js converts single bytes >127 to ESC+char sequences, which conflicts with "Use Option as Meta key" enabled. This worked correctly in v2.x. Affects all Alt-composed characters on non-US layouts.
### Steps to reproduce
Activate "Use Option as Meta key" option in the Terminal app, and try to type the ~ character with Alt+5 (external keyboard) or Option+5.
The terminal will refuse the digit.
### Environment
```yaml
[q-details]
version = "2.10.0"
hash = "a5da029503141c8033a11d7ee6569583d915cd90"
date = "2026-06-25T20:10:07.272812Z (15d ago)"
variant = "full"
[system-info]
os = "macOS 26.5.0 (25F71)"
chip = "Apple M4"
total-cores = 10
memory = "16.00 GB"
[environment]
cwd = "/Users/USER"
cli-path = "/Users/USER"
os = "Mac"
shell-path = "/bin/zsh"
shell-version = "5.9"
terminal = "macOS"
install-method = "unknown"
[env-vars]
PATH = "/Users/USER/.nvm/versions/node/v12.22.12/bin:/Users/USER/.local/bin:/Users/USER/.jenv/shims:/Users/USER/.jenv/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/pkg/env/global/bin:/Applications/CyberArk EPM.app/Contents/MacOS:/opt/podman/bin:/Users/USER/.local/bin"
QTERM_SESSION_ID = "3f2eddd83a0b4f4b905a502464d67ac2"
Q_SET_PARENT_CHECK = "1"
Q_TERM = "2.10.0"
SHELL = "/bin/zsh"
TERM = "xterm-256color"
__CFBundleIdentifier = "com.apple.Terminal"
```
Contributor guide
Research direction
Start in tui.js at the stdin buffer handling described in the report, and compare its behavior with v2.x. Reproduce the issue in Terminal.app with an Italian keyboard layout and “Use Option as Meta key” enabled; done means Alt+5 produces ~ and other Alt-composed characters work correctly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, macos
- Domain
- cli, operating-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100