Readit News logoReadit News
jsnell · 5 months ago
I find it strange how most of these terminal-based AI coding agents have ended up with these attempts at making text UIs flashy. Tons of whitespace, line art, widgets, ascii art and gradients, and now apparently animations. And then what you don't get is the full suite of expected keybindings, tab completion, consistent scrollback, or even flicker-free text rendering. (At least this one seems to not be written with node.js, so I guess there's some chance that the terminal output is optimized to minimize large redraws?).

So they just don't tend to work at all like you'd expect a REPL or a CLI to work, despite having exactly the same interaction model of executing command prompts. But they also don't feel at all like fullscreen Unix TUIs normally would, whether we're talking editors or reader programs (mail readers, news readers, browsers).

Is this just all the new entrants copying Claude Code, or did this trend get started even earlier than that? (This is one of the reasons Aider is still my go-to; it looks and feels the way a REPL is supposed to.)

citizenpaul · 5 months ago
Well this specific tool is by a company called Charm that has the mission statment of making the command line glamerous. They have been around for several years prior to the LLM craze.

They make a CLI framework for golang along with tools for it.

reactordev · 5 months ago
That’s right. Charm has been making pretty tuis since the beginning of the group. BubbleTea and VHS are amazing. Everyone should try them.
thinkxl · 5 months ago
I came to reply this. They have been building very cool CLI projects and those projects end up composing new bigger projects. This is their last one (That I know of) which use most of the other projects they created before.

They didn't do it flashy for this project specifically (like Claude Code, which I don't think is flashy at all) but every single one of their other projects are like this.

mylons · 5 months ago
also text UIs have always attempted a sense of flashiness? your BIOS, DOS UI's back in the day, etc. the OP sounds oddly jaded by it for no particular reason?
breuleux · 5 months ago
What bothers me is that what I like about terminals is the scrolling workflow of writing commands and seeing my actions and outputs from various sources and programs sequentially in a log. So what I want is a rich full-HTML multi-program scrolling workflow. Instead, people are combining the worst of both worlds. What are they doing? Give me superior UI in a superior rendering system, not inferior UI in an inferior rendering system, god damn it.
dedpool · 5 months ago
You can run it inside the terminal while still using your code editor with full support for diffs and undo. It works seamlessly with IDE like Cursor AI or VSCode, allowing multiple agents to work on different tasks at the same time, such as backend and frontend. The agents can also read each other’s rules, including Cursor rules and Crush Markdown files.
ebcase · 4 months ago
This sounds kinda like https://sketch.dev/

Cc @crawshaw

mccoyb · 5 months ago
Say more about what you mean by "multi-program scrolling workflow", if you don't mind
__jonas · 5 months ago
Nah, this type of text UI has been charmbracelet's whole thing since before AI agents appeared.

I quite like them, unlike traditional TUIs, the keybindings are actually intuitively discoverable, which is nice.

wonger_ · 5 months ago
Flashy TUIs have been around for a few years. Check out the galleries for TUI frameworks:

https://ratatui.rs/showcase/apps/

https://github.com/charmbracelet/bubbletea/tree/main/example...

https://textual.textualize.io/

I've been drafting a blog post about their pros and cons. You're right, text input doesn't feel like a true REPL, probably because they're not using readline. And we see more borders and whitespace because people can afford the screen space.

But there's perks like mouse support, discoverable commands, and color cues. Also, would you prefer someone make a mediocre GUI or a mediocre GUI for your workflows?

Arubis · 5 months ago
I suspect some of it is that these interfaces are rapidly gaining adherents (and developers!) whose preference and accustomed usage is more graphically IDE-ish editors. Not everyone lives their life in a terminal window, even amongst devs. (Or so I’m told; I still have days where I don’t bother starting X/Wayland)
kgwgk · 5 months ago
At least one can use Claude Code within emacs: https://github.com/stevemolitor/claude-code.el
umanwizard · 5 months ago
You can also just run it in vterm
JeanMertz · 5 months ago
For what it's worth, this is exactly why I am working on Jean-Pierre[0], pitched as:

> A command-line toolkit to support you in your daily work as a software programmer. Built to integrate into your existing workflow, providing a flexible and powerful pair-programming experience with LLMs.

The team behind DCD[1] are funding my work, as we see a lot of potential in a local-first, open-source, CLI-driven programming assistant for developers. This is obviously a crowded field, and growing more crowded by the day, but we think there's still a lot of room for improvement in this area.

We're still working on a lot of the fundamentals, but are moving closer to supporting agentic workflows similar to Claude Code, but built around your existing workflows, editors and tools, using the Unix philosophy of DOTADIW.

We're not at a state where we want to promote it heavily, as we're introducing breaking changes to the file format almost daily, but once we're a bit further along, we hope people find it as useful as we have in the past couple of months, integrating it into our existing terminal configurations, editors and local shell scripts.

[0]: https://github.com/dcdpr/jp [1]: https://contract.design

touristtam · 4 months ago
You could do with a website and some screenshots to give a better overview of what one is looking at. ;)
chrisweekly · 5 months ago
DOTADIW = Do One Thing And Do It Well

^ for the uninitiated

segmondy · 5 months ago
you are showing how young you are. ;-) I'm glad this is back as someone that grew up in the BBS era, colorful text based stuff brings back joyful memories. I'm building my own terminal CLI coding agent. My plan is to make it this colorful with ascii art when I'm done, I'm focused on features now.
smokel · 5 months ago
They are easier to make than full-fledged user interfaces, so you get to see more of them.
drdaeman · 5 months ago
Well, they all seem to have issues with multi-line selection, as those get all messed up with decorations, panes and whatever noise is there. To best of my awareness, the best a TUI can do is to implement its own selection (so, alt-screen, mouse tracking, etc. - plenty of stuff to handle, including all the compatibility quirks) and use OSC 52 for clipboard operations, but that loses the native look-and-feel and terminal configuration.

(Technically, WezTerm's semantic zones should be the way to solve this for good - but that's WezTerm-only, I don't think any other terminal supports those.)

On the other hand, with GUIs this is not an issue at all. And YMMV, but for me copying snippets, bits of responses and commands is a very frequent operation for any coding agent, TUI, GUI or CLI.

knoopx · 5 months ago
this is debatable, a proper TUI has the same complexities as conventional UIs + legacy rendering.
Oras · 5 months ago
It feels like going back to NC again (Norton Commander)
troupo · 5 months ago
People have been making TUIs since time immemorial.

Discover the joys of Turbo Vision and things like Norton Commander, DOS Navigator, Word Perfect etc.

They problem is that most current tools can neither do the TUI right or the terminal part right.

layer8 · 5 months ago
I wouldn’t describe those traditional TUIs as trying to be flashy, though. They were largely utilitarian.
QuadmasterXLII · 5 months ago
I have a sneaking suspicion claude code is tui just because that’s more convenient for running on ephemeral vms (no need to load a desktop os, instant ssh compatibility) and that they didn’t realize everyone would be raw dogging —dangerously-no-permissions on their laptop’s bare metal OS
bdhcuidbebe · 5 months ago
> I find it strange how most of these terminal-based AI coding agents have ended up with these attempts at making text UIs flashy.

Its next gen script kids.

jrm4 · 5 months ago
If true, GOOD.

I 100% unironically believe we're better off more script kiddies today, not fewer.

anthk · 5 months ago
Uhm, you forgot ANSI animations from BBS, stuff like the BB demo from AALIB, aafire, midnight commander with tons of colours, mocp with the same...

Flashy stuff for the terminal it's not new. Heck, in late 90's/early 00's everyone tired e17 and eterm at least once. And then KDE3 with XRender extensions with more fancy stuff on terminals and the like, plus compositor effects with xcompmgr and later, compiz.

But I'm old fashioned. I prefer iomenu+xargs+nvi and custom macros.

bananapub · 5 months ago
why is it strange? they're making it look slick and powerful and scifi and cool, as a - extremely successful - marketing gimmick.
tptacek · 5 months ago
One nice thing about this is that it's early days for this, and the code is really clear and schematic, so if you ever wanted a blueprint for how to lay out an agent with tool calls and sessions and automatic summarization and persistence, save this commit link.
chrisweekly · 5 months ago
Thanks for the tip! I trust your judgement so this repo just got more interesting for me.
tekacs · 5 months ago
For anyone else who wants to actually be able to _read_ what's happening in the demo GIF, I slowed it down in ffmpeg and converted it to video form:

https://share.cleanshot.com/XBXQbSPP

camgunz · 5 months ago
Low effort comment but an upvote felt inadequate: thanks!
cristea · 5 months ago
I would love a comparison between all these new tools, like this with Claude Code, opencode, aider and cortex.

I just can’t get an easy overview of how each tool works and is different

riotnrrd · 5 months ago
One of the difficulties -- and one that is currently a big problem in LLM research -- is that comparisons with or evaluations of commercial models are very expensive. I co-wrote a paper recently and we spent more than $10,000 on various SOTA commercial models in order to evaluate our research. We could easily (an cheaply) show that we were much better than open-weight models, but we knew that reviewers would ding us if we didn't compare to "the best."

Even aside from the expense (which penalizes universities and smaller labs), I feel it's a bad idea to require academic research to compare itself to opaque commercial offerings. We have very little detail on what's really happening when OpenAI for example does inference. And their technology stack and model can change at any time, and users won't know unless they carefully re-benchmark ($$$) every time you use the model. I feel that academic journals should discourage comparisons to commercial models, unless we have very precise information about the architecture, engineering stack, and training data they use.

tough · 5 months ago
you have the separate the model , from the interface, imho.

you can totally evaluate these as GUI's, and CLI's and TUI's with more or less features and connectors.

Model quality is about benchmarks.

aider is great at showing benchmarks for their users

gemini-cli now tells you % of correct tools ending a session

imjonse · 5 months ago
This used to be opencode but was renamed after some fallout between the devs I think.
moozilla · 5 months ago
If anyone is curious on the context:

https://x.com/thdxr/status/1933561254481666466https://x.com/meowgorithm/status/1933593074820891062https://www.youtube.com/watch?v=qCJBbVJ_wP0

Gemini summary of the above:

- Kujtim Hoxha creates a project named TermAI using open-source libraries from the company Charm.

- Two other developers, Dax (a well-known internet personality and developer) and Adam (a developer and co-founder of Chef, known for his work on open-source and developer tools), join the project.

- They rebrand it to OpenCode, with Dax buying the domain and both heavily promoting it and improving the UI/UX.

- The project rapidly gains popularity and GitHub stars, largely due to Dax and Adam's influence and contributions.

- Charm, the company behind the original libraries, offers Kujtim a full-time role to continue working on the project, effectively acqui-hiring him.

- Kujtim accepts the offer. As the original owner of the GitHub repository, he moves the project and its stars to Charm's organization. Dax and Adam object, not wanting the community project to be owned by a VC-backed company.

- Allegations surface that Charm rewrote git history to remove Dax's commits, banned Adam from the repo, and deleted comments that were critical of the move.

- Dax and Adam, who own the opencode.ai domain and claim ownership of the brand they created, fork the original repo and launch their own version under the OpenCode name.

- For a time, two competing projects named OpenCode exist, causing significant community confusion.

- Following the public backlash, Charm eventually renames its version to Crush, ceding the OpenCode name to the project now maintained by Dax and Adam.

beanjuiceII · 5 months ago
yea two of the devs did a crazy rug pull
paradite · 5 months ago
The performance not only depends on the tool, it also depends on the model, and the codebase you are working on (context), and the task given (prompt).

And all these factors are not independent. Some combinations work better than others. For example:

- Claude Sonnet 4 might work well with feature implementation, on backend code python code using Claude Code.

- Gemini 2.5 Pro works better for big fixes on frontend react codebases.

...

So you can't just test the tools alone and keep everything else constant. Instead you get a combinatorial explosion of tool * model * context * prompt to test.

16x Eval can tackle parts of the problem, but it doesn't cover factors like tools yet.

https://eval.16x.engineer/

Aperocky · 5 months ago
The big question - which one of these new agents can consume local models to a reasonable degree? I would like to ditch the dependency on external APIs - willing to trade some performance in lieu.
jasonm23 · 5 months ago
Crush has an open issue (2 weeks) to add Ollama support - it's in progress.
ggerganov · 5 months ago
They should add "custom endpoint" support instead [0].

[0] https://github.com/microsoft/vscode/issues/249605

amdivia · 5 months ago
FYI it works already even without this feature branch (you'll just have to add your provider and models manually)

```

{

  "providers": {

    "ollama": {

      "type": "openai",

      "base_url": "http://localhost:11434/v1",

      "api_key": "ollama",

      "models": [

        {

          "id": "llama3.2:3b",

          "model": "Llama 3.2 3B",

          "context_window": 131072,

          "default_max_tokens": 4096,

          "cost_per_1m_in": 0,

          "cost_per_1m_out": 0

        }

      ]

    }

  }
}

```

segmondy · 5 months ago
why?

it's basic, edit the config file. I just downloaded it, ~/.cache/share/crush/providers.json add your own or edit an existing one

Edit api_endpoint, done.

Aperocky · 5 months ago
nice, that would be my reason to use Crush.
0x457 · 5 months ago
Most of these agents work with any OpenAI compatible endpoints.
oceanplexian · 5 months ago
Actually not really.

I spent at least an hour trying to get OpenCode to use a local model and then found a graveyard of PRs begging for Ollama support or even the ability to simply add an OpenAI endpoint in the GUI. I guess the maintainers simply don't care. Tried adding it to the backend config and it kept overwriting/deleting my config. Got frustrated and deleted it. Sorry but not sorry, I shouldn't need another cloud subscription to use your app.

Claude code you can sort of get to work with a bunch of hacks, but it involves setting up a proxy and also isn't supported natively and the tool calling is somewhat messed up.

Warp seemed promising, until I found out the founders would rather alienate their core demographic despite ~900 votes on the GH issue to allow local models https://github.com/warpdotdev/Warp/issues/4339. So I deleted their crappy app, even Cursor provides some basic support for an OpenAI endpoint.

jmj · 5 months ago
OpenHands let's you set any LLM you want. https://github.com/All-Hands-AI/OpenHands
elliotec · 5 months ago
Aider says they do, but I haven’t tried it.

https://aider.chat/docs/llms.html

phaedrix · 5 months ago
Aider has built in support for lm studio endpoints.

https://aider.chat/docs/llms/lm-studio.html

Deleted Comment

sharperguy · 5 months ago
What happens if you just point it at its own source and ask it to add the feature?
segmondy · 5 months ago
it will add the feature, I saw openAI make that claim that developers are adding their own features, saw Anthrophic make the same claim, and Aider's paul often says Aider wrote most of the code. I started building my own coding CLI for the fun of it, and then I thought, why not have it start developing features, and it does too. It's as good as the model. For ish and giggles, I just downloaded crush, pointed it to a local qwen3-30b-a3b which is a very small model and had it load the code, refactor itself and point bugs. I have never used LSP, and just wanted to see how it performs compared to treesitter.
segmondy · 5 months ago
all of them, you can even use claude-code with a local model
navanchauhan · 5 months ago
sst/opencode
metadat · 5 months ago
But only a few models can actually execute commands effectively.. what is it, Claude and Gemini? Did I miss any?
beanjuiceII · 5 months ago
has a ton of bugs
alixanderwang · 5 months ago
Played around with it for a serious task for 15 mins. Compared to Claude Code:

Pros:

- Beautiful UI

- Useful sidebar, keep track of changed files, cost

- Better UX for accepting changes (has hotkeys, shows nicer diff)

Cons:

- Can't combine models. Claude Code using a combination of Haiku for menial search stuff and Sonnet for thinking is nice.

- Adds a lot of unexplained junk binary files in your directory. It's probably in the docs somewhere I guess.

- The initial init makes some CHARM.md that tries to be helpful, but everything it had did not seem like helpful things I want the model to know. Simple stuff, like, my Go tests use PascalCasing, e.g. TestCompile.

- Ctrl+C to exit crashed my terminal.

jimmcslim · 5 months ago
> The initial init makes some CHARM.md

Oh god please no... can we please just agree on a standard for a well-known single agent instructions file, like AGENT.md [1] perhaps (and yes, this is the standard being shilled by Amp for their CLI tool, I appreciate the irony there). Otherwise we rely on hacks like this [2]

[1] https://ampcode.com/AGENT.md

[2] https://kau.sh/blog/agents-md/

cwlb · 5 months ago
imo they should all support AGENT.md, but because of differences in tools, you often need an additional file per-agent.
ascorbic · 5 months ago
anonzzzies · 5 months ago
Another one, but indeed very nice looking. Will definitely be testing it.

What I miss from all of these (EDIT: I see opencode has this for github) is the lack of being able to authenticate with the monthly paid services; github copilot, claude code, openai codex, cursor etc etc

That would be the best addition; I have these subscriptions and might not like their interfaces, so it would be nice to be able to switch.

MrGreenTea · 5 months ago
I don't think most of these allow other tools to "use" the monthly subscription. Because of that you need an API key and have to pay per tokens. Even Claude code for a while did not use your Claude subscription.
anonzzzies · 5 months ago
But now they have a subscription for claude code , copilot has a sub and some others too. They might not allow it, but whatever; we are paying, so what's the big deal.
apwell23 · 4 months ago
Opencode does