Invoke Human

Handoffs from more than one agent

Each agent keeps its own chat. The part that needs you shares one inbox.

Updated October 25, 2026

A person who uses Claude for one repo, Cursor for another, and Codex for a third does not have three jobs. They have one job that three agents keep interrupting. The interruptions are the problem this page is about. The agents can stay specialized.

One account, one server

Each client is configured separately. That part does not go away. Cursor reads mcp.json. Claude has a connector, and Claude Code has its own command. Codex reads config.toml. ChatGPT on the web uses a plugin. A custom agent follows the OAuth discovery flow.

What is the same in every one of those files is the URL, https://invokehumantool.com/mcp, and the account you sign in with. An account is an email address or an Apple ID. The scope is handoffs. After that, a handoff from any of them is a handoff.

What you see

The inbox on iPhone, iPad, and Mac is the list. A worksheet from Claude and an approval from Codex are not two products. They are two items. You answer the one in front of you. Attribution goes back with the answer, so the caller can record who replied and how, instead of treating the text as model output.

send_handoff files the task and returns. wait_for_handoff holds the turn open until you answer or the wait times out. get_handoff_status and get_handoff_result let the agent pick the answer up later, which is what you want when you are not sitting in that window. A structured form is send_ui_handoff, checked first with validate_ui. An HTML handoff is send_html_handoff. share_handoff invites someone else onto a handoff. delegate_handoff forwards one you can reassign. The agent inbox page lists those tools without turning them into a workflow engine. Parameter names come from the server after you sign in. Each client’s install is on the guides.

What does not happen

The agents do not merge. Claude does not gain Codex’s context because both can ping you. The terms describe the permission as applying to the client you connected: it can send handoffs to your account and receive the answers you return.

There is no scheduler that picks who owns the queue. share_handoff and delegate_handoff are how a handoff is invited or forwarded. If you need review templates and a webhook, gotoHuman documents that product. Invoke Human documents one account and the apps. Connect each client from the human-in-the-loop MCP hub.

There is also nothing here that replaces the permission prompt inside each client. Those prompts stay per agent, on purpose. They are “may this tool run.” A handoff is “a person needs to decide or fill this in.” Mixing them up is how you end up approving a bash command from your phone that the laptop dialog should have caught.

iPhone and iPad need iOS 17 or later. TestFlight is on the home page. The Mac app uses the same account. The signed web page opens one handoff. It does not list the others.

Questions

Do the agents see each other's conversations?

No. Each client only receives the answer to the handoff it sent. Connecting an agent authorizes that client to send handoffs to your account and to receive those answers. It does not pour one chat into another.

Is there a routing rule for which agent wins?

No. They share an inbox because they share your account, not because a scheduler picks among them. You answer the handoff that is waiting. The answer goes back to the caller.

Can a custom agent join the same inbox?

Yes, if it can call a remote MCP server with OAuth 2.1 and dynamic client registration. The URL is the same one Cursor and Claude use. The remote MCP guide is the discovery sequence.