News for hackers. Stuff that matters.
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by elliot07 on Tuesday January 20, 2026 @11:30PM (#46701147)
Why has public comms been so poor on this issue? There's been lots of Github issues posted in the Claude Code repo with lots of new comments each day screaming into the void, but radio silence from Anthropic since the revert in December. It's clearly causing a lot of frustration for users leading to clever workarounds like this.

It was obviously a complex issue (I appreciate that and your work!). But I think there's a lot to be improved on with communication. This issue in particular seems like it has lost a lot of user trust - not because it was hard to solve and took awhile - but because the comms and progress around it was so limited.

Eg issues: * https://github.com/anthropics/claude-code/issues/1913 * https://github.com/anthropics/claude-code/issues/826 * https://github.com/anthropics/claude-code/issues/3648

Re:Claude Chill: Fix Claude Code's Flickering in Terminal by chrislloyd on Wednesday January 21, 2026 @12:00AM (#46701325)
The communication is definitely on me! There honestly wasn't much new to say -I've been slowly ramping since early Jan just to be extra sure there's no regressions. The main two perf. issues were:

1. Since we no longer have <Static> components the app re-renders much more frequently with larger component trees. We were seeing unusual GC pauses because of having too much JSX... Better memoization has largely solved that. 2. The new renderer double buffers and blits similar cells between the front and back buffer to reduce memory pressure. However, we were still seeing large GC pauses from that so I ended up converting the screen buffer to packed TypedArrays.

Re:Claude Chill: Fix Claude Code's Flickering in Terminal by catlifeonmars on Wednesday January 21, 2026 @01:22AM (#46701822)
I’m really surprised that GC is an issue at the bits/sec throughput a TUI would be pushing. At the risk of making an obvious observation: your render loop is doing way too much work for what it is producing.
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by moltar on Wednesday January 21, 2026 @02:33AM (#46702294)
I think this is the main issue. When I would get into flickering mode, it appeared that the entire TUI was re-rendering on every key press. I don’t know if it’s maybe just the limitation of Ink or even terminals.
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by catlifeonmars on Wednesday January 21, 2026 @02:49AM (#46702423)
Well vim doesn’t flicker so it’s definitely not a limitation of terminals, but you’re probably right about the Ink/React stack.
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by nevertoolate on Thursday January 22, 2026 @03:38AM (#46716662)
So why are you stuck with ink/react stack?
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by catlifeonmars on Thursday January 22, 2026 @04:42AM (#46717085)
I don’t use React/Ink for anything, what do you mean?
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by chrislloyd on Wednesday January 21, 2026 @09:18AM (#46706040)
Most people's mental model of CC is that "it's just a TUI" but it should really be closer to "a small game engine". For each frame our pipeline constructs a scene graph with React -> layout elements -> rasterize them to a 2d screen -> diff that against the previous screen -> _finally_ use the diff to generate ANSI sequences to draw. We have a ~16ms frame budget so we have roughly ~5ms to go from the React scene graph to ANSI written. You're right that in theory we shouldn't have to do much work, but in practice that's required optimizations at every step.

For the GC pauses specifically, what mattered is predictable performance. More allocations == more GC == more frames where the VM is locked up seemingly doing nothing. On slower machines we were seeing this be in the order of seconds, not ms and when somebody is typing all they feel is the 1 character that's stuttering. Honestly, I was surprised about this too as GC in JS is often not something that's too impactful.

Re:Claude Chill: Fix Claude Code's Flickering in Terminal by brazukadev on Wednesday January 21, 2026 @12:21PM (#46708608)
Maybe the problem is using React for that.
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by catlifeonmars on Thursday January 22, 2026 @01:07AM (#46715840)
Thanks for the in depth explanation! I think the comparison to a game engine makes a lot of sense. Is the diff just part of the react rendering engine, or is it something you intentionally introduce as a performance optimization? Mostly I’m wondering how much the diff saves on rendering performance if you’ve already generated a 2D raster. In the browser, this saves on API calls to the DOM but at that point you haven’t rendered anything resembling an image. Is this what helps to resolve flickering, perhaps?
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by vintagedave on Thursday January 22, 2026 @04:27AM (#46716974)
Can I ask why you used JavaScript at all for CC? Or even React for a simple UI? It seems misaligned with the app’s nature. This bug, GC pauses, everything else you mention… This isn’t criticism, because I believe people make good judgements and you and Anthropic will have good reasons! It’s just puzzlement, in that I don’t understand what the balance judgement was that led you here, and having experienced all the issues it led to I would love to know what the reasons were. Thankyou for any insights you can share :)
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by eyeris on Thursday January 22, 2026 @08:24PM (#46727249)
Supposedly using react allows CC to have structured output so it can understand what’s on the screen.
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by OccamsMirror on Friday January 23, 2026 @10:56PM (#46740915)
Should have used Go with Bubbletea.
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by xyzsparetimexyz on Thursday January 22, 2026 @05:08AM (#46717276)
What the fuck? What's wrong with idk, ncurses?
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by pennomi on Thursday January 22, 2026 @08:31AM (#46719012)
TUI development is a lost art these days, apparently.
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by catlifeonmars on Thursday January 22, 2026 @10:07AM (#46720179)
TUIs are experiencing something of a renaissance, I think. My hypothesis is that the popularity attracts newcomers who inevitably bring their own preconceptions from other domains. Many are unaware of the state of the art and reinvent the wheel. I don’t think this categorically a bad thing, but it can be a mixed bag of slop and genuinely useful cross-pollination.
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by justinhj on Friday January 23, 2026 @12:04PM (#46734877)
Code sharing with their web app. Layouts. Event handling. Not wanting to reimplement all that from scratch when React and Ink is a popular and full featured option.
Re:Claude Chill: Fix Claude Code's Flickering in Terminal by withinboredom on Thursday January 22, 2026 @05:29PM (#46725965)
> On slower machines we were seeing this be in the order of seconds, not ms and when somebody is typing all they feel is the 1 character that's stuttering.

You mean like a laptop that is trying to stay cool (aka, cpu throttling) on battery power while Claude is running a slightly different version of the test suite for the 5th time to verify it didn't break anything?

Yeah, the typing latency is really bad in those cases. Sometimes waiting for 40 seconds or more.

Re:Claude Chill: Fix Claude Code's Flickering in Terminal by pqtyw on Sunday January 25, 2026 @01:01PM (#46756386)
Presumably they had no clue how to fix it and just ignored it and pretended everything works fine because they didn't want to admit it?