Move blocking subprocess.run() call off event loop using asyncio.to_thread() with timeout to prevent deadlock when using stdio transport. - Wrap _resolve_workspace_root() in asyncio.to_thread() with 2s timeout - Add fallback to os.path.abspath() on timeout - Ensure logging uses stderr to avoid stdio protocol pollution Amp-Thread-ID: https://ampcode.com/threads/T-fc335bda-5fca-4daa-bdc1-5d53d0eb818f Co-authored-by: Amp <amp@ampcode.com>