output_config parameter causes 44-92% failure rate on Vertex AI haiku sub-agent calls
Bug Report
Description
Claude Code sends an output_config parameter in requests to Vertex AI's streamRawPredict endpoint. Vertex AI rejects this with invalid_request_error: output_config: Extra inputs are not permitted (gRPC status code 3). This primarily affects internal haiku sub-agent calls (Explore, Plan, summarization, tool processing), causing massive failure rates and user-visible timeouts.
Environment
- Claude Code versions affected: 2.1.81, 2.1.83, 2.1.86, 2.1.87 (confirmed)
- Not affected: 2.0.77 (0% error rate —
output_configlikely introduced between 2.0.77 and 2.1.81) - Platform: Vertex AI (
streamRawPredictendpoint) - GCP project region: global (multi-region)
- OS: macOS + Windows (both affected)
Impact
| Model | Error Rate |
|---|---|
| Haiku (sub-agent) | 44–92% |
| Opus (primary) | 1.2% |
| Sonnet | 0.7% |
Haiku is disproportionately affected because Claude Code dispatches many internal haiku sub-agent calls. The high failure rate causes:
- Repeated retries, increasing latency
- User-visible timeouts and degraded experience
- Wasted API quota on failed calls
Error details
Every failed request returns:
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "output_config: Extra inputs are not permitted"
}
}
Evidence from GCP audit logs
Sampled 100 haiku calls in a 1-hour window (2026-03-30 ~16:00 UTC):
| CLI Version | Success | Failure |
|---|---|---|
| 2.0.77 | 6 | 0 |
| 2.1.81 | 0 | 54 |
| 2.1.83 | 0 | 16 |
| 2.1.86 | 2 | 12 |
| 2.1.87 | 0 | 10 |
Larger sample (2000 calls earlier same day) showed 44% haiku error rate. This is not a rate limit issue — zero 429 errors found.
Root cause
The output_config parameter is included in the request body sent to Vertex AI's streamRawPredict endpoint, but this parameter is not supported by Vertex AI's Anthropic model serving. It appears to be a direct API parameter that isn't stripped when routing through Vertex.
Expected behavior
Claude Code should either:
- Not send
output_configwhen using the Vertex AI backend, or - Vertex AI should accept and handle the parameter
Steps to reproduce
- Configure Claude Code to use Vertex AI backend
- Start a session (triggers haiku sub-agent calls automatically)
- Query GCP audit logs for
protoPayload.status.code=3onaiplatform.googleapis.com
First observed
At least 2025-02-28 based on audit log analysis. Bug persists through latest version (2.1.87, 2026-03-30).
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗