When a tool call is made, stopReason is set to 'tool_use'. However, when finishReason: STOP arrives later, it was overwriting stopReason back to 'end_turn', breaking multi-turn tool conversations in clients like OpenCode. Fix: Initialize stopReason to null and only set it from finishReason if not already set. This ensures tool_use is preserved once detected. Fixes #96 Co-Authored-By: Claude <noreply@anthropic.com>