top | item 46701013

(no title)

chrislloyd | 1 month ago

Hi! I work on TUI rendering for Claude Code. I know this has been a long-standing frustration — it's taken longer than any of us wanted.

The good news: we shipped our differential renderer to everyone today. We rewrote our rendering system from scratch[1] and only ~1/3 of sessions see at least a flicker. Very, very few sessions see flickers in rapid succession which was so annoying before. Those numbers will keep dropping as people update.

We've also been working upstream to add synchronized output / DEC mode 2026 support to environments where CC runs and have had patches accepted to VSCode's terminal[2] and tmux[3]. Synchronized output totally eliminates flickering. As always, I recommend using Ghostty which has 2026 support and zero flicker.

Happy to answer questions!

[1]: https://github.com/anthropics/claude-code/issues/769#issueco...

[2]: https://github.com/xtermjs/xterm.js/pull/5453

[3]: https://github.com/tmux/tmux/pull/4744

discuss

order

elliot07|1 month ago

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

chrislloyd|1 month ago

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.

pqtyw|1 month ago

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?

rovr138|1 month ago

On the Ghostty recommendation, read this first - https://mitchellh.com/writing/ghostty-memory-leak-fix

> A few months ago, users started reporting that Ghostty was consuming absurd amounts of memory, with one user reporting 37 GB after 10 days of uptime.

> ...

> The leak was present since at least Ghostty 1.0, but it is only recently that popular CLI applications (particularly Claude Code) started producing the correct conditions to trigger it at scale. The limited conditions that triggered the leak are what made it particularly tricky to diagnose.

> The fix is merged and is available in tip/nightly releases, and will be part of the tagged 1.3 release in March.

giancarlostoro|1 month ago

Have you guys seriously considered decoupling the TUI / UI so anyone can write their own on top of Claude Code proper? I love how Zed did it, but its not always the most stable experience, but it is definitely better than staring at a TUI.

Thanks for the update!

chrislloyd|1 month ago

I believe the CC editor extensions and Zed's ACP both use the Claude Agent SDK.

pmarreck|1 month ago

While I have you on the line, I'm also experiencing tons of API request timeouts using Claude Code's own TUI client (on the $200/mo plan!!) and I don't know how to mitigate that, and it is frustrating

I'm not even using it particularly hard. Usually only one agent is running with possibly one sub-agent on occasion. Which is confusing because I've heard of people running ten at once and only then running into this issue...

Possibly related, I DID only upgrade to the $200 tier a few days ago... might there be a now-stale API rate limit in place?? Or maybe it's the long-running multi-compacted context that's the problem?

My account is tied to lumbergh-at-gmail-dot-com

I'm a dev so of course, happy to help run it down from my end

This tool is amazing btw. I'm currently working on a never-existed-before app that would have been impossible before AI... And it's going quite well

badlogic|1 month ago

> differential rendering

Now where have I seen that before.

pqtyw|1 month ago

> and only ~1/3 of sessions see at least a flicker

Sounds like only is a bit misplaced. IMHO such bugs that take forever to fix make Anthropic seem very unprofessional.

victor106|1 month ago

I wonder how much of Claude Code is developed using Claude?

behnamoh|1 month ago

A lot of it, and their Claude Cowork is all claude's work (according to claude code's creator).

xcodevn|1 month ago

> only ~1/3 of sessions see at least a flicker.

...after many months, for such a visible bug, is such a crazy thing to say.

In case the above comes across as too hostile, to balance this, I would say thank you to the claude code team for such an amazing product!

embedding-shape|1 month ago

More than 30% of the times you use Claude Code it "flickers"? That can't be right? I use neovim and codex side by side with tmux, both flicker about 0%, what is Claude Code doing that makes it flicker so much? Seems strange

psyclobe|1 month ago

Seeing massive slowdowns in console interactions today... is there a correlation? Others here at my work are seeing it too!

behnamoh|1 month ago

> The good news: we shipped our differential renderer to everyone today. We rewrote our rendering system from scratch[1] and only ~1/3 of sessions see at least a flicker. Very, very few sessions see flickers in rapid succession which was so annoying before. Those numbers will keep dropping as people update.

I'm using the latest version and see terrible flicker in tmux still. You guys should be ashamed tbh.

chrislloyd|1 month ago

How tall is your tmux pane? If it's very small it might still flicker as CC tries to redraw scrollback. I've noticed several tmux users have layouts where they stack several panes on top of each other making each one quite short.

Another option is to rebuild tmux from latest source so it buffers synchronized output, which should prevent the flicker entirely.

If you're still seeing a terrible flicker please file a `/bug`!

corndoge|1 month ago

I'm sorry for the low quality comment, but man, get some perspective.

pmarreck|1 month ago

i’ve noticed the issue with tmux more than with specific terminals.

basically, the rapid replay of the entire conversation history (the CC bug) somehow interacts destructively with something in tmux, causing it to be 10 times worse. The “flicker” becomes a multi-second delay while I wait twiddling my thumbs…

i’ve seen this in every terminal, including ghostty… as nice as ghostty is, expecting everyone to use it is kinda meh (at least support Wezterm too, lol)