[BUG] Cursor renders in wrong location (outside input box) after submit / new response / resize — vim mode, Linux + macOS
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
The visible white block cursor does not appear in the prompt input box. Instead it renders up in the conversation / text-summary area (above the input). After a redraw it is left misplaced outside the input box rather than positioned where I'm typing. This happens with vim mode enabled.
What Should Happen?
After every redraw, the cursor should be positioned inside the input box at the text caret location, not in the conversation/text-summary area above it.
Error Messages/Logs
None — purely a rendering/cursor-placement issue, no errors emitted.
Steps to Reproduce
- Launch
claudein a terminal with vim editor mode enabled (/vim). - Trigger any full redraw — each of these reproduces it independently:
- Press Enter to submit a prompt
- Let a new response stream in from Claude
- Resize the terminal window
- Observe: the white block cursor appears in the conversation / text-summary area instead of in the input box.
Reproduces in Alacritty, Ghostty, and GNOME Terminal, and on both Linux and macOS → not terminal- or OS-specific. Setting CLAUDE_CODE_NATIVE_CURSOR=1 does not fix it (cf. #63824). Turning vim mode off makes it behave a lot better. Likely related to #910 / #36765 (native-cursor handling) and #65810 (vim-mode cursor).
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version (exact last-working version not recorded).
Claude Code Version
2.1.169 (Claude Code)
Platform
Anthropic API
Operating System
Other Linux (Arch Linux, kernel 7.0.11-arch1-1, x86_64) — also reproduces on macOS
Terminal/Shell
Other (Alacritty / Ghostty / GNOME Terminal)
Additional Information
- Regression: did not happen on older versions.
- Claude Max subscription (auth via Anthropic API).
- No tmux/screen multiplexer.
- All three terminals run in truecolor (
COLORTERM=truecolor). - Shell: fish.
- Turning vim mode off significantly improves the behavior, implicating vim-mode cursor handling.
This issue has 9 comments on GitHub. Read the full discussion on GitHub ↗