finish_reason=length with empty visible content and a non-empty reasoning or reasoning_content field uses the existing thinking-budget abort. No model id is consulted. Empty content with no side channel still continues. Desktop close/stop no longer discards Windows taskkill failures. After the same tree-kill, owned PIDs are inventoried and only unheld gateway locks are cleared.