Accidental prompts using the Tab key
Open 💬 6 comments Opened Feb 26, 2026 by mihaifm
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
The Tab key was added as a shortcut to queue prompts. But it also autocompletes paths. It can easily trigger an incomplete prompt when you're just trying to autocomplete a file name. Is there a way to change this behavior?
6 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Linking #14673 because it frames the broader UX that makes this Tab collision matter.
If Codex supports shell-like path completion directly in the composer for inline path-shaped tokens, then
Tab/ completion behavior needs to be designed as a real first-class interaction instead of colliding with prompt queueing.That means the feature request and the accidental-send/collision issue are really two sides of the same design seam.
I implemented an opt-in version of this on top of current
main.It adds:
Default remains
tab, butenterlets users keep Tab for completion/navigation.Compare view:
https://github.com/openai/codex/compare/main...tick10:fix/configurable-queue-key?expand=1
Commit:
aa04bad3d(feat(tui): add configurable queue key)This preserves current behavior by default and only adds an opt-in config path.
Happy to rework it if there's a preferred contribution path.
Additionally, on many common keyboard layouts, the tab key sits between the caps-lock key (which I use all the time) and the backtick key (which I also use all the time). It's way too easy to accidentally hit the tab key during normal typing, let alone for completions, for it to be used as as a submit action of any sort.
Same here. I’d strongly prefer Tab to be reserved for completion in the interactive CLI: use Codex-native completion when available, and fall back to shell completion when Codex has no candidate. If Tab-to-queue/submit remains supported, it should at least be configurable or disabled by default.
This is extremely annoying!