Skip to main content

is_blocking_tool_call

Function is_blocking_tool_call 

Source
pub fn is_blocking_tool_call(frame: &[u8]) -> bool
Expand description

True if frame is a tools/call request for the blocking openDiff tool — the only tool whose handler (crate::mcp::diff::open_diff) awaits an unbounded, user-paced verdict with no timeout. The connection dispatches these on their OWN task so the per-connection read loop is never blocked by a pending review: it keeps polling the socket + shutdown signal (so a dropped connection or :claude-code-stop is observed promptly and the pending review can be rejected), and other tool calls still flow. Every non-blocking tool stays inline + ordered. Malformed / non-matching frames return false (dispatched inline, where the parse error is reported).