plandex-ai/plandex · error
no response from model
Error message
no response from model
What it means
GenCommitMsgForPendingResults summarizes multiple pending commit messages with an LLM call. If the call succeeds but the model returns empty content, the function returns this plain error instead of a commit message. It signals a degenerate model response for the pending-results prompt.
Source
Thrown at app/server/model/plan/commit_msg.go:257
Auth: auth,
Plan: plan,
ModelConfig: &config,
Purpose: "Commit message",
Messages: messages,
SessionId: sessionId,
Settings: settings,
})
if err != nil {
fmt.Println("Generate commit message error:", err)
return "", err
}
content := modelRes.Content
if content == "" {
return "", fmt.Errorf("no response from model")
}
return content, nil
}
View on GitHub (pinned to e2d772072e)
Solutions
- Retry the operation — empty responses are frequently transient
- Check the provider's status page and any content-filter flags in provider dashboards
- Increase the CommitMsg model's max tokens / adjust temperature
- Switch the CommitMsg model to a more reliable model
Example fix
// before
msg, err := plan.GenCommitMsgForPendingResults(params)
// after: retry once on empty-model-response
msg, err := plan.GenCommitMsgForPendingResults(params)
if err != nil && strings.Contains(err.Error(), "no response from model") {
msg, err = plan.GenCommitMsgForPendingResults(params)
} Defensive patterns
Strategy: retry
Validate before calling
// n/a — nothing to validate before the call; guard the result after
if strings.TrimSpace(content) == "" { return fallbackCommitMsg() } Try / catch
msg, err := plan.GenCommitMsgForPendingResults(params)
if err != nil {
if strings.Contains(err.Error(), "no response from model") {
msg, err = plan.GenCommitMsgForPendingResults(params) // one retry
}
if err != nil { msg = defaultCommitMsg(params.Plan) }
} Prevention
- Retry transient empty LLM responses automatically
- Review provider content-filter logs if diff-heavy prompts trigger empties
- Configure a sane max_tokens for the CommitMsg model
- Have a deterministic fallback commit message when the LLM returns nothing
When it happens
Trigger: The provider returned an empty completion (content filter, incident, or truncation) for the SysPendingResults prompt; the CommitMsg model config has max tokens too small; the request context was effectively completed with no generated text.
Common situations: Provider content filters flagging diff-heavy prompts; flaky local model endpoints returning empty bodies; incidents at the LLM provider producing empty completions.
Related errors
- no describePlan function call found in response
- client not found for provider composite: %s
- error creating chat completion stream: %w
- stream timed out due to inactivity. The model is not respond
- model stream ended unexpectedly: %w
AI-assisted analysis of plandex-ai/plandex@e2d772072e (2026-09-05).
Data as JSON: /api/errors/9bee823f4091718c.
Report an issue: GitHub.