Skip to content

(feat) Support client tools on Claude in remote sandboxes #5256

Description

@mmabrouk

Agents using Claude in a remote sandbox should be able to call browser-fulfilled client tools such as request_connection. Today these tools work with Pi and with local Claude, but they are unavailable through the Daytona stdio MCP channel.

Until this capability is implemented, remote Claude runs omit client tools from the MCP tool list. Executable gateway and callback tools continue to work.

The desired behavior is:

  1. Claude calls a client tool through the in-sandbox MCP server.
  2. The current model turn pauses without returning a timeout or tool error.
  3. The frontend receives the client-tool interaction and renders the appropriate widget.
  4. The user completes or cancels the interaction.
  5. The same agent session resumes and returns the browser result to the pending tool call.
  6. A parked or restarted remote sandbox preserves the continuation correctly.

The implementation should cover:

  • MCP request cancellation or pause signaling for an in-flight tools/call.
  • Relay cleanup so a paused call cannot emit a late timeout response.
  • Browser interaction correlation with the original Claude tool-call ID.
  • Resume after normal pause, reconnect, and sandbox restart.
  • Multiple or repeated client-tool calls without consuming the wrong stored result.
  • Clear behavior for denied, cancelled, abandoned, and timed-out interactions.

Related work: #5244 delivers executable gateway and callback tools to Claude on Daytona. Full client-tool continuation remains separate from that delivery path.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions