Responses API Issues with GPT-5

I can’t for the life of me seem to get a response from GPT-5 with resoning of minimal, low, medium, or high. In addition with GPT-5 Pro I’m not getting a response either. I’m sending it in background mode too. It’s working fine with GPT-5-Mini. Any ideas?

[prepare_request] Full JSON schema being sent to LLM:
{
  "$defs": {
    "Ingredient": {
      "properties": {
        "name": {
          "description": "Ingredient name with any non\u2011preparation qualifiers",
          "title": "Name",
          "type": "string"
        },
        "measurement": {
          "$ref": "#/$defs/IngredientMeasurement"
        },
        "pre_step_preparation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Imperative preparation instruction with 'measure then'/'then measure' if needed.",
          "title": "Pre Step Preparation"
        }
      },
      "required": [
        "name",
        "measurement",
        "pre_step_preparation"
      ],
      "title": "Ingredient",
      "type": "object",
      "additionalProperties": false
    },
    "IngredientMeasurement": {
      "properties": {
        "amounts": {
          "description": "Only decimals with 3 decimal places",
          "items": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string"
              }
            ]
          },
          "title": "Amounts",
          "type": "array"
        },
        "units": {
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/$defs/IngredientUnit"
              },
              {
                "type": "null"
              }
            ]
          },
          "title": "Units",
          "type": "array"
        }
      },
      "title": "IngredientMeasurement",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "amounts",
        "units"
      ]
    },
    "IngredientUnit": {
      "enum": [
        "teaspoon",
        "tablespoon",
        "cup",
        "gram",
        "kilogram",
        "clove",
        "head",
        "bunch",
        "stalk",
        "sprig",
        "leaf",
        "slice",
        "piece",
        "can",
        "jar",
        "package",
        "pinch",
        "dash",
        "batch"
      ],
      "title": "IngredientUnit",
      "type": "string"
    },
    "MiseEnPlace": {
      "properties": {
        "name": {
          "description": "Short noun phrase",
          "title": "Name",
          "type": "string"
        },
        "instruction": {
          "description": "Reference ingredients as one; specify how to combine, container, and placement",
          "title": "Instruction",
          "type": "string"
        },
        "ingredients": {
          "items": {
            "$ref": "#/$defs/Ingredient"
          },
          "minItems": 2,
          "title": "Ingredients",
          "type": "array"
        }
      },
      "required": [
        "name",
        "instruction",
        "ingredients"
      ],
      "title": "MiseEnPlace",
      "type": "object",
      "additionalProperties": false
    },
    "Step": {
      "properties": {
        "text": {
          "title": "Text",
          "type": "string"
        },
        "ingredients": {
          "items": {
            "$ref": "#/$defs/Ingredient"
          },
          "title": "Ingredients",
          "type": "array"
        }
      },
      "required": [
        "text",
        "ingredients"
      ],
      "title": "Step",
      "type": "object",
      "additionalProperties": false
    }
  },
  "properties": {
    "name": {
      "description": "Cooking verb and component",
      "title": "Name",
      "type": "string"
    },
    "steps": {
      "description": "Recipe steps with their ingredients",
      "items": {
        "$ref": "#/$defs/Step"
      },
      "title": "Steps",
      "type": "array"
    },
    "mise_en_place": {
      "description": "Preparation groups for this section, reusable across steps",
      "items": {
        "$ref": "#/$defs/MiseEnPlace"
      },
      "title": "Mise En Place",
      "type": "array"
    },
    "notes": {
      "items": {
        "type": "string"
      },
      "title": "Notes",
      "type": "array"
    }
  },
  "required": [
    "name",
    "steps",
    "mise_en_place",
    "notes"
  ],
  "title": "RecipeSection",
  "type": "object",
  "additionalProperties": false
}

This schema can barely be followed by AI. I had to wrap in in a proper container to use it as a response format. It should be flattened, because even if ‘strict’, the AI must be able to follow along.

Two different runs of ‘json_object’

Is it that you get lots of reasoning and no output? What does the token usage object look like?

You have given lots of variables of what you are doing. Nothing about backing off until you achieve success, or what change you made that would make the AI have ‘response issues’.

If not using internal tools, there is little reason to use Responses. If using tools, there is another variable not explained in diagnosing what is actually happening, which could even come down to sending “effort” in the “reasoning” API parameter wrong, and not capturing error messages.


Chat Completions, strict schema, reasoning:low sent to gpt-5, vastly different output than without strict schema enforcement; success.

Thank you for your insights I’m going to try to simplify models!