Skip to main content
The Response Healing plugin automatically validates and repairs malformed JSON responses from AI models. When models return imperfect formatting – missing brackets, trailing commas, markdown wrappers, or mixed text – this plugin attempts to repair the response so you receive valid, parseable JSON.

Overview

Response Healing provides:
  • Automatic JSON repair: Fixes missing brackets, commas, quotes, and other syntax errors
  • Markdown extraction: Extracts JSON from markdown code blocks

How It Works

The plugin activates for non-streaming requests when you use response_format with either type: "json_schema" or type: "json_object", and include the response-healing plugin in your plugins array. See the Complete Example below for a full implementation.

What Gets Fixed

The Response Healing plugin handles common issues in LLM responses:

JSON Syntax Errors

Input: Missing closing bracket
{"name": "Alice", "age": 30
Output: Fixed
{"name": "Alice", "age": 30}

Markdown Code Blocks

Input: Wrapped in markdown
```json
{"name": "Bob"}
```
Output: Extracted
{"name": "Bob"}

Mixed Text and JSON

Input: Text before JSON
Here's the data you requested:
{"name": "Charlie", "age": 25}
Output: Extracted
{"name": "Charlie", "age": 25}

Trailing Commas

Input: Invalid trailing comma
{"name": "David", "age": 35,}
Output: Fixed
{"name": "David", "age": 35}

Unquoted Keys

Input: JavaScript-style
{name: "Eve", age: 40}
Output: Fixed
{"name": "Eve", "age": 40}

Complete Example

Limitations

Non-Streaming Requests OnlyResponse Healing only applies to non-streaming requests.
Will not repair all JSONSome malformed JSON responses may still be unrepairable. In particular, if the response is truncated by max_tokens, the plugin will not be able to repair it.