I’ve recently been researching how the ACP protoco...
# openhands-cloud
s
I’ve recently been researching how the ACP protocol on the OpenHands platform implements multi-agent communication, and I have a few questions I hope someone can help clarify. First, regarding its workflow: If I start a Claude Code conversation and send a work request to Claude Code, will Claude Code automatically invoke Codex to assist with completing the task? I’m imagining a multi-agent collaborative workflow like this. Also, can these agents view each other’s reasoning and thought processes during this collaboration? Additionally, I’m looking for guidance on how to implement the ACP protocol to set up a multi-agent system combining Claude Code and Codex. I haven’t been able to locate relevant documentation or tutorial videos covering this setup, so I’m reaching out here for support. openhands or acp?
w
Hmm...I don't believe you can easily delegate between different harnesses OpenHands can switch models on the fly, but not necessarily harnesses
I think @modern-fireman-99755 has been doing much of the work here, he can confirm
m
Harness delegation is not supported due to how the ACP protocol is implemented (@strong-ice-84145, please correct me if I'm wrong). However, if you fix the harness to use OH, you can have one main agent spawn different conversations (not just sub-agents, but entirely separate agents). @average-processor-75195 has some good examples of this.
a
It's an interesting question and really I would like to do this more easily, but I researched it. In the past, I used command line approaches like claude -p to communicate between harnesses and write to external memory like github, but I agree, using ACP would be nicer. We really need this working, I would like to push jobs back and forth easily.
s
Thanks everyone for your answers. However, there are a few points I failed to clarify earlier. I haven’t yet implemented task allocation across different agents and am currently researching relevant approaches. Additionally, it is not a direct call from Claude Code to Codex for assistance. Instead, a client handles information exchange between them — Claude Code and Codex cannot communicate with one another directly. The OpenHands client invokes both Claude Code and Codex to complete tasks. Could the client built on OpenHands’ ACP protocol support such a mechanism?
h
With the new Agent Profiles in place could an agent use those to spin up subagents that use different Agent Profiles? They can work with different ACP profiles I think. That just landed yesterday and I've not tested everything they can do.
a
I know you can do this locally, is the question @straight-animal-81875 whether this will work on the openhands cloud? (I assume so, but just wanted to check)
c
In my understanding, ACP is a protocol intended for editors to access agentic CLIs and offer the user the possibility to see their tasks running in the editor, e.g. in a sidebar. Start agent, view events, etc. We are using the same protocol to visualize the work of Codex, Claude Code, Gemini, in a browser instead, in agent-canvas. As far as I know, ACP doesn't have anything to do with multi-agent or with these harnesses communicating to each other... I see you are saying OpenHands would invoke them? That, the agent can do directly, I don't think it needs a special protocol for that
The agent could invoke them via ACP too, but if you don't mind me asking, do you really want ACP? I think it's easier for the agent to run CLIs, for anything, including another agent
Just to add, in case relevant: maybe what would help more is a plugin in any harness, that would invoke the other harnesses at the agent's call?
s
I haven’t tested this on OpenHands Cloud yet; all my trials so far have been local only. My conclusion is that task allocation to different agents via the client is technically feasible, but the implementation I’ve built doesn’t perform well at this stage.@Rajiv Shah
a
I have seen posts where in codex people use fable and then use gpt sub agents. Are you trying to do something like that? (In this case they use one harness and mix the models within it). Or are you trying to move between two harnesses. I have done workflows like that, but it's more a handoff from one harness to another than having two harnesses working together.
s
Yes, we are trying the first solution you mentioned and will not consider the second one for the time being. @average-processor-75195
If possible, could you share how you set up your workflow? Thank you very much. @average-processor-75195
a
Yea, at the bottom of the readme here: github.com/rajshah4/openhands-multi-agent-demo#… you will see my three original demos for multiagent across different harnesses. If you want to use openhands to orchestrate different models together for an agentic workflow - say fable with GPT 5.5 - that should be pretty possible with LLM profiles and delegates/conversations.
s
OK,thanks you❤️@average-processor-75195
🙏 1
a
I played around on local agent canvas today, where I setup Codex as an ACP LLM Profile and Claude Code as a separate ACP LLM Profile. You can then have an orchestrator agent that sends messages to each of these agents to perform/coordinate work. It works nicely to take advantage of the agent canvas infrastructure/controls. @straight-animal-81875
🙌 1
s
That would be fantastic. Could I take a look at your implementation plan? I can already call multiple agents on OpenHands right now, yet communication between the client and agents is handled by a script. This script breaks down user requirements and distributes them to agents. However, it only supports single-round communication without feedback loops, which I believe results in subpar performance. @average-processor-75195