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
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.
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.
Using Claude Channels can make it easy to inject prompts and get just the response back without having to identify it in the terminal output or fight with the TUI.
But they're not well designed, and some things just have to go in through the terminal interface like slash commands (i.e. `/clear`)
It looks like it shouldn’t be an issue… it is just a wrapper around CLI calls to the official Claude code. It would be indistinguishable from the Anthropic side, and it isn’t even doing anything hacky or impersonating the official client.
This is my interpretation as well, Anthropic wants to be in full control of the connection between the client and their servers, and that's compatible with what
I'm trying to do.
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
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.
That's a good point, I'll look into tackling this soon
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.
Using Claude Channels can make it easy to inject prompts and get just the response back without having to identify it in the terminal output or fight with the TUI.
But they're not well designed, and some things just have to go in through the terminal interface like slash commands (i.e. `/clear`)
Any idea of how this interacts with Anthropic's ToS for subscription-based use?
It looks like it shouldn’t be an issue… it is just a wrapper around CLI calls to the official Claude code. It would be indistinguishable from the Anthropic side, and it isn’t even doing anything hacky or impersonating the official client.
This is my interpretation as well, Anthropic wants to be in full control of the connection between the client and their servers, and that's compatible with what I'm trying to do.
Nor is it flooding servers with open claw type use.
Isn't "Claude Code power user" an oxymoron or am I confused?
License? I see none listed in the repo.
Fixed