Skip to content

Windows: system-wide repeating/stuck key (space) after chrome-devtools-mcp usage, persists after keyboard disconnect, requires OS restart #2309

Description

@Fakiros

Summary

After periods of using chrome-devtools-mcp (connected as an MCP server to Claude Code, running headful on a Windows client machine), the Windows machine occasionally enters a state where a keystroke (space bar) starts auto-repeating system-wide — in every application that has focus, not just the automated browser tab. Clicking into a different window/app does not stop it; the repeated space keeps appearing wherever focus goes next.

Critically: physically disconnecting the keyboard does not stop the repeat, which suggests the "held key" state is being tracked at the OS input level as a synthetic/injected event, not coming from real hardware. The only remedy found so far is a full OS restart. This has now recurred 3 separate times over a period of working with the MCP server.

Environment

  • chrome-devtools-mcp, connected over HTTP transport (http://<windows-host>:8932/mcp) from a remote Claude Code session (Linux host) via SSH/Remote-SSH
  • Windows client machine, real (headful) Chrome window driven by the server
  • @playwright/mcp (microsoft/playwright-mcp) is also configured on the same Windows machine on a separate port (8931), so I cannot 100% rule out an interaction between the two, but chrome-devtools-mcp is the one with active tool usage in this session's history around the time of at least one occurrence.

Hypothesis (unconfirmed)

If a keyboard tool (e.g. a key-press action) dispatches a keyDown for Space but, due to an exception, timeout, or lost connection, the matching keyUp is never sent, the OS itself may continue to treat the key as physically held and apply its own key-repeat — which would explain why the repeat:

  • targets whatever window currently has OS focus (not just the browser), and
  • continues even with the physical keyboard unplugged.

This would align with the input-reliability issues already reported in #2199 (injected input silently stops reaching a tab) and #2290 (server can steal foreground window focus) — both suggest the input/focus state tracking between the MCP server and the OS/browser isn't always consistent.

Reproduction

Not yet reliably reproducible on demand — it happens "after some time" / under conditions I haven't fully isolated. I don't have a minimal repro script yet. Filing this now because of severity (requires a full OS restart each time) in case others have hit the same thing or maintainers have insight into whether any code path sends a keyDown without a guaranteed matching keyUp (e.g., on an error/timeout branch).

Impact

High — the affected machine becomes effectively unusable (phantom input in every focused window) until a full restart.

Happy to gather more diagnostic info (e.g. instrumenting for keyDown/keyUp pairing) if that would help narrow this down.

Metadata

Metadata

Assignees

No one assigned

    Type

    Fields

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions