{"record":{"id":"9bee823f4091718c","repo":"plandex-ai/plandex","slug":"no-response-from-model","errorCode":null,"errorMessage":"no response from model","messagePattern":"no response from model","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"app/server/model/plan/commit_msg.go","lineNumber":257,"sourceCode":"\t\tAuth:        auth,\n\t\tPlan:        plan,\n\t\tModelConfig: &config,\n\t\tPurpose:     \"Commit message\",\n\t\tMessages:    messages,\n\t\tSessionId:   sessionId,\n\t\tSettings:    settings,\n\t})\n\n\tif err != nil {\n\t\tfmt.Println(\"Generate commit message error:\", err)\n\n\t\treturn \"\", err\n\t}\n\n\tcontent := modelRes.Content\n\n\tif content == \"\" {\n\t\treturn \"\", fmt.Errorf(\"no response from model\")\n\t}\n\n\treturn content, nil\n}\n","sourceCodeStart":239,"sourceCodeEnd":262,"githubUrl":"https://github.com/plandex-ai/plandex/blob/e2d772072efadbe41d2946d97d79be55532dbab5/app/server/model/plan/commit_msg.go#L239-L262","documentation":"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.","triggerScenarios":"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.","commonSituations":"Provider content filters flagging diff-heavy prompts; flaky local model endpoints returning empty bodies; incidents at the LLM provider producing empty completions.","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"],"exampleFix":"// before\nmsg, err := plan.GenCommitMsgForPendingResults(params)\n// after: retry once on empty-model-response\nmsg, err := plan.GenCommitMsgForPendingResults(params)\nif err != nil && strings.Contains(err.Error(), \"no response from model\") {\n    msg, err = plan.GenCommitMsgForPendingResults(params)\n}","handlingStrategy":"retry","validationCode":"// n/a — nothing to validate before the call; guard the result after\nif strings.TrimSpace(content) == \"\" { return fallbackCommitMsg() }","typeGuard":null,"tryCatchPattern":"msg, err := plan.GenCommitMsgForPendingResults(params)\nif err != nil {\n    if strings.Contains(err.Error(), \"no response from model\") {\n        msg, err = plan.GenCommitMsgForPendingResults(params) // one retry\n    }\n    if err != nil { msg = defaultCommitMsg(params.Plan) }\n}","preventionTips":["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"],"tags":["llm","empty-response"],"backgroundTag":"llm-empty-response","analyzedSha":"e2d772072efadbe41d2946d97d79be55532dbab5","analyzedAt":"2026-09-05T20:56:53.631Z","contentChangedAt":"2026-09-05T20:56:53.631Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}