61

Show HN: Zot – Yet another coding agent harness

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.

4 hours agoroxolotl

Isn’t practically all simple software like this?

2 hours agovarun_ch

> 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?)

2 hours agounshavedyak

I have the same concern. Looks like they do include a disclaimer in the GitHub README, but not on zot.sh.

19 minutes agodh1011

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.

18 hours agokarakanb

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...

16 hours agopatriceckhart

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.

15 hours agohydra-f

pi is extensible at every turn. thats what makes it special. zot is more limited there.

15 hours agopatriceckhart

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

15 hours agohydra-f

You rocking your own harness? Public by any chance? If so, mind if I take a look?

14 hours agopatriceckhart

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 decided to exercise a bit of patience to see what other people achieve through their harnesses first (e.g. https://news.ycombinator.com/item?id=48192383, https://news.ycombinator.com/item?id=48164287).

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

13 hours agohydra-f

I get it. Ha, over in Zerostack I even got a shoutout with zot. :-)

12 hours agopatriceckhart

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.

13 hours ago0gs
[deleted]
18 hours ago

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

an hour agoegonschiele

Anyone here using Zot and can share their experience?

18 hours agolifty

I've been using zot since it was released. It works and does what it's supposed to. Patrick responds to suggestions and bugs really fast.

15 hours agogartheuncle

Nice to see one that isn't trying to grow into an agent business or cloud service.

3 hours agocabaalis

Thought Claude models can only be used through Claude Code. I was wrong, I guess.

18 hours agotipiirai

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.

18 hours agohelloplanets

ACP still exists, not sure why no one other than Zed is using it. Its best of both worlds, because you're using their CLI but in another tool

18 hours agoramon156

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

1: https://zed.dev/blog/terminal-threads

18 hours agojshreder

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.

2 hours agounshavedyak

It's not allowed, it spoofs claude code's requests.

https://github.com/patriceckhart/zot/blob/main/packages/prov...

18 hours agosaddlerustle

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.

17 hours agoLoganDark

Claude models are usable through certain github copilot plans, so that's a counterexample, isn't it?

18 hours agokzrdude

Didn't they allow using oauth in custom harnesses for personal use (e.g. pi.dev)?

18 hours agodsrtslnd23

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.

3 hours agoPufPufPuf

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.

22 minutes agopopcorncowboy

This is trivially circumventable by changing the system prompt (they string match against a blacklist).

18 hours agocolinmarc

this is fucking awesome

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

a month agoairbreather

Thanks for the feedback! Since version 0.1.44, you can use the left/right arrow keys to jump through the "History".

a month agopatriceckhart

Focus on cache hits

3 hours agogrodes

thank you for the honest description

4 hours agoignatif

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.

17 hours agocedws

> I don’t want to touch TypeScript stuff with a ten foot pole

Why not? Is it because you need to change the code?

17 hours agoMashimo

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.

17 hours agocedws

Yup - IMO it’s just the wrong tool for the job.

17 hours agoJaggerJo

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.

2 hours agorvz

What's wrong with typescript? I was thinking of getting into it.

17 hours agoexe34

What language are you coming from? If I can do anything to stop you please tell me what that is.

17 hours agocedws

Couldn't tell you much about node.js, but I like Deno. I avoid npm dependencies. Occasionally there's one I need.

4 hours agoskybrian

TypeScript the language is fine. Almost great, even.

JavaScript the ecosystem is mostly a flaming garbage dump of worms.

You can take measures to lower the pain of being in a toxically incompetent package space devolving faster than you can type commands.

14 hours agosshine

[dead]

16 hours agopatriceckhart

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.

18 hours agoLoganDark

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.

17 hours agoSyneRyder

Thanks for sharing your experience with reasonix in detail.

Have you tried pi? I don't think I am at your level, so I'd welcome some more advanced user's advice.

18 hours agolejalv

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?

18 hours agoLoganDark

In 18min , Mario Zechner , the creator of pi will echo more or less your exact concerns as to why he developed it

https://www.youtube.com/watch?v=RjfbvDXpFls

Enjoy !

17 hours agocurrywurst

Thanks, this is a high-signal talk!

15 hours agolejalv

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!

15 hours agoLoganDark

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

15 hours agolejalv

Thanks for your evaluation.

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.

14 hours agosshine

[flagged]

17 hours agoJaggerJo

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. ;-)

15 hours agopatriceckhart

I get the joke, and I appreciate it.

As someone with 20 years of professional coding experience who vibe-codes certain tools in my current stack, I really get it.

But I'd still remove it from the front page, it just reads like you admit it sucks. Which vibe-coding a dev tool doesn't have to.

Judging from the animation, you actually cared to test the TUI quite a lot. (I've been vibe-coding TUI components without making an actual harness.)

15 hours agosshine

Thanks for the tip. I might do that—though honestly, Im a sucker for jokes like this. And yeah, the TUI is literally 98% vibe coded.

14 hours agopatriceckhart

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!

14 hours agoarecsu

btw, you can totally use zot's packages for your own TUI too.