This prompt is for agent-framework builders and AI reliability engineers who need to recover from a specific, high-impact failure: a model's tool call was truncated by a context window limit or token budget exhaustion, leaving a malformed JSON argument block. The job-to-be-done is to reconstruct a complete, valid, and executable function call from the partial output without losing the agent's original intent, the selected tool, or the required parameters. The ideal user is someone integrating this recovery step into an agent harness, where a failed tool call breaks an execution pipeline and requires a structured, automated retry before escalating to a human operator or falling back to a simpler model.
Prompt
Incomplete Function Call Recovery Prompt Template

When to Use This Prompt
Define the job, reader, and constraints for the Incomplete Function Call Recovery Prompt Template.
Use this prompt when you have a partial function call—specifically, a JSON object that is cut off mid-structure—and you can provide the original tool schema, the user's goal, and the truncated text. It is designed for scenarios where the model's intent is clear but the syntax is broken, such as a closing brace missing or a string value cut off. Do not use this prompt for semantic errors where the model chose the wrong tool or hallucinated parameters; those failures require a different recovery strategy focused on intent correction, not structural repair. This prompt is also inappropriate when the truncation point is so early that no meaningful arguments were captured, in which case a full re-generation with a reduced context window is a better first step.
The prompt assumes you have a defined [TOOL_SCHEMA] and the raw [TRUNCATED_OUTPUT]. It works best when paired with a validation harness that can parse the repaired JSON, check it against the schema, and confirm that all required fields are present and correctly typed. Before deploying this into a production agent loop, implement a retry budget and an escalation threshold: if the repair fails after a set number of attempts, the system should log the failure, capture the partial output for debugging, and either request human intervention or return a controlled error to the upstream orchestrator. The next section provides the exact prompt template you can adapt and embed in your recovery logic.
Use Case Fit
Where the Incomplete Function Call Recovery Prompt works well and where it introduces more risk than it resolves.
Good Fit: Agent Frameworks with Strict Tool Contracts
Use when: your agent harness enforces a strict JSON schema for tool calls and a truncation event leaves the JSON argument block incomplete. Guardrail: The recovery prompt must receive the original tool schema and the partial JSON to reconstruct a valid call without guessing parameter semantics.
Bad Fit: Ambiguous or Multi-Tool Truncation
Avoid when: the truncation point occurs before the tool name is fully resolved or when multiple tool calls are interleaved. Guardrail: If the intended tool cannot be determined with high confidence, escalate to a clarification request instead of attempting recovery.
Required Input: Schema and Partial Argument Block
What to watch: Recovery fails silently when the prompt receives only the truncated text without the expected function schema. Guardrail: Always inject the full JSON Schema for the suspected tool alongside the truncated fragment so the model can validate required fields and enum values.
Operational Risk: Silent Argument Hallucination
What to watch: The model may invent plausible but incorrect values for missing required parameters to complete the JSON block. Guardrail: Post-recovery, validate the reconstructed call against the tool schema and flag any hallucinated values that cannot be inferred from conversation context for human review.
Operational Risk: Retry Loop Exhaustion
What to watch: A malformed schema or persistent truncation can cause infinite recovery loops. Guardrail: Implement a hard retry budget (e.g., 2 attempts). If the recovered call fails validation again, log the partial block and escalate to a human operator or a fallback clarification flow.
Bad Fit: Security-Sensitive Parameter Recovery
Avoid when: the truncated block contains partially redacted or sensitive parameters (e.g., API keys, PII). Guardrail: Never attempt to reconstruct sensitive values. If truncation occurs in a sensitive field, discard the partial call and require the user or upstream system to re-authenticate or re-submit the request.
Copy-Ready Prompt Template
A reusable prompt template for reconstructing a complete function call from a truncated JSON argument block.
This prompt template is designed to be injected into a retry loop when an agent harness detects an incomplete tool call. The core job is to take the partial JSON payload, the original tool's schema, and any available error context, and instruct the model to produce a syntactically valid and semantically correct function call. The template uses square-bracket placeholders so you can wire it directly into your application's retry logic without manual editing.
textYou are a recovery agent for an AI system. Your only job is to repair an incomplete function call. **Original Task Context:** [USER_QUERY] **Tool Definition (JSON Schema):** ```json [TOOL_SCHEMA]
Truncated Function Call:
json[TRUNCATED_JSON]
Error Message: [ERROR_MESSAGE]
Instructions:
- Analyze the truncated JSON and the tool schema to understand the intended function and its required parameters.
- Reconstruct a complete, valid JSON object that strictly conforms to the provided schema. Infer missing values from the original task context where possible.
- If a required parameter's value cannot be inferred with high confidence, use a
nullvalue for that field. Do not hallucinate specific data like names, dates, or identifiers. - Your response must be a single, valid JSON object inside a markdown code block labeled
json. Do not include any other text, explanations, or apologies.
Recovery Output:
To adapt this template, replace the placeholders with live data from your application's error handler. [USER_QUERY] should contain the original user prompt that triggered the tool call. [TOOL_SCHEMA] is the exact JSON schema of the function the model was attempting to call. [TRUNCATED_JSON] is the raw, incomplete string captured from the model's output. [ERROR_MESSAGE] should include the parsing exception or validation error that flagged the call as incomplete. After the model responds, you must validate the output against the original [TOOL_SCHEMA] before executing the function. If validation fails, increment your retry counter and consider escalating to a human operator if the budget is exhausted.
Prompt Variables
Required inputs for the Incomplete Function Call Recovery Prompt. Each placeholder must be populated before the retry prompt is assembled. Validation checks prevent silent failures from missing or malformed arguments.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[TRUNCATED_JSON] | The incomplete JSON argument block that was cut off mid-stream | {"file_path": "/src/utils/hel | Must be non-empty string. Validate that it starts with { or [ and ends mid-token. Reject if already valid JSON. |
[TOOL_NAME] | The name of the function or tool that was being called | write_file | Must match an entry in the available tool registry. Case-sensitive exact match required. Reject if tool not found in schema. |
[TOOL_SCHEMA] | The full JSON Schema for the tool's parameters | {"type": "object", "properties": {"file_path": {"type": "string"}, "content": {"type": "string"}}, "required": ["file_path", "content"]} | Must be valid JSON Schema. Parse and validate with a schema validator. Reject if schema is missing required fields or has circular references. |
[REQUIRED_PARAMS] | List of parameter names that must be present for the tool call to succeed | ["file_path", "content"] | Must be an array of strings. Each entry must exist in TOOL_SCHEMA properties. Reject if any required param is not in schema. |
[CONTEXT_HINT] | Optional natural language description of what the agent was trying to accomplish | Writing the helper function to parse user config files | Nullable string. If provided, must be under 500 characters. Used to disambiguate intent when multiple completions are plausible. Null allowed. |
[PREVIOUS_TURNS] | Optional array of prior assistant and tool messages for context | [{"role": "assistant", "content": "I'll write the config parser now"}] | Nullable array. If provided, each entry must have role and content fields. Max 5 turns to avoid context pollution. Null allowed. |
[MAX_RETRY_ATTEMPTS] | Integer controlling how many times the recovery prompt has already been attempted | 2 | Must be a non-negative integer. If value exceeds retry budget threshold, skip recovery and escalate. Used to prevent infinite retry loops. |
Implementation Harness Notes
How to wire the incomplete function call recovery prompt into an agent harness with validation, retries, and safe execution.
The incomplete function call recovery prompt is designed to sit inside a retry handler that fires when a tool-use step returns a malformed or truncated JSON argument block. The harness should catch the parse error, extract the partial JSON string and the intended tool name, and inject them into the prompt template as [PARTIAL_JSON] and [TOOL_NAME]. The [TOOL_SCHEMA] placeholder must be populated from the tool's registered JSON Schema definition—never from a cached or assumed version—so the model has the authoritative contract for required fields, types, and enumerations. If the agent framework supports multiple tools, include only the schema for the tool that was being called; providing unrelated schemas increases token cost and risks the model selecting the wrong tool.
After the model returns a reconstructed function call, the harness must validate the output before execution. Parse the response as JSON and check: (1) it is a valid JSON object, (2) it contains a name field matching the original [TOOL_NAME], (3) the arguments field is a valid JSON object, and (4) all required parameters from [TOOL_SCHEMA] are present with correct types. If validation fails, increment a retry counter and re-invoke the recovery prompt with the validation error message appended to [PARTIAL_JSON] as additional context. Set a hard retry limit—typically 2 or 3 attempts—after which the harness should escalate to a human reviewer or log the failure for offline analysis rather than looping indefinitely. For high-risk tools that mutate state (e.g., database writes, API deletions, financial transactions), never execute a recovered call without human approval, even if validation passes.
Model choice matters for this workflow. Use a model with strong JSON generation and instruction-following capabilities, such as GPT-4o, Claude 3.5 Sonnet, or equivalent. Avoid smaller or older models that struggle with partial-input reconstruction. Log every recovery attempt—including the original truncated JSON, the model's reconstructed output, validation results, and whether the call was executed or escalated—so you can measure recovery success rates and identify patterns in truncation failures. If recovery success drops below an acceptable threshold, investigate upstream causes: context window exhaustion, streaming buffer cutoffs, or model output length limits that should be addressed at the generation layer rather than patched in recovery.
Expected Output Contract
Defines the required fields, types, and validation rules for the reconstructed function call object returned by the Incomplete Function Call Recovery Prompt. Use this contract to validate the model's output before passing it to your tool execution harness.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
tool_name | string | Must exactly match a tool name from the [TOOL_SCHEMAS] list. Case-sensitive string comparison. | |
arguments | object | Must be a valid JSON object. All keys in the 'required' array of the target tool's schema must be present. | |
arguments.[REQUIRED_PARAM] | per schema | Must be present and non-null. Type must match the schema definition for this parameter (string, number, boolean, array, object). | |
arguments.[OPTIONAL_PARAM] | per schema or null | If present, type must match the schema definition. If absent, the harness should apply the schema's default value if one exists. | |
recovery_notes | string | A brief, human-readable explanation of how missing argument values were inferred from the [TRUNCATED_INPUT] or why they were set to a safe default. Max 200 characters. | |
confidence | string | Must be one of the enum values: 'high', 'medium', 'low'. Set to 'low' if any required argument was inferred without direct evidence in the truncated input. | |
truncation_point | string | Must be a substring that exactly matches the last 20-50 characters of the provided [TRUNCATED_INPUT]. Used by the harness to verify the model processed the correct input segment. |
Common Failure Modes
What breaks first when recovering from truncated function calls and how to guard against it.
Silent Argument Hallucination
Risk: The model fills missing required parameters with plausible but incorrect values (e.g., user_id: 0) instead of signaling a gap. Guardrail: Require the prompt to output a missing_fields array and validate that all required parameters from the tool schema are present in the reconstructed call before execution.
Schema Drift on Retry
Risk: The recovery prompt changes the intended tool name or argument structure, causing the agent to call a different, valid-looking function that performs the wrong action. Guardrail: Include the original intended tool name and a hash of the original partial arguments in the retry prompt. Validate the reconstructed tool name matches exactly before dispatch.
Recursive Truncation Loop
Risk: The reconstructed call plus the recovery prompt exceeds the token limit, causing another truncation and an infinite retry loop. Guardrail: Implement a hard retry budget (max 2 attempts). On the second failure, compress the surrounding context or escalate to a human operator with the partial payload instead of retrying.
Loss of Numeric Precision
Risk: Truncated numeric values (e.g., 3.1415...) are reconstructed with incorrect precision, breaking financial or scientific calculations. Guardrail: Instruct the model to preserve the exact string representation of truncated numbers or, if precision is lost, to mark the value as UNRECOVERABLE and request the full value from context.
String Boundary Corruption
Risk: A truncated string argument loses its closing quote, causing the reconstructed JSON to be unparseable or to merge with the next field. Guardrail: Use a JSON repair library (e.g., json-repair) before attempting schema validation. If repair fails, trigger a specific retry that asks the model to quote and escape the broken string segment explicitly.
Context Starvation for Nested Objects
Risk: Deeply nested objects or long arrays are truncated mid-structure, and the model lacks sufficient context to infer the missing brackets and keys. Guardrail: Include a structural summary (e.g.,
Evaluation Rubric
Criteria for testing whether the recovery prompt reliably reconstructs a complete, valid function call from a truncated JSON argument block before shipping to production.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Schema Compliance | Output is valid JSON matching the target function schema with all required fields present | Missing required fields, extra fields not in schema, or unparseable JSON | Validate output against JSON Schema for the target function; check for parse errors and required field presence |
Argument Completeness | All arguments present in the truncated input are preserved; missing required arguments are inferred correctly or flagged as null | Required argument dropped without null placeholder; inferred value contradicts available context | Diff input arguments against output arguments; verify no loss of known values; check null handling for unrecoverable fields |
Tool Name Preservation | The function or tool name matches the original call exactly, including case and namespace | Wrong function name, missing namespace prefix, or hallucinated tool that was never called | String equality check against the original function name from the truncated call |
Argument Type Correctness | All argument values match the expected types defined in the function schema | String where integer expected, array where object expected, or boolean serialized as string | Type-check each argument value against the schema definition; flag type mismatches |
No Hallucinated Values | Inferred values are limited to what can be reasonably deduced from the truncated fragment; no fabricated data | Confidently filled field with a plausible but unsupported value; invented enum member not in allowed list | Compare inferred values against a human-annotated ground truth set of recoverable vs unrecoverable fields |
Truncation Boundary Handling | The prompt correctly identifies the exact truncation point and reconstructs only the broken portion | Output duplicates content before the truncation point; misses the broken field entirely; starts reconstruction too early | Verify output begins at the exact character or token position where truncation occurred |
Retry Budget Compliance | The recovery prompt succeeds within the configured retry budget; escalation triggers after max retries | Infinite retry loop on unrecoverable truncation; no escalation after repeated schema validation failures | Run with a retry counter; assert that escalation path activates after [MAX_RETRIES] consecutive failures |
Latency Threshold | Recovery completes within the defined latency budget for the retry path | Recovery takes longer than the primary call; timeout causes pipeline stall | Measure end-to-end recovery time; assert it stays under [RECOVERY_LATENCY_MS] |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Use the base prompt with a single model call. Focus on getting the reconstructed function call shape correct before adding validation layers.
codeYou are recovering an incomplete function call. The original tool was [TOOL_NAME] with schema [TOOL_SCHEMA]. The truncated arguments are: [TRUNCATED_ARGUMENTS] Return ONLY a valid JSON object with the completed arguments. Infer missing values from context where possible.
Watch for
- Missing schema validation on the reconstructed arguments
- Overly aggressive inference that fabricates parameter values
- No logging of recovery attempts for debugging

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us