Parse response as text first, then JSON to capture server errors. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>