That's cool but by only supporting Claude Code you are contributing to the Anthropic lock-in problem.

This needs to support at least Gemini CLI, Codex and OpenCode as well, preferably by being generic as much as possible.

It isn't ones duty to develop for everybody. If someone makes something for their own use case and shares it, that's fine.

And that's the beauty of open source and code. You can share it freely and easily. There's no thing that can be made for everyone.

Maybe some irony is everyone tells me they "just care that it works". Yet it can work and you'll always have the comments like above because it works for the reason it was made but not for things it wasn't made for. But it's open, so modify the code and put in what you want ¯\_(ツ)_/¯

I guess I should clarify its source available, not "Open Source". There's no license on the project so it's default theirs. But no harm if you're just editing it yourself. @OP should put up some license to let others know how what is allowed and what isn't

Agree on the source-available clarification — this exact distinction matters on HN and I learned it the hard way recently.

I just went through the licensing decision for my own project and landed on BSL 1.1 with a 4-year conversion to Apache 2.0. Framing it as "source-available, auto-converts to Apache 2.0 in 2030" reads as transparent intent rather than "fake open source."

That said, BSL/FSL really only make sense if you plan to monetize a hosted version yourself. For wrapper tools like Claudraband that sit on top of an existing product ecosystem, MIT or Apache 2.0 might fit better — you're not protecting a competing SaaS, you're just sharing code.

MIT License added

Codex and Gemini have ACP servers already:

https://github.com/zed-industries/codex-acp https://geminicli.com/docs/cli/acp-mode/

In fact Codex, in OpenAI fashion, have their own protocol as well:

https://developers.openai.com/codex/app-server

Opencode too. These tools are already so programmable and embeddable, it's just Claude Code is a sticking point. But maybe it would be useful to provide a unified CLI and Daemon for all of them.

They have ACP servers but they might apply different rate limits or policies if they notice ACP use, while a solution like yours would not trigger that unless it becomes popular enough to specifically detect. It also seems this provides more features them just an ACP server.

> they might apply different rate limits or policies if they notice ACP use

Is there any evidence that supports this claim?

That's a good point, I'll look into tackling this soon

Is there an example of this?

https://github.com/ehrlich-b/wingthing - Here's my version of this idea which is agent agnostic. Not exactly the same idea, "sandbox'ed persistent agent", in my case available over the web with xterm.js (though you can also just run locally).

Can't you just tell your AI tool of choice to just port it? One thing I like about AI is that now I can easily roll my own or take an open-source project and customize it really fast with very little commitment on my end. Instead of everyone having to use the exact same tools, now we can customize it to our liking--at least for now

I’ve made something very similar that is almost backend-agnostic: https://github.com/ayourtch-llm/tttt - and it does auto inject the MCP in case of Claude, but it is trivial to adapt to other backends.

This is really cool.

I did something similar with gemini cli by just wrapping it in tmux and building some extensions.[0]

Eventually that wasnt enough so I ended up forking it and adding REST endpoints to inject commands and read the screen.[1]

Your solution is much cleaner! I'll probably replace mine with it. Thanks for sharing!

[0] https://github.com/stevenAthompson/self-command

[1] https://github.com/stevenAthompson/gemini-cli-remote-control

Opencode already supports continuing old sessions with ctrl-x, l.