Skip to content

StdioClientTransport#close() does not wait until underlying process is closed #271

Closed

Description

@Skn0tt

Describe the bug

Calling StdioClientTransport#close() does not wait until the underlying process is closed. This makes it hard to properly shut down the server.

To Reproduce

The code snippet in microsoft/playwright-mcp#141 showcases this well. The underlying @playwright/mcp server doesn't exit after calling close(), which is a bug in the implementation, but it can't be observed from the code because StdioClientTransport#close() returns immediately.

Expected behavior

close() blocks until the underlying process exits.

Additional context

close() returns a Promise, which implies that it waits for something.

Activity

  1. TomasRup commented on Apr 11, 2025

    @TomasRup
    Contributor

    Hey @Skn0tt, I've reproduced your case indeed and tried to mimic what you server was doing before in a test. Check it out #314

  2. added a commit that references this issue on May 2, 2025
  3. added
    ready for workEnough information for someone to start working on
    P1Significant bug affecting many users, highly requested feature
    on Nov 3, 2025
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

    P1Significant bug affecting many users, highly requested featurebugSomething isn't workingready for workEnough information for someone to start working on

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions