Just wanted to say I had been happily plodding along using AI tools in Zed, which had worked pretty well but seeing the SST team was behind OpenCode I decided to finally give a terminal based agent a try. I was blown away, primarily by the feedback loops of say OpenCode writing new tests, running the test suite, seeing the tests errored and looping back start the whole process again. That looping does not happen in Zed!
It was the first time I felt like I could write up a large prompt, walk away from my laptop, and come back to a lot of work having been done. I've been super happy with the experience so far.
I’ve definitely had exactly that sort of looping work with Zed, as long as I tell it how to run the tests. Are you perhaps not using one of the “thinking” models?
Isn't it more appropriate to compare this to aider?
I prefer the command line tools to IDE integration, even though I don't feel like the contextual options are great. In other words, I don't always feel that I can see the changes fully. I like Claude Code's option to expand the result using ctrl-r, and I like the diffs it provides. But, it still feels like there is a way to get better than what I see inside Zed and what I see inside Claude and Aider.
Maybe an editor that can be controlled and modified on the fly using natural language?
The best experience I've had is to completely divorce editing from vibe coding. Ask the chatbot to do something, then review the results as if a junior developer submitted them - that means diffs and opening files in the editor.
Fundamentally I think these are really distinct operations. I understand why the kitchen sink IDEs jam the genAI tools into their UIs, but I don't think it's necessarily important to link the two functions.
tmux! That was today's project. I'm using Claude Code Opus 4 to translate a K&R C computer algebra system (Macaulay) from the 1980's into C23. Finally getting to the "compiles but crashes" (64 bit issues) I found us living inside the lldb debugger. While I vastly prefer a true terminal to the periscope AI agent view in Cursor, it was still painful having at best a partial view of Claude's shell use, interleaved with our chat. What I wanted was a separate terminal session AI and I could share as equal partners.
tmux is the quickest way to implement such an idea.
That's an interesting idea! I struggle with the same issues you've mentioned, that space between the IDE integrated option and pure CLI. Your comment sparked an idea of using something like vim or similar where you can edit the config on the fly and reload it. I wonder how hard it would be to bolt a prompt interface to the front to have it build the editor for you?
It would likely quickly devolve into typical editor config bikeshedding, only AI powered? At least for me, maybe someone smarter could streamline it enough to be useful though!
I feel like the guy behind this project loves getting into internet fights to create drama/clickbait. That being said, it's a cool project - still in its early stages and nowhere as usable as the other CLIs...but it's a darn shame about all the drama.
ETA: The above link is at the bottom of the original submission's README. (https://github.com/sst/opencode) I posted it without context, and I have no opinion on the matter. Please read theli0nheart's comment below for an X rebuttal.
I’m the founder and CEO of Charm. There are claims circulating about OpenCode which are untrue, and I want to clarify what actually happened.
In April, Kujtim Hoxha built a project called TermAI—an agentic coding tool built on top of Charm’s open-source stack: Bubble Tea, Lip Gloss, Bubbles, and Glamour.
Two developers approached him offering UX help and promotion, and suggested renaming the project to OpenCode. One of them bought a domain and pointed it at the repo.
At the time, they explicitly assured Kujtim that the project and repo belonged entirely to him, and that he was free to walk away at any point.
We loved what Kujtim built and offered him a full-time role at Charm so he could continue developing the project with funding, infrastructure, and support. The others were informed and declined to match the offer.
I also mentioned that if the project moved to Charm, a rename might follow. No agreement was made.
Shortly after, they forked the repo, moved it into their company’s GitHub org, retained the OpenCode name, took over the AUR package, and redirected the domain they owned.
To clarify specific claims being circulated:
- No commit history was altered
- We re-registered AUR packages for continuity
- Comments were only removed if misleading or promotional
- The project is maintained transparently by its original creator
The original project, created by Kujtim, remains open source and active—with the full support of the team at Charm.
It's pretty funny to refer to your libraries for building a TUI as an "open-source stack". From the commonly accepted vision of a "stack" it's a pretty thin slice. It's like saying "my over-engineered component library is a stack because it involves 15 layers of abstraction!".
Neither of these companies are focused on LLMs or AI, they're both just using this as AI dust to sprinkle on top of their products.
Both are go based using charmbracelet's gui libraries. There's actually a note about the project you posted being developed under the charm repo now but it doesn't seem to be public. Maybe they are the same project?
Kujtim started opencode few years back, they were developing this it even before any other CLI tools were in the market. Few months back thdxr(dax)(SST) and Adam started contributing to opencode. And quickly became the biggest contributors to the project. I think they also wanted to make it more presentable and Dax bought a domain and stuff while working on it. At some point charm approached Kujtim for some deal to move opencode to charm and keep working on it under them. Dax and Adam wanted to keep it open source as is. (Dax's commits were somehow squashed and removed at this point too)
So they ended up rewriting opencode with the same name in TypeScript TUI away from Kujtim's vision. And thats where we are, since then opencode doesn't seem to have much progress done but Dax's opencode is being worked on non-stop.
This is a third party retelling of this story from some post I read, as I came to know about it only after Dax started working on TS TUI for opencode under SST.
Just wanted to say I had been happily plodding along using AI tools in Zed, which had worked pretty well but seeing the SST team was behind OpenCode I decided to finally give a terminal based agent a try. I was blown away, primarily by the feedback loops of say OpenCode writing new tests, running the test suite, seeing the tests errored and looping back start the whole process again. That looping does not happen in Zed!
It was the first time I felt like I could write up a large prompt, walk away from my laptop, and come back to a lot of work having been done. I've been super happy with the experience so far.
I’ve definitely had exactly that sort of looping work with Zed, as long as I tell it how to run the tests. Are you perhaps not using one of the “thinking” models?
Isn't it more appropriate to compare this to aider?
I prefer the command line tools to IDE integration, even though I don't feel like the contextual options are great. In other words, I don't always feel that I can see the changes fully. I like Claude Code's option to expand the result using ctrl-r, and I like the diffs it provides. But, it still feels like there is a way to get better than what I see inside Zed and what I see inside Claude and Aider.
Maybe an editor that can be controlled and modified on the fly using natural language?
I've settled on aider and vim.
The best experience I've had is to completely divorce editing from vibe coding. Ask the chatbot to do something, then review the results as if a junior developer submitted them - that means diffs and opening files in the editor.
Fundamentally I think these are really distinct operations. I understand why the kitchen sink IDEs jam the genAI tools into their UIs, but I don't think it's necessarily important to link the two functions.
specifically for working better with diffs, I can recommend tmux + lazygit with this keybinding for quickly opening a floating lazygit:
bind-key C-g display-popup -E -d "#{pane_current_path}" -xC -yC -w 80% -h 75% "lazygit"
not only does it allow you to see the diffs, but you can directly discard changes you don't want, stage, commit, etc.
tmux! That was today's project. I'm using Claude Code Opus 4 to translate a K&R C computer algebra system (Macaulay) from the 1980's into C23. Finally getting to the "compiles but crashes" (64 bit issues) I found us living inside the lldb debugger. While I vastly prefer a true terminal to the periscope AI agent view in Cursor, it was still painful having at best a partial view of Claude's shell use, interleaved with our chat. What I wanted was a separate terminal session AI and I could share as equal partners.
tmux is the quickest way to implement such an idea.
Damn, thanks, i have some floating panes on tmux but never thought about doing something like this lol
That's an interesting idea! I struggle with the same issues you've mentioned, that space between the IDE integrated option and pure CLI. Your comment sparked an idea of using something like vim or similar where you can edit the config on the fly and reload it. I wonder how hard it would be to bolt a prompt interface to the front to have it build the editor for you?
It would likely quickly devolve into typical editor config bikeshedding, only AI powered? At least for me, maybe someone smarter could streamline it enough to be useful though!
I was hoping I would goad someone into doing it.
But, do it for emacs, ok? </joke>
Actually, I *do* prefer emacs.
aider has an emacs integration
I use claude code + pycharm (when need to check changes, improve something)
Being able to open the diff in vimdiff view (or your editor's equivalent) would be a neat approach. Not entirely sure how to actually implement that.
Could really use a comparison versus the seemingly de-facto terminal AI coding tool Aider. https://aider.chat/
and Claude Code
Claude Code is compared in the README. https://github.com/sst/opencode?tab=readme-ov-file#how-is-th...
One other thing that would be neat to make more visible: what kind of prompts and tools are at the heart of this agent?
I found a bunch of tools here. Haven't found an overarching prompt yet. https://github.com/sst/opencode/tree/dev/packages/opencode/s...
author here - right now it's all the same prompts as claude code
but we're going to make all this very configurable next week
hey one of the authors here
we're a little over a month into development and have a lot on our roadmap
the cli is client/server model - the TUI is our initial focus but the goal is to build alternative frontends, mobile, web, desktop, etc
we think of our task as building a very good code review tool - you'll see more of that side in the following weeks
can answer any questions here
Would be cool if it could be an alternative frontend for gemini-cli, claude code, acli and the other tui's
I feel like the guy behind this project loves getting into internet fights to create drama/clickbait. That being said, it's a cool project - still in its early stages and nowhere as usable as the other CLIs...but it's a darn shame about all the drama.
Hmm, there is already a similar project with the same name: https://github.com/opencode-ai/opencode
https://x.com/thdxr/status/1933561254481666466
ETA: The above link is at the bottom of the original submission's README. (https://github.com/sst/opencode) I posted it without context, and I have no opinion on the matter. Please read theli0nheart's comment below for an X rebuttal.
https://x.com/meowgorithm/status/1933593074820891062
--
I’m the founder and CEO of Charm. There are claims circulating about OpenCode which are untrue, and I want to clarify what actually happened.
In April, Kujtim Hoxha built a project called TermAI—an agentic coding tool built on top of Charm’s open-source stack: Bubble Tea, Lip Gloss, Bubbles, and Glamour.
Two developers approached him offering UX help and promotion, and suggested renaming the project to OpenCode. One of them bought a domain and pointed it at the repo.
At the time, they explicitly assured Kujtim that the project and repo belonged entirely to him, and that he was free to walk away at any point.
We loved what Kujtim built and offered him a full-time role at Charm so he could continue developing the project with funding, infrastructure, and support. The others were informed and declined to match the offer.
I also mentioned that if the project moved to Charm, a rename might follow. No agreement was made.
Shortly after, they forked the repo, moved it into their company’s GitHub org, retained the OpenCode name, took over the AUR package, and redirected the domain they owned.
To clarify specific claims being circulated:
- No commit history was altered
- We re-registered AUR packages for continuity
- Comments were only removed if misleading or promotional
- The project is maintained transparently by its original creator
The original project, created by Kujtim, remains open source and active—with the full support of the team at Charm.
That’s the story. We’ll have more to share soon.
> an agentic coding tool built on top of Charm’s open-source stack: Bubble Tea, Lip Gloss, Bubbles, and Glamour.
Okay I feel old now.
It's pretty funny to refer to your libraries for building a TUI as an "open-source stack". From the commonly accepted vision of a "stack" it's a pretty thin slice. It's like saying "my over-engineered component library is a stack because it involves 15 layers of abstraction!".
Neither of these companies are focused on LLMs or AI, they're both just using this as AI dust to sprinkle on top of their products.
Come on man, the BLBG stack is where it's at! What are you using, Github Copilot?!
Seriously, though: Charm creates CLI tools, not coding agents: https://charm.sh/ https://github.com/orgs/charmbracelet/repositories
Also, https://github.com/kujtimiihoxha 's recent commits are in https://github.com/opencode-ai/opencode .
But what does https://sst.dev/ (org behind https://github.com/sst/opencode) have to do with either charm or opencode?? Like Charm, it has nothing to do with coding agents.
Not for me.
Both are go based using charmbracelet's gui libraries. There's actually a note about the project you posted being developed under the charm repo now but it doesn't seem to be public. Maybe they are the same project?
Kujtim started opencode few years back, they were developing this it even before any other CLI tools were in the market. Few months back thdxr(dax)(SST) and Adam started contributing to opencode. And quickly became the biggest contributors to the project. I think they also wanted to make it more presentable and Dax bought a domain and stuff while working on it. At some point charm approached Kujtim for some deal to move opencode to charm and keep working on it under them. Dax and Adam wanted to keep it open source as is. (Dax's commits were somehow squashed and removed at this point too) So they ended up rewriting opencode with the same name in TypeScript TUI away from Kujtim's vision. And thats where we are, since then opencode doesn't seem to have much progress done but Dax's opencode is being worked on non-stop.
This is a third party retelling of this story from some post I read, as I came to know about it only after Dax started working on TS TUI for opencode under SST.
community drama aside, great to see more open source agentic CLIs tools.
other than the focus on tui design, does this have any advantage over Claude Code, Aider, Gemini using the same model?
author here
we're very focused on UX and less so on LLM performance. we use all the same system prompts/config as claude code
that said people do observe better performance because of out of the box LSP support - edit tools return errors and the LLM immediately fixes them
In my experience, Claude Code is scary good. Gemini CLI is just plain dumb and not worth the time.
OpenCode is great. A tier TUI. Basically an open Claude code.
Would be nice to compare it to Aider.
the UI looks very great. Just tried it, it's a pity that it doesn't support permissions before executing write/edit commands. I'm a Goose user btw
it's implemented in the backend, will expose in frontend soon
UI looks really neat and pleasant to use. Does it create a todo list per prompt similar to Claude Code?
I have tried it and it does.
[dead]
[dead]
The name is already taken, openCode is a large important code repository in Europe.