Skip to content

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

Open
@Skn0tt

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    To triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions