Where does the bug appear (feature/product)?
Cursor CLI
Describe the Bug
Cursor Agent often drops one character from known repeated-letter/digit sequences when freely recalling or writing mid-prose identifiers - even in short “reply with only X” answers, and sometimes after reading a document that contains the correct spelling.
Observed corruptions (correct → emitted):
- site.tail112233ee.ts.net → site.tail12233ee.ts.net or site.tail11233ee.ts.net
- GitHub - tiann/hapi: App for Claude Code / Codex / Gemini / OpenCode, vibe coding anytime, anywhere · GitHub → github.com/tian/hapi
- oos-linux → os-linux
This is not a display/render bug in a wrapper: the wrong string is present in the agent message payload / ACP transcript. Short cursor-agent --mode ask one-liners often succeed; Agent mode (tools + multi-turn) reproduces reliably.
Affects multiple Cursor-selectable models in the same Agent path (Auto, Composer 2.5, Claude Opus via Cursor, GPT/Codex via Cursor) — not limited to one SKU.
Steps to Reproduce
-
On Linux, Cursor CLI 2026.07.17-3e2a980 (Ultra).
-
Start Cursor Agent (ACP) in a repo that knows an estate hostname with doubled digits/letters guest oos-linux, upstream GitHub - tiann/hapi: App for Claude Code / Codex / Gemini / OpenCode, vibe coding anytime, anywhere · GitHub). Do NOT put the correct spelling in the user prompt and do NOT say “be careful about doubles.”
-
Use a casual prompt, e.g.:
- “Where do I open the HAPI web UI over the tailnet for this estate? Reply with only the https origin (no path).”
- “Which host runs the HAPI hub on this estate? Hostname only.”
- “Give the full GitHub URL for issue 878 in the upstream hapi repo under the tiann org.”
- Or a short prose ask that naturally includes those links.
-
Run the same prompts under several --model values: auto, composer-2.5, claude-opus-4-8-medium, gpt-5.3-codex-low.
-
Inspect the agent’s own message text (not UI chrome).
Repro matrix we ran 2026-07-20 (Agent/ACP sessions):
- claude-opus-4-8-medium → https://site.tail12233ee.ts.net (dropped a 1)
- gpt-5.3-codex-low → os-linux ; https://site.tail11233ee.ts.net
- auto / composer-2.5 → correct site.tail112233ee.ts.net in one turn, then https://site.tail12233ee.ts.net and/or https://github.com/tian/hapi/issues/878 in another
Expected Behavior
When the model intends a known identifier with repeated characters, the emitted text should preserve those characters exactly (tail112233ee, tiann, oos-linux). Reading a doc with the correct spelling and then rewriting the same hostname/URL should not drop a digit or letter.
Operating System
Linux
Version Information
CLI:
CLI Version 2026.07.17-3e2a980
OS linux (x64)
Subscription Tier Ultra
(IDE: fill from Menu → About Cursor → Copy if filing as IDE as well)
For AI issues: which model did you use?
Reproduced across Cursor Agent model choices in one matrix:
- auto
- composer-2.5
- composer-2.5-fast
- claude-opus-4-8-medium
- gpt-5.3-codex-low
Additional Information
Proof excerpts from Cursor Agent message payloads (2026-07-20). Wrong forms are in the agent message text itself.
-
Model: claude-opus-4-8-medium (Cursor Agent)
Cursor chat id: 2740e5b2-1c6f-4aff-a6e9-fc4f0f775e45
Emitted: https://site.tail12233ee.ts.net
(correct estate hostname is site.tail112233ee.ts.net — dropped one “1”) -
Model: gpt-5.3-codex-low (Cursor Agent)
Cursor chat id: adbb987-f987-47c1-ad2b-d6020510096a
Emitted hostname: os-linux (correct: oos-linux)
Emitted URL: https://site.tail11223ee.ts.net (correct: …tail112233ee…) -
Model: composer-2.5 (Cursor Agent)
Cursor chat id: 965af036-9901-408d-9a71-8f9e6350cb0f
Same session emitted correct https://site.tail112233ee.ts.net AND later:
https://site.tail12233ee.ts.net
https://github.com/tian/hapi/issues/878 (dropped “n” from tiann) -
Model: auto (Cursor Agent)
Same pattern: correct site.tail112233ee.ts.net plus later site.tail11223ee.ts.net / github.com/tian/…
Control notes:
- This is NOT a third-party UI render bug: strings appear in agent/ACP message content.
- cursor-agent --mode ask with an explicit “output exactly site.tail112233ee.ts.net” style prompt often PASSES — the failure is free recall / agent prose, not “cannot emit the characters ever.”
- Standalone non-Cursor agent runners for Claude/Codex are outside this report; here all failures are under Cursor Agent with different --model values.
Happy to attach full transcripts or re-run with privacy disabled for Request IDs.
Of note - even in the construction of this bug report, there were MANY missing characters, from words that had doubled characters (like “missing” - this is a PERVASIVE issue)
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor