Skip to content

Anthropic 400: messages.0.content.N.text.text Field required (message content serialization) #420

Description

@BuomEm

Client or integration

Codex App

Area

Provider adapter

Summary

Anthropic 400: messages.0.content.N.text.text Field required — malformed content block in messagesToAnthropicFormat

When using an Anthropic (Claude) backend, the proxy returns 400 with messages.0.content.11.text.text: Field required. The content block at that index has a text field that is an object instead of a string, or is missing the text field entirely. This is in message content serialization (messagesToAnthropicFormat), not tool schema normalization (#75 / #76).

Reproduction

  1. ocx start
  2. Configure provider as Anthropic Claude (claude-opus-4-6-thinking or claude-sonnet-4-20250514) via any upstream (e.g. google-antigravity)
  3. Use Codex for a session with multiple tool calls (shell_command, apply_patch, etc.) until conversation history is large
  4. On the next request, observe 400 error:
    Provider error 400: {"type":"error","error":{"type":"invalid_request_error","message":"messages.0.content.11.text.text: Field required"}}

Version

2.7.39

Operating system

Windows 11 24H2

Provider and model

google-antigravity / claude-opus-4-6-thinking

Logs or error output

Provider error 400: Antigravity invalid request: {"type":"error","error":{"type":"invalid_request_error","message":"messages.0.content.11.text.text: Field required"},"request_id":"req_vrtx_011CdMAczCSM59wSQkjpFyBQ"}

{
  "requestId": "ocx-mrz4rxnw-3h",
  "timestamp": 1784909071148,
  "model": "claude-opus-4-6-thinking",
  "provider": "google-antigravity",
  "requestedModel": "google-antigravity/claude-opus-4-6-thinking",
  "status": 400,
  "durationMs": 1645,
  "errorCode": "invalid_request_error",
  "closeReason": "non_stream",
  "upstreamError": "Provider error 400: Antigravity invalid request: {\"type\":\"error\",\"error\":{\"type\":\"invalid_request_error\",\"message\":\"messages.0.content.11.text.text: Field required\"},\"request_id\":\"req_vrtx_011CdMAczCSM59wSQkjpFyBQ\"}",
  "usageStatus": "unreported",
  "displayMetrics": {
    "tokPerSecond": {
      "kind": "unavailable",
      "reason": "usage_missing"
    },
    "cost": {
      "kind": "unavailable",
      "reason": "usage_missing"
    }
  }
}

Screenshots and supporting files

No response

Redacted configuration

Checks

  • I searched existing issues and documentation.
  • I removed secrets, tokens, account details, request credentials, and personal data.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions