Previous timeout used ExitStatus::default() which is success on Linux, so the fallback never triggered. Now properly kills process, awaits exit, and forces fallback path on timeout. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>