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

  1. Retry the operation — empty responses are frequently transient
  2. Check the provider's status page and any content-filter flags in provider dashboards
  3. Increase the CommitMsg model's max tokens / adjust temperature
  4. 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

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


AI-assisted analysis of plandex-ai/plandex@e2d772072e (2026-09-05). Data as JSON: /api/errors/9bee823f4091718c. Report an issue: GitHub.