MCP debug_stop

Description

Halts execution on the debugged Roku app. Unlike debug_continue/debug_step, this is NOT routed to a single backend by a runtime parameter -- it always attempts every backend the session actually has, and reports a result PER RUNTIME (brs / ts), never a single boolean: a stop that didn't happen must never be silently reported as one. This is the recommended, cross-cutting tool for debugsession-based workflows; cdp_debugger_pause remains fully valid for direct cdpsession usage, where it only ever halts the TypeScript side.

On the BrightScript side, STOP halts EVERY thread simultaneously (main, render, every task thread) -- there is no way to stop a single thread. An already-stopped app is reported as outcome: "stopped" too (the device answers success either way; this tool always reconciles against a fresh thread list rather than trusting the bare response).

On the TypeScript side, if the debugger is already paused this reports outcome: "already-paused" without re-pausing. Otherwise it attempts CDP's Debugger.pause -- which, on an IDLE Hermes runtime with no JS frame to pause on, acks but never actually pauses (a known, pre-existing device limitation shared with cdp_debugger_pause). That case is reported as outcome: "not-paused" with a message, not as a tool failure.

Optional parameters:

  • sessionId (string): Session id returned by debug_session_create. Uses the active session when
    omitted.

Aliases

Aliases: cdp_debugger_pause.

See also

Parameters

additionalProperties: false

NameTypeRequiredValues
sessionIdstringNo

sessionId

Session id returned by debug_session_create


Did this page help you?