Since this project hasn't had much attention, I replaced the submitted title ("Zot now supports Claude Opus 4.8") with that of https://news.ycombinator.com/item?id=47931161. I hope that's ok!
Coding agent harnesses strike me as similar to blog generators. They can be as simple or as complex as you’d like. Plugins help with adoption. And if you want it’s real easy to write your own that does exactly what you want.
In a reductionist view yeah but blog generators and agent harnesses sit at a different spectrum than an EHR/Excel/whatever other insanely complex edge case ridden work you can think of
Zot seems interesting, this is the first time I see it. On a quickl look it seems like Pi, but in Go. I was hoping to embed Pi into some of our internal projects and the typescript stuff was blocking me, I'll definitely give Zot a look.
pi is awesome, quite possibly the best OSS tool out there. You should definitely give it a shot if it fits your stack. zot has become my daily driver. I didnt build zot to compete. I built it to really get a feel for how harnesses work, and I do it with Go simply because I love the language. More on that here: https://www.patriceckhart.com/blog/posts/2026-04-23/why-i-bu...
What makes pi so awesome? It feels as though the whole thing is held together with tape. Poor performance, poor UX. Security is an afterthought. Not that versatile (as of yet). You certainly are better off writing your own personal harness.
Extensibility has a cost which affects all my earlier points. Pi is fine for testing things you might include in your harness, but that's where I would draw the line
Not yet. I am slowly gathering resources for it, mapping out the commands, toolset and the overall UX. As well as handling the whole project management part.
I've chosen Rust as the language and the late summer as a deadline. If a harness is too opinionated, I don't really see the point in pushing it on anyone. And mine, I'm building it for my own workflow. So there's that
i am somebody else but my Show HN got zero engagement so please feel free to look at mine: http://github.com/0gsd/enough n.b. not a coding harness. it's for writing. but extensibility is a big (perhaps too big) part of it. http://enough.support has some of the principles outlined.
Here is some engagement: your project may be hard to engage with unless someone is highly motivated?
> "this is because `enough` imposes very few paradigms on your wordflows -- in a world of exponential possibility, most people have as many things they want to do as ways they prefer to do them."
OK, but, having read the GitHub and the reverse chronology discourse, but not doing the install, I cannot immediately tell what anyone's wordflow might be or whether this could be helpful in any way.
Usually from looking at a project I can imagine a venn diagram of things I want to do and things the thing does. Not here. Also, I felt I was pointed to principles, but rather than principles of the tools purpose, I found motivations for the author and meta comments about the discourse site itself, rather than motivations to use the tool or comments on its application to authoring assistance.
Rather than those, ironically the best entry point seems to be the agent guide:
From there it appears you're trying to make a combination of humane/verbal human-driving-the-loop document reviser (e.g. the colored text visualizer and agentic tool to grab references by color for other tool consideration), and a substrate (cough) for arbitrary "paradigms" of working towards producing writing of a given "motivation". From there, one goes into the `defaults` to find translation and text planning paradigms:
While the spelunking approach can give the idea, is there any writeup anywhere that walks someone through the concept and an applied example from the POV of the human who made this?
I note non-ironically the text planner has no explainer in the example document types. :-)
extremely helpful! thank you. my real mind killer here is "everybody knows how a harness works" vs. "this is for people who don't know what 'harness' even means" and i need to figure out how to close that gap.
I'm all for people writing their own coding agent harnesses... is there anything different about this one? Its not clear why I'd choose this over pi, opencode, or other existing options
> Subscription-capable - Anthropic Claude Pro/Max (anthropic), OpenAI Codex / ChatGPT Plus/Pro (openai-codex), Kimi Code (kimi), and GitHub Copilot (github-copilot).
Am i reading this right? Seems to suggest that this can be used with Claude Code Subscription, which isn't true i think. Did this pre-date the CC Subscription change? Or is it playing fast and loose with the rules hah.
Maybe it's using `-p`, which technically works for another few days i think lol. (That's going away.. what, June 1st? Something like that?)
It does not use -p, but it does try to impersonate Claude when talking to the Anthropic API. Will they detect the difference in usage patterns and ban anyone who exploits them? Who knows.
Great minds think alike? Two months ago I created an agent called 'zop' [1] that's also a static Go app. It's not a code harness, it's a cli tool for quick one-liners (faster and less memory than opencode --prompt) with canned system messages. With compile tags you can strip it down to just prompt execution and the binary's less than 3MB.
....But also because feature creep, you can compile-in text-to-speech, speech-to-text, an interactive mode, an Android app, MCP/tool calling, multiple provider support, and now a really crappy web interface that only half works. It turns out vibe coding is harder/more time-consuming than it seems... Creating an alternative to beads made it more manageable, but I need multi-agent orchestration to code it so I don't have to babysit it and manually QA it (because just installing playwright and telling the AI to write tests doesn't really work).
Kind of a waste of time, but interesting learning experience. Now I know why there aren't a hundred magically awesome user tools out there... they're still not that easy to make.
If you use API billing, you can use them from anywhere. But using Claude Code with a Max subscription is massively cheaper for programming. You should never use Claude models for programming through API billing, unless forced. The difference will easily rack up to thousands of dollars for heavy users.
With the coming changes in June, ACP will charge towards the same budget as claude -p and the Claude Code SDK (since it uses the SDK), so ACP no longer solves this. It's (I think) why Zed added "Terminal Threads" [1] to their agent workflow
The ACP budget change is so bizarre to me. If i was more adventurous with my subscription i'd be interested to see if you could intercept UI/input from CC TUI and render that in a native GUI without it being a TUI. That would be "interactive Claude Code" but you'd get a programmatic interface.
But that would be banned almost instantly i'm sure lol.
Does it spoof the Bun authentication/signing? If not, this will eventually stop working once Anthropic cuts off access from versions of Claude Code that don't sign their requests.
That changes every 2-3 days. The current stance is that only interactive mode of first party harnesses is covered under monthly plans, everything else is pay-as-you-go with monthly credit allowance equal to the plan price.
Though this is how it will stay, and it won't be changing back. Anthropic has understood clearly for a while that they need to capture the stack. They will subsidise Max for as long as they need to do this. All other off-stack usage will get pushed into per-token billing.
Harnesses aren't really going to change much of the performance on models like Opus, and GPT.
You literally can just give the model a bash tool and it will do just fine in fact it will most likely do better than majority of harnesses due to how well models are at bash.
The model do all the lifting. It really doesn't matter which harness you use.
Glad to see tooling in my native language. I don’t want to touch TypeScript stuff with a ten foot pole, but sadly it seems to be the lingua franca for agentic tools.
The one thing that would keep me from making the jump is CC’s auto mode.
No, I’m just extremely averse to anything to do with JS/TS. The amount of bloat is insane and there’s a new supply chain attack every day at this point. Definition of a tire fire.
Glad I am not the only one who sees this. The immaturity of the JS/TS ecosystem has only delivered a range of issues (too many to list here) and the negatives significantly outweigh the positives.
it is fast, there is no fucking gateway fuckaround or any other similar issues, up and going in seconds
straight away I added two skills, that it wrote for itself, read my gmails and attachments, and browse the web, text browser first up, render page and screenshot with OCR for javascript heavy pages\
then I asked it, find the best value ram in my area, second hand as well as new, try gumtree and facebook marketplace, plus anything else relevant, bam - 15 seconds maybe a concise summarised range of options
then on another project, I told it to /study and then used the gmail plugin to access all the relevant gmails and attachments (which included minutes of all the meetings) and it was fully up to date with the project I am working on and ready to go
best agent I have used so far by a country mile, if you don't try it then that is your loss
did I mention it was fast, like 3x to 5x better productivity fast compared to openclaw, at least
one thing it does not do is support the up arrow/down arrow to scroll thru past commands, but you can just tell it, "run that websearch for ram again" etc, i will totally live witht his for all the other positives
I'm getting a little fatigued by all the harnesses that are made by other coding agents. Like, when I checked out opencode, it looked and felt incredibly impressive, until I looked at how frequently it completely invalidated the KV-cache. After looking at the source code, it's basically unsalvageable and I ran far far away. (It's mostly imperative garbage which is typical of undisciplined agent output. It doesn't even use React, it uses some other reactive library in a non-declarative way, I think SolidJS)
DeepSeek Reasonix is better in terms of cache stability because that is a core tenet, which should honestly be table stakes for agentic tooling, but the TUI is kind of ugly and the tools also kind of suck (they pretend the sandboxed working directory is at /, which makes the model almost unable to use MCP servers that expect to be passed filesystem paths). On top of that, it doesn't expose the structuredContent of MCP server tool responses, which is like... the entire point of it? Now all my tools that return huge swaths of JSON data into structuredContent, which Claude Code can process perfectly fine, need an additional separate path to generate readable versions of it into content because Reasonix ignores structuredContent for some reason. That's supposed to be the model-side output, while content is the user-side output, but whatever.
I don't know how much more of this I can take. I'm in the process of working on my own harness essentially from scratch, manually, because I'm so fed up with all this vibecoded tooling that misses incredibly basic and obvious design.
I feel like Claude Code used to be from scratch like this and that was why it was so good, until they started vibecoding large swaths of it and stripping away all the power-user features and good taste that made it so wonderful before. Now it even has random, inexplicable problems like "API Error: 400 messages.1.content.15: `thinking` or `redacted_thinking` blocks in the latest assistant message cannot be modified. These blocks must remain as they were in the original response." which shouldn't even be able to happen!!
And like, I get the distillation angle of why thinking output was completely removed from Claude, but I work in bypass-permissions mode and I want to correct misunderstandings as I see them. This is different than wanting to review each edit.
Speaking of reviewing each edit, I hate that Reasonix doesn't print diffs, and just says "use git diff". Like, no? I want to see each change the agent made and when. I don't want to only see one diff at the end; that nearly ruins the point of conversation history.
Having just started out building my own harness because I don't like the others, I really resonate with this post. You probably should make a harness, it seems you've got a really good approach and a great understanding of what it should have.
I mostly still like Claude Code, but I agree it's getting buggy and bloated in their need to move so fast. With the June pricing changes I felt I needed to build an alternative quickly just in case, and so I can start looking at other models for my "claude -p" usage.
The videos from the makers of Pi are interesting with some useful information, but ultimately I came away deciding I would never want to use Pi.
It also helps that Pi & most harnesses don't work on a lot of older computers systems I'd like to be able to use a harness on. It's just API calls, there's no reason this shouldn't all work on much much older machines.
I have not tried pi! I heard of it, but I didn't look into it because Anthropic is cracking down on third-party harnesses by making them prohibitively expensive. I suppose though now that I have a DeepSeek API key due to Reasonix I can give it a shot. (even the pro model is so cheap!! I've been using it for days on multiple projects and have barely spent $1, and I think it can go much further with better prompting.)
As for advice, what kind do you mean? Do you work on Pi?
Good talk! I'm using Claude to clean up Pi a little bit before I try it (porting to PNPM is part of my standard startup checklist); I'm very excited to see how it goes!
No, I just was curious to know how you found Pi; I've got so much from pi + DS4 pro that I think I am done feeling bad about Anthropic limits. The cost is ridiculous, but I wonder if there's even a lower floor with reasonix or DS4-specific pi config
I saw Pi on the front page of Hacker News a few weeks ago, I think.
Anyway, I've been trying it for the past day or so and I must say, this is awesome. The extension functionality in particular is great news at least. But there's a lot more to love that seems to actually have been tastefully crafted by real people; a lot of power-user features that would fly right over most agentic implementers, such as branching on the level of individual tool calls rather than only by user messages as in Claude Code. It feels incredibly good, I am very happy with it.
I've deliberately been post-poning harness building.
I think it's great as an obligatory learning experience.
But I'm hoping someone will come along and provide the "best of breed" harness:
- OpenCode's TUI and client-server model,
- Claude's prompt engine,
- Pi's extensibility, and
- the codebase stability of a craftsman (yet to be seen).
I haven't tried other harnesses than those three. It's time-consuming, and does not align with my primary goals.
I've been reimplementing a TUI library based on Ratatui, but drawing the UI components of OpenCode's OpenTUI and a bunch of Ratatui-adjacent components. Was hoping someone would separate the concerns and reverse engineer Claude's prompt engine and just not provide a UI for it. Make it modular so each part can be replaced by something better. There's only really 3 parts: TUI library, engine, and client-server (so you can choose between web or terminal, and so you can host the engine + server in the cloud, resume your sessions, and whatever enterprise features you want for session and memory management.
This real world usage of LLM's favorite word shows why LLMs pair this word with "what I'm about to say is seriously unreliable".
Here, "honest description" means the author didn't make something out to be more than it is. Perfect.
Ironically, LLMs don't apply that to the thing they're describing, but to their description itself. Meaning: when they say "honestly" it flags they have no idea and are about to be lazy, make it up, and confidently assert nonsense.
It's easiest to understand if you mentally insert a phrase:
"Honestly [you should disregard this because I am just making this up but], you made a great choice."
zot is a coding agent harness. not a data vault, not a pacemaker, and not a life-support device in any medical sense.
Ive been coding for almost 20 years, and for the past few with Go. Nobody would believe that a project of this scale or even a much smaller one could be pulled off, halfway stable, over a couple of days. Not even with a blueprint or two in hand. Thats why it matters, and its totally fair, to point out when something is largely vibe-coded. "Vibe slopped" is meant more as a joke. The essential parts of the code I actually understand. Some of them I modified and overhauled myself.
zot is a learning project not production logic with peoples sensible data or lives depending on it. ;-)
If it helps, I did totally get the joke and love when there are these bits of humanity and sarcasm, somehow lost in today's landscape, it used to be more frequent in the past. And I also get what you've described in the previous paragraph from just reading it. Might be that some people get it, some don't. Do what you feel best!
reply