Claude Chill: Fix Claude Code's Flickering in Terminal
101 points
3 hours ago
| 17 comments
| github.com
| HN
prodigycorp
1 hour ago
[-]
I have 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

reply
EMM_386
1 hour ago
[-]
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.

reply
jschlatter
56 minutes ago
[-]
They started with Ink but have since switched to their own renderer:

> We originally built Claude Code on Ink, a React renderer for the terminal. [...] Over the past few months, we've rewritten our rendering system from scratch (while still using React).

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

reply
cududa
54 minutes ago
[-]
Thanks for sharing. Very … interesting. Just trying to understand why the heck would React be the best tool here?
reply
anematode
43 minutes ago
[-]
I genuinely thought this was satire until I looked it up. I guess it's just to make us webdevs feel at home in the Terminal (ooh, spooky!)
reply
rvz
39 minutes ago
[-]
Thats the problem. Some developers want to avoid learning another programming language and use one for everything (including their technologies.)

Using TS, React here doesn’t make sense for stability in the long term. As you can see, even when they replaced Ink and built their own, the problem still exists.

There are other alternatives that are better than whatever Anthropic did such as Bubbletea (Go) or Ratatui (Rust) which both are better suited for this.

Maybe they were thinking more about job security with TypeScript over technical correctness and a robust implementation architecture and this shows the lack of it.

reply
lifetimerubyist
27 minutes ago
[-]
React?!

Good grief get me off this sloppy ride.

reply
thomasahle
1 hour ago
[-]
I'm always surprised that Python doesn't have as good TUI libraries as Javascript or Rust. With the amount of CLI tooling written in Python, you'd think it had better libraries than any other language.
reply
wonger_
17 minutes ago
[-]
Blessed was a decent one iirc:

https://github.com/jquast/blessed

One reason for the lack of python might be the timing of the TUI renaissance, which I think happened (is happening?) alongside the rise of languages like Go and Rust.

reply
behnamoh
1 hour ago
[-]
it has, but python being single threaded (until recently) didn't make it an attractive choice for CLI tools.

example: `ranger` is written in python and it's freaking slow. in comparison, `yazi` (Rust) has been a breeze.

Edit: Sorry, I meant GIL, not single thread.

reply
ashirviskas
56 minutes ago
[-]
> it has, but python being single threaded (until recently) didn't make it an attractive choice for CLI tools.

You probably mean GIL, as python has supported multi threading for like 20 years.

Idk if ranger is slow because it is written in python. Probably it is the specific implementation.

reply
acdha
36 minutes ago
[-]
Textual looks really nice, but I usually make web apps so I haven’t tried it for anything serious:

https://textual.textualize.io/

reply
behnamoh
1 hour ago
[-]
then maybe they should've bought and fixed Ink instead of bun, just saying!
reply
reissbaker
1 hour ago
[-]
FWIW, Ink is working on an incremental rendering system: they have a flag to enable it. It's currently pretty buggy though unfortunately. Definitely wish Anthropic would commit some resources back to the project they're built on to help fix it...
reply
JamesSwift
20 minutes ago
[-]
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.

reply
jjayj
4 minutes ago
[-]
This is a massive commercial product with a serious issue (everyone knows about the flickering) that hasn't been solved for months now. I don't think leeway is warranted.
reply
behnamoh
1 hour ago
[-]
> 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.

reply
Xmd5a
26 minutes ago
[-]
I observe flickering with gemini-cli every now and then.
reply
bottlepalm
14 minutes ago
[-]
The joke is that AGI will be achieved when Claude Code can fix the flickering in Claude Code.
reply
f311a
1 hour ago
[-]
Imagine the amount of slop PRs if it was open source. They don’t want to taste their own medicine
reply
prodigycorp
1 hour ago
[-]
Reading their GitHub issues already is like reading through the diary entries of spurned lovers. I can only imagine the PRs.
reply
artursapek
1 hour ago
[-]
The biggest strength in OpenAI’s codex vs claude code is that it’s written in Rust and smooth as butter
reply
ossa-ma
18 minutes ago
[-]
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.
reply
teruakohatu
16 minutes ago
[-]
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.

reply
benzible
1 hour ago
[-]
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.
reply
foltik
58 minutes ago
[-]
Maybe try tmux? There’s no smooth scrolling, but there’s lots of other bells and whistles I wouldn’t give up for that.
reply
badlogic
2 hours ago
[-]
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.
reply
donw
2 hours ago
[-]
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."

reply
petemc_
10 minutes ago
[-]
I initially thought this was by David Beazley, the python/rust guy.
reply
internet2000
1 hour ago
[-]
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.
reply
behnamoh
1 hour ago
[-]
> 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.

reply
roywiggins
1 hour ago
[-]
It's possible it's from some other model or even a human, but it reads like every other Claude Code readme I've seen.
reply
behnamoh
1 hour ago
[-]
so then it could be written by a claude model inside opencode before anthropic got angry about it :)
reply
Aurornis
44 minutes ago
[-]
OpenCode still works fine with Claude models.

You just can’t use their private APIs, which isn’t really surprising.

reply
viraptor
2 minutes ago
[-]
There are workarounds on github already... It's less "can't" and more "they don't like it"
reply
phist_mcgee
16 minutes ago
[-]
Oh my god who cares?
reply
laughingcurve
1 hour ago
[-]
Possibly the greatest contribution to Claude code in months. I am rushing to my terminal to install, test, and update.
reply
LowLevelBasket
49 minutes ago
[-]
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
reply
esafak
44 minutes ago
[-]
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 :(
reply
headcanon
1 hour ago
[-]
THANK YOU! that flickering is giving me a headache. You're doing the lords work!

Anthropic: Please fix this ASAP

reply
gastonmorixe
39 minutes ago
[-]
just make the font-size smaller, and smaller, and smaller... until no more flickering.
reply
bearjaws
1 hour ago
[-]
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"...
reply
meursault334
1 hour ago
[-]
I tried this in the cursor terminal and it now flickers periodically but not like crazy.
reply
whh
1 hour ago
[-]
You are a legend. Thank you.
reply
alva
2 hours ago
[-]
Excellent, thank you. This had be causing me headaches!
reply
dionian
1 hour ago
[-]
yeah its like im being hypnotized and im forced to wait until programming is over
reply
janoelze
1 hour ago
[-]
amazing, thanks
reply
Der_Einzige
1 hour ago
[-]
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...
reply
ashirviskas
54 minutes ago
[-]
Do you also write your bytecode by human hands? At which abstraction layer do we draw the line?
reply
behnamoh
1 hour ago
[-]
if it works then who cares?
reply
rvz
1 hour ago
[-]
An AI wrote it.
reply
eru
1 hour ago
[-]
Why?
reply