Skip to content

Should concurrent tool execution be allowed? #47

Description

@khushalsagar

Since tool execution is async, multiple tools can be invoked in parallel. We should define whether that's expected behaviour that the site author should be expected to handle. I think yes, there will be enough cases where that makes sense and parallel execution will be a perf boost.

We can consider an annotation to indicate if a tool should be executed serially if there's cases where site authors need that guarantee.

Activity

  1. 43081j commented on Nov 17, 2025

    @43081j

    yes it should be allowed and shouldn't be our concern

    all these tools are regular functions at the end of the day, so the author of them should take into account that they can be called in quick succession (i.e. before the first one completed).

    i don't think this proposal needs to be concerned with userland architectural decisions like that

    all tools will essentially be awaited (or callback-style, whatever we go with in the end). the tool author can block until previous tool calls finish if they must.

  2. anssiko commented on Jan 30, 2026

    @anssiko
    Member

    FTR, the group discussed this issue and decided to punt this for later: https://www.w3.org/2026/01/22-webmachinelearning-minutes.html#1e43

    Continued issue discussions is welcome. Depends on #51.

  3. bwalderman commented on Mar 4, 2026

    @bwalderman
    Collaborator

    Comment in other issue addressing concurrency and proposing a solution: #51 (comment)

  4. kziemski commented on Mar 4, 2026

    @kziemski

    If these were simple tools then yes.
    and with a single agent then the answer could still be yes.
    but these actions can cause mutated state so if multiple agents are operating on the page independent of one another probably not.
    i think the problem has more to do with coordination than with concurrency.
    it would make alot of sense for the browser native agent to purposefully delegate to the subordinate/in page agents with a registered set of tools
    in this way their would be inherent safety on these functions.
    but if that's an impossibility then in-page agents shouldn't be using webmcp at all.
    or the inpage agent having subsumed modelcontext prevents the browser agent from having seen them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions