Claude Chill: Fix Claude Code's flickering in terminal

18 days ago (github.com)

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

  • 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

    • 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.

      16 replies →

    • 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?

  • 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.

  • 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!

  • 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

  • > 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.

  • > 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!

    • 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

      2 replies →

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

  • > 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.

    • 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`!

      1 reply →

  • 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)

I have not used Claude Code in a couple months. THEY HAVEN’T FIXED THIS YET?

I’m starting to think that the reason why anthropic doesn’t open source Claude code isn’t due to competitive reasons, it’s because they don’t want people to see what a mess their code base is.

Maybe they bought Bun to increase the rate of flickering so that the text looks solid again

  • The problem is they are using the Ink library which clears and redraws for each update.

    https://github.com/anthropics/claude-code/issues/769

    I locally patched the closed-source CLI npm package but it's not perfect. They would have to switch how their TUI is rendered on their side.

    Apparently OpenAI Codex is rust+ratatui which does not have this issue.

  • I have a hypothesis: they haven't fixed this because they're using Claude Code to develop Claude Code. I'm a fan of Claude Code, but it isn't good enough to fix tricky issues like this. And because no one looks at the codebase themselves, they haven't been able to fix it after many months. Sometimes, all we need is an engineer to sit down for the weekend and fix the damn bug, not spin up 9 different Claude Agents prompted to fix itself.

  • > it’s because they don’t want people to see what a mess their code base is.

    if Amodei hadn't said "90% of code will be written by AI", at least I wouldn't call them hypocrites, but the fact that the company that makes such wild claims can't fix a freaking flicker and scroll issue until an indie-dev steps in just shows how far behind their product is from their claims.

    I have CC and use many models with it (Codex in CC, try it!), but I won't let Anthropic "lecture" us about how "the roots of the problem go deep". Literally no other CLI tool has these issues: opencode, codex, gemini, droid, etc.

  • I think its clear the team is drowning. They are just trying to keep their head above water. They have massive adoption, high churn in the underlying models, and unlimited numbers of github issues opened every day.

    Should it be solved by now? Yes. If anyone on the team is dogfooding it in a typical tmux environment, its painful. But lets give them some leeway here.

  • I wouldn't be able to ship this to anyone without fixing it. Sending 5,000 lines of text to a terminal just to clear them all immediately, and in a loop... i'd be so embarrassed. Apps that clear scrollback have their uses, but you don't spam the terminal with unusable garbage.

    And we solved this problem over 30 years ago? Ncurses was made for this. The buffer is kept in memory, you hit page-up and it renders the previous page, page-down and it renders the next page, let it roll and it renders each successive page as a stream, or just the last page, etc.

    • Many users do like to use scrollback to copy large passages of text, which becomes difficult and cumbersome if they have to use page-up page-down to get at the other parts of it.

  • Imagine the amount of slop PRs if it was open source. They don’t want to taste their own medicine

    • Reading their GitHub issues already is like reading through the diary entries of spurned lovers. I can only imagine the PRs.

I would love to use this but it breaks Ghostty's native scrollback (two-finger scroll), which I want more than I want to solve the flickering. The PTY proxy intercepts the output stream so Ghostty can't access its internal scrollback buffer anymore.

  • How does Ghostty break scroll? I've never noticed this and I just tested, seems to work fine. My problem is the lack of a scrollbar but I know they are working on that.

    • This is a thread about Claude Chill. I said that Claude Chill breaks scrollback on ghostty.

What is the flickering issue?

Sometimes Claude Code scrolls up far away, and I struggle to scroll it down again. And I have to restart the terminal and Claude Code for it to behave well again. But I don't know if this is the flickering issue, or if it's due to a bug in Windows, Alacritty, Zsh or something else.

  • Thank you, that's the primary issue I have too, I'm surprised it's not being talked more here in this thread. I am on iTerm2 in macOS so not specific to your environment. It's really annoying and restarting doesn't fix it in my case, only a fresh session.

  • I was having this issue with Claude code, and even worse with Gemini, while using the VSCode terminal. I switched to Ghostty and I don't have any flickering or weird scrolling issues at all anymore.

The readme.md format and conventions being a tell that this got written by Claude Code itself makes the whole thing Chef's kiss. I love the future.

  • > this got written by Claude Code

    nit but CC itself doesn't write anything, much like a body w/o brain doesn't program anything. it's possible the OP was using other models like codex/gemini/etc. in CC.

One feature I'd love is a toggle to lock the input to the bottom of the terminal. It's a big inconvenience to have to scroll up and down between the chat and the input when responding to changes.

  • I was just thinking that half a hour ago when using Claude via tmux via mosh via my phone.

    It would be a game changer for mobile usage.

Possibly the greatest contribution to Claude code in months. I am rushing to my terminal to install, test, and update.

Codex is so much more responsive for me no matter how long the session is running. Claude just starts stuttering badly when the session is running for sometime.

THANK YOU! that flickering is giving me a headache. You're doing the lords work!

Anthropic: Please fix this ASAP

I don't know if this is my problem but formatting has been completely broken recently. It feels ... vibe coded. I wish they had not blocked opencode :(

Damn I had assumed it was that simple of a problem just based on how the scrolling messed up, and thought "surely it's not that simple"...

Why didn't they just ask Claude to fix it?

  • I read the other day that one of their devs has a vanilla CC setup that consists of 10 agents running in parallel. Why doesn’t he just ask one of those agents to fix it??

It is very 2026, that this exists for the product by a company that goes all in on vibe coding. Kudos for the creative solution.

  • I mentioned this to Claude and this was the response:

    Ha! The irony is not lost on anyone.

    "We've built the world's most advanced AI coding assistant. It can refactor entire codebases, debug complex issues, and ship production features autonomously. Anyway, here's a terminal bug that makes your screen look like a slot machine. We'll get to it eventually."

I guess it's not hard to use AI to improve your productivity by 10x when your code is written by 0.1x devs. It's embarrassing an OSS fixed their problem before they did after all that money they raised

Did this get written mostly by human hands, or did AI also write this? I would hope something like this was primarily made by humans...