stablyai / stablyai/orca

[Bug]: Option+C types nothing on the macOS US-International-PC layout

Open
#20,163 1 comment 0 reactions 1 assignee Claimed by @nwparker View on GitHub
Dominant language
TypeScript
Stars
71.3k
Forks
4.7k
Avg merge
14h 54m
Merged PRs (30d)
520

Description

### Operating system

macOS (Darwin 25.6.0)

### Orca version

1.4.197

### Details

On the macOS `U.S. International - PC` keyboard layout, Option+letter produces nothing in any terminal pane. No character is inserted, and there is no visible feedback: Option+C should type `ç`, Option+Shift+C should type `Ç`, Option+A should type `å`, Option+E should arm the acute dead key. The same keystrokes work in every other macOS application.

This is the same silent-swallow bug as #1205 (Polish diacritics), on a layout that was left out of that fix.

**Cause**

`src/renderer/src/lib/keyboard-layout/input-source-id.ts` allowlists `com.apple.keylayout.USInternational-PC` as a layout where Option should act as Meta. With the default `terminalMacOptionAsAlt: 'auto'`, the classifier returns `'meta'`, `effectiveMacOptionAsAlt` resolves to `'true'`, xterm's `macOptionIsMeta` turns on, and every Option+letter keystroke is translated to an Esc+letter readline chord instead of the composed character. In Claude Code, Codex CLI or a plain shell, that chord is a no-op with no output, which is why the keystroke appears to vanish.

The allowlist entry was copied from Ghostty rather than measured. The layout's Option layer is a composition layer. Verified with `UCKeyTranslate` against the shipped keylayout:

| Key | Plain | Option | Option+Shift |
|-----|-------|--------|--------------|
| C | `c` | `ç` | `Ç` |
| A | `a` | `å` | `Å` |
| E | `e` | `´` (dead) | `´` |
| N | `n` | `˜` (dead) | `˜` |
| U | `u` | `¨` (dead) | `¨` |

A user who selects the International variant over plain `U.S.` does so precisely to type accented characters, so Option-as-Meta defeats the only reason to pick that layout.

### Reproduction

1. On macOS, set the input source to `U.S. International - PC`.
2. Leave `Settings > Terminal > Option as Alt` on `Auto` (the default).
3. Open any terminal pane and press Option+C.

Expected: `ç`. Actual: nothing is inserted.

### Workaround

Set `Settings > Terminal > Option as Alt` to `Off`. Option+B / Option+F / Option+D word navigation still works, because `terminal-option-shortcut-policy.ts` sends those sequences explicitly when Option is not Meta.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.