Comment by cognitiveinline

8 days ago

What you say could be theoretically possible, but it's probably an issue with your usage of if. For eg: if any of this hard non-promptable project is available on github, or you've seen this problem in any large scale github project, you can share that. I've rarely seen a repo and a problem that claude can't chew through with the right prompt.

People keep saying things like

> it's probably an issue with your usage of if

> I've rarely seen a repo and a problem that claude can't chew through with the right prompt

> a skill/PEBKAC issue

But then I remember how Anthropic couldn't fix the flickering issue for many months. It just does not compute.

Is it that people working at Anthropic can't prompt and it's a "skill issue" too? I mean, the terminal does not flicker in a lot of other complex TUI apps that I use every day - Midnight Commander, Emacs, tmux, etc. These are open source, Claude could be prompted to "just do what Midnight Commander does". So what is it?

  • What does a random bug in one LLM's frontend app have to do with learning how to do prompt engineering well?

    • Because it proves that even the greatest prompt-engineers in the world are unable to vibe code their way out of a simple bug. The fact that this example is a small, annoying, random bug that is relatively harmless does not mean that the next bug won't be as harmless or even as apparent.

      1 reply →

  • Opencode had the same flickering issue not too long ago and they fixed it by switching from ink to opentui if I am not mistaken. So a solution is possible and known. Antropic just doesn't seem to care.

    • OpenCode, and all these other AI consoles, all do terminal I/O in the dumbest way possible.

      A good terminal program, like Emacs, uses escape sequences to create viewports, scroll text, etc. These sequences tell the terminal to do these things internally.

      All the modern AI tools ignore these escape sequences (which they wouldn't even have to know if they used ncurses) and just do frame-by-frame animation. So when OpenCode wants to scroll text, first it sends the text to the screen, then it sends ^[[1;1H and sends the whole text again, minus the first line or so, adding a new line to the bottom. Then it sends ^[[1;1H again, and sends the whole text AGAIN, cutting another line from the top, and adding another new one to the bottom. As if the terminal was a graphics device and you had to draw each frame.

      The flickering was probably due to sending ^[[2J to clear the screen before "drawing" each "frame."

      I oversimplified, though. OpenCode sends hundreds and hundreds of cursor-positioning escape sequences per "frame" of "animation".

      Even though it doesn't flicker anymore, "drawing frames" makes the scrolling noticeably slow and choppy if you run OpenCode (or any other terminal-based AI agent) on a different machine than the one your monitor is plugged into, even on a wired LAN.

      No AI model can give a believable explanation of why these apps (or their TUI libraries) are written this way.

      Docker also does this, and it drives me mad.