When no Anthropic API credential is available, the proxy now falls back to OpenRouter before trying the Claude CLI. The new streamViaOpenRouterFallback function converts OpenRouter's OpenAI-format SSE to Anthropic-format SSE (content_block_delta with text_delta) so the frontend's Claude provider can parse it correctly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>