CLI TUI: U+0040 in scoped npm package names can hide responses and appear to rewind transcript

Open 💬 0 comments Opened Jul 20, 2026 by 3amcinnamonroll

What version of Codex CLI is running?

codex-cli 0.144.6

What subscription do you have?

ChatGPT subscription; tier not confirmed.

Which model were you using?

gpt-5.6-sol

What platform is your computer?

Darwin 25.5.0 arm64 arm (macOS 26.5.2)

What terminal emulator and version are you using?

Apple Terminal 470.2, without a terminal multiplexer.

Codex doctor report

The report confirms Codex 0.144.6, Apple Terminal 470.2, and mentions_v2 enabled with no feature override. The full report was collected through a managed agent shell, so its network and TTY diagnostics describe that subprocess rather than the interactive terminal and are omitted to avoid misleading results.

What issue are you seeing?

When a user message or assistant response contains a scoped npm package name beginning with Unicode U+0040, the TUI can appear to jump backward in the conversation. Recent responses disappear or fail to render, making it look as though the session reverted to an earlier state.

The underlying conversation appears to remain intact: subsequent responses retain the missing context, and repository state is unaffected.

This occurred repeatedly while discussing the scoped Stylistic ESLint package. Rephrasing the same discussion using the words "at-sign" instead of the literal character avoided the problem. Markdown code formatting did not reliably prevent it.

Because mentions_v2 is enabled, this may be an interaction between unified mention parsing and scoped npm identifiers.

What steps can reproduce the bug?

  1. Start an interactive Codex CLI session and exchange several ordinary messages.
  2. Enter a message containing a scoped npm identifier. Construct it as Unicode U+0040 followed immediately by stylistic/eslint-plugin.
  3. Submit the message and continue the conversation.
  4. Ask Codex to repeat or explain that package name, causing it to appear in an assistant response as well.
  5. Observe that recent transcript content may disappear, fail to render, or appear to jump back to an earlier point.

The problem was observed when the character appeared in both user input and assistant output.

Thread ID: 019f8063-3c6f-71e1-896a-7a14592bed8f

What is the expected behavior?

Scoped npm identifiers should render as ordinary text. Mention parsing should not alter, hide, or rewind transcript history when no valid mention is selected.

Additional information

  • mentions_v2 is stable and enabled with no feature override.
  • Thread inventory and saved rollout files remained consistent after the apparent rewind.
  • Avoiding the literal character prevented the observed problem.
  • Related but less specific reports: #20303 and #22068.

View original on GitHub ↗