Claude Code patches the JetBrains flickering bug, the stuck 1M-token session, and the image error loop
Three high-impact Claude Code bugs are now fixed: JetBrains IDE flickering, sessions permanently stuck at 1M context, and a token-wasting image error loop.
If you have been using Claude Code inside a JetBrains IDE recently, you may have noticed the terminal doing odd things. Scroll events firing in the wrong direction. Text flickering. Arrow keys appearing where you did not press them. These are not isolated quirks; they are a documented set of regressions that affected IntelliJ IDEA, PyCharm, WebStorm, and the wider JetBrains family. They are now fixed.
The same recent patch window also closed two other bugs worth knowing about: a session that could get permanently stuck when it hit the 1M-token context boundary without the right credits, and a repeating error message that wasted tokens whenever a session contained an image the model could not process. None of these are dramatic new features, but if any of them have been silently slowing you down, the fixes matter.
The JetBrains terminal problems
There were actually two separate issues here, not one, which is worth understanding because they affected different IDE versions.
On JetBrains 2025.2, the scroll-wheel handling was broken in a way that produced spurious arrow key events, scroll events firing in the wrong direction, and what users described as runaway acceleration. Scrolling through a long output felt unpredictable because, under the hood, the terminal was receiving malformed input events.
On JetBrains 2026.1 and later, a different regression caused visible flickering in the Claude Code terminal panel. This one was resolved by enabling synchronized output, a terminal rendering protocol that coordinates buffer updates so the display does not tear between frames.
If you use Claude Code through the JetBrains plugin, both of these should now be resolved after updating. The scroll fix and the flickering fix address distinct root causes, but the end result is the same: the terminal behaves the way you expect it to.
Sessions getting permanently stuck at 1M context
This one had a frustrating failure mode. If you were on a plan without 1M-token context credits and a session tried to use that extended context window, the session would hit an error along the lines of “Usage credits required for 1M context” and then simply stop. Not degrade gracefully. Not compact. Just hang there, permanently stuck, with no way to recover short of starting a new session.
Some users were hitting this immediately on fresh sessions with no files open, which made it especially confusing. The session usage was showing 0%, but the error was still firing.
The fix enables automatic compaction when this boundary is hit. Instead of getting stuck, the session now compacts itself back under the standard context limit and carries on. You lose some context history in that compaction, but you keep your session and your work.
There was also a related fix for remote sessions getting permanently stuck when a brief backend disruption happened during worker registration at startup. Both issues pointed at the same class of problem: a failure condition with no recovery path, now given a recovery path.
The image error loop
If you sent an image in a Claude Code session and that image could not be processed, the previous behaviour was to throw an error and then keep throwing it. Every subsequent exchange in the session would trigger the same “image could not be processed” message, and each one consumed tokens. You were effectively paying to be told, repeatedly, that something had already gone wrong.
Two related fixes landed here. The first addresses the single-image case where an unprocessable image causes a recurring error and accumulates extra token usage. The second addresses the multi-image case, where a session containing several images would loop on “an image in the conversation could not be processed and was removed.”
The conversation no longer stalls on the broken image. A related improvement also fixed MCP images with unsupported MIME types (SVG being the common example) breaking the conversation entirely. Those are now saved to disk and referenced in the tool result instead.
Other fixes in this window worth noting
A few other fixes arrived alongside these that are worth a quick mention:
- The agents view was keeping sessions under “Working” with a busy spinner for up to 30 seconds after the worker had already replied. That delay is now gone.
- Background agents could accidentally read project settings (
.mcp.jsonapprovals, trust configuration) from a different directory when dispatched onto a pre-warmed worker. That isolation bug is fixed. - Attaching to a background session that was started on an older version after a daemon auto-update was failing with an EAUTH error. Now resolved.
- Shift plus non-ASCII characters (Shift+ä producing Ä, for example) were being silently dropped in terminals using the Kitty keyboard protocol, including WezTerm, Ghostty, and kitty itself. Fixed.
- The slash command autocomplete popup was capped at showing roughly three to five commands regardless of how tall your terminal was. It now scales with terminal height.
What you need to do
Claude Code updates automatically in the background on native installations. If you want to force the update now rather than wait, run:
claude update
The full changelog is public on GitHub if you want to track exactly which version introduced each fix. These patches landed across several releases in the same recent window rather than in a single bundled update, but they are all available in the current version.
If you have been working around any of these bugs, you can stop.