plandex-ai/plandex · error
No namePipedData function call found in response. The model
Error message
No namePipedData function call found in response. The model failed to generate a valid response.
What it means
GenPipedDataName, in the non-XML (function-call/JSON) path, expects the model response to contain a namePipedData function call whose content is a PipedDataNameRes JSON payload. When the response Content is empty (no function call made), this error is returned. The model failed to produce the structured name response at all.
Source
Thrown at app/server/model/name.go:212
})
if err != nil {
fmt.Printf("Error during piped data name model call: %v\n", err)
return "", err
}
var name string
content := modelRes.Content
if baseModelConfig.PreferredOutputFormat == shared.ModelOutputFormatXml {
name = utils.GetXMLContent(content, "name")
if name == "" {
return "", fmt.Errorf("No name tag found in XML response")
}
} else {
if content == "" {
fmt.Println("no namePipedData function call found in response")
return "", fmt.Errorf("No namePipedData function call found in response. The model failed to generate a valid response.")
}
var nameRes prompts.PipedDataNameRes
err = json.Unmarshal([]byte(content), &nameRes)
if err != nil {
fmt.Printf("Error unmarshalling piped data name response: %v\n", err)
return "", err
}
name = nameRes.Name
}
return name, nil
}
func GenNoteName(
ctx context.Context,
auth *types.ServerAuth,
plan *db.Plan,View on GitHub (pinned to e2d772072e)
Solutions
- Retry the request; failures are often stochastic.
- Force tool_choice to namePipedData in the model request.
- Confirm the tools array registers namePipedData with the expected schema.
- Increase max_tokens and re-check the prompt instructs tool use.
- Use a model with stronger tool-calling reliability.
Example fix
// before
modelReq{Prompt: prompt}
// after
modelReq{Prompt: prompt, ToolChoice: {Type: "function", Function: {Name: "namePipedData"}}} Defensive patterns
Strategy: try-catch
Type guard
func hasContent(res *shared.ModelRes) bool { return res != nil && res.Content != "" } Try / catch
name, err := model.GenPipedDataName(ctx, req)
if err != nil {
if strings.Contains(err.Error(), "No namePipedData function call found") {
name, err = model.GenPipedDataName(ctx, req) // single retry
}
if err != nil { return fmt.Errorf("piped data naming failed: %w", err) }
} Prevention
- Force tool_choice to namePipedData
- Register the namePipedData tool with a valid schema on every request
- Raise max_tokens to avoid truncated tool calls
- Alert on repeated empty-content responses per model to catch provider regressions
When it happens
Trigger: PreferredOutputFormat != XML and the LLM reply contains no namePipedData function call: model answers in plain text, refuses, or the tools config omitted/misnamed the function.
Common situations: Provider updates changing tool_call serialization, models without reliable function calling, prompts asking for a direct answer instead of the tool call, or truncated responses from low max_tokens.
Related errors
- No namePlan function call found in response. The model faile
- No nameNote function call found in response. The model faile
- No name tag found in XML response
- no describePlan function call found in response
- client not found for provider composite: %s
AI-assisted analysis of plandex-ai/plandex@e2d772072e (2026-09-05).
Data as JSON: /api/errors/b102da1b0a2a2b3d.
Report an issue: GitHub.