Codex desktop terminal keyboard paste inserts text twice on Windows
Open 💬 10 comments Opened May 8, 2026 by NYuget19
What version of the Codex App are you using (From “About Codex” dialog)?
Latest version available as of May 8, 2026
What subscription do you have?
plus
What platform is your computer?
windows
What issue are you seeing?
In the Codex desktop app embedded terminal, keyboard-based paste inserts the clipboard contents twice.
Right-click paste works correctly. The issue only happens in the embedded terminal, not in the Codex chat input and not in external terminals.
Steps to reproduce
- Open the Codex desktop app on Windows.
- Focus the embedded terminal.
- Copy any short text, for example: test
- Paste it into the embedded terminal using Ctrl+V.
- The text is inserted twice.
- Repeat with Ctrl+Shift+V.
- The text is inserted twice.
- Repeat with Shift+Insert.
- The text is inserted twice.
- Paste using right-click.
- Right-click paste inserts the text only once.
- Paste into the Codex chat input.
- Paste works normally there.
- Paste into an external terminal.
- Paste works normally there.
Expected behavior
Keyboard paste should insert the clipboard contents once.
Actual behavior
Keyboard paste inserts the clipboard contents twice.
Additional information
- External terminals work normally.
- Codex chat input works normally.
- Only the Codex embedded terminal has the issue.
- Right-click paste works normally.
- Ctrl+V, Ctrl+Shift+V, and Shift+Insert all paste twice.
- Rebooting and reinstalling Codex did not fix the issue.
- This does not appear to be a PowerShell, PSReadLine, IME, or clipboard content issue.
What steps can reproduce the bug?
- Open the Codex desktop app on Windows.
- Focus the embedded terminal.
- Copy a short text string, for example: test
- Paste it into the embedded terminal using Ctrl+V.
- Observe that the text is inserted twice.
- Repeat the same test using Ctrl+Shift+V.
- Observe that the text is inserted twice again.
- Repeat the same test using Shift+Insert.
- Observe that the text is inserted twice again.
- Paste the same text using right-click paste.
- Observe that right-click paste inserts the text only once.
- Paste the same text into the Codex chat input or an external terminal.
- Observe that paste works normally outside the Codex embedded terminal.
What is the expected behavior?
_No response_
Additional information
_No response_
10 Comments
I already tried the following, but the issue still happens:
This appears to be specific to the Codex embedded terminal keyboard paste handler. It does not seem to be caused by clipboard contents, PowerShell, PSReadLine, Windows clipboard history, or Codex user settings.
Adding confirmation from a duplicate report (#21729), now closed in favor of this issue.
Additional repro details from my environment:
26.506.2125226200.8328pwsh), and Command Prompt.PSReadLinedoes not change the behavior.This supports the current hypothesis that the issue is in the Codex App embedded terminal keyboard-paste/input handling path rather than in a specific shell.
Adding another Windows confirmation with a slightly different repro detail and a code-level lead.
Environment:
OpenAI.Codex_26.506.3484.0_x64__2p2nqsd0c76g0Local checks that did not fix it:
QuickEditunderHKCU:\Consoleand the PowerShell console subkeysCode-level observation from the bundled app renderer:
The embedded terminal bundle contains an xterm paste handler shaped like:
That handler manually sends the clipboard text to the terminal but does not call
e.preventDefault(). In Electron/Chromium, the default paste action can still insert the same clipboard text into the hidden textarea, which then flows through the normal input path. That would explain a double insert, and it also matches the right-click paste duplication seen here.I prepared a local test patch that changes the handler to call
preventDefault()beforestopPropagation():I could not safely apply it to the installed Store package on the affected machine because
WindowsApps/TrustedInstallerblocks writes toapp.asar, but this looks like a likely minimal fix in the terminal paste event path.Adding another Windows confirmation where all keyboard paste paths duplicate text in the Codex embedded terminal.
Environment:
OpenAI.Codex 26.506.3741.0(OpenAI.Codex_26.506.3741.0_x64__2p2nqsd0c76g0)10.0.26100, build26100, x645.1.26100.7920Repro:
Ctrl+V,Ctrl+Shift+V, orShift+Insert.Expected: clipboard text is inserted once.
Actual: clipboard text is inserted twice.
Scope / negative checks:
This looks consistent with duplicate paste handling in the Codex app terminal frontend.
It's doing this on Cloud / web-based version as well
I've encountered this issue as well. It's relatively minor but still annoying, so hopefully it can be fixed soon.
I asked Codex to debug the installed Windows app and here's the diagnosis, if it helps:
Hope this gets fixed soon, because it's really annoying
Same here, bug is real
igual
I investigated this locally on Windows and I think the duplicate paste comes from an interaction between explicit paste events and the existing PasteBurst fallback.
Observed path:
Event::Paste(pasted)is mapped toTuiEvent::Paste(pasted)intui/event_stream.rs.app.rshandlesTuiEvent::Pasteand forwards it through the chat widget / bottom pane into the composer.ChatComposer::handle_paste(...)inserts the pasted text and clears the currentPasteBurststate.KeyCode::Char/KeyCode::Enterstream for the same clipboard payload.PasteBurst, flushed asFlushResult::Paste(...), and routed back through the paste insertion path, producing duplicate text.I tested a small local patch that avoids changing keybindings and keeps raw-only PasteBurst behavior intact. The approach:
KeyCode::Char/KeyCode::Enterreaches PasteBurst, consume only exact matching echo characters.\n.Local verification:
just fmtcargo check -p codex-tuigit diff --checkcargo test -p codex-tui explicit_paste_suppresses_matching_fast_raw_char_echo -j 1 -- --nocapturecargo test -p codex-tui multiline_explicit_paste_suppresses_matching_raw_enter_echo -j 1 -- --nocapturecargo test -p codex-tui raw_only_paste_burst_still_flushes_as_paste -j 1 -- --nocaptureI have the focused patch locally if maintainers think this approach aligns with the intended fix.
Related: #15047, #17140, #21729