Tencent/WeKnora · error
invalid starter suggestion mode %q
Error message
invalid starter suggestion mode %q
What it means
Validation error from QuestionSuggestionConfig.Validate: starters.Mode is not one of curated, knowledge, or hybrid, so the starter suggestion mode is rejected. The invalid raw mode value is quoted in the message.
Source
Thrown at internal/types/custom_agent.go:389
}
// Validate rejects invalid agent-authored suggestion settings before they are
// persisted or used to incur a model call.
func (c *QuestionSuggestionConfig) Validate() error {
if c == nil {
return nil
}
if c.Starters.Count < 1 || c.Starters.Count > 8 {
return fmt.Errorf("starter suggestion count must be between 1 and 8")
}
if c.FollowUps.Count < 1 || c.FollowUps.Count > 5 {
return fmt.Errorf("follow-up suggestion count must be between 1 and 5")
}
if c.FollowUps.MaxContextTurns < 1 || c.FollowUps.MaxContextTurns > 5 {
return fmt.Errorf("follow-up max_context_turns must be between 1 and 5")
}
if !oneOf(c.Starters.Mode, SuggestionModeCurated, SuggestionModeKnowledge, SuggestionModeHybrid) {
return fmt.Errorf("invalid starter suggestion mode %q", c.Starters.Mode)
}
if !oneOf(c.FollowUps.Mode, SuggestionModeGenerated, SuggestionModeKnowledge, SuggestionModeHybrid) {
return fmt.Errorf("invalid follow-up suggestion mode %q", c.FollowUps.Mode)
}
for i, item := range c.Starters.Items {
trimmed := strings.TrimSpace(item)
if trimmed == "" {
return fmt.Errorf("starter suggestion %d cannot be empty", i+1)
}
if len([]rune(trimmed)) > 200 {
return fmt.Errorf("starter suggestion %d exceeds 200 characters", i+1)
}
}
if len([]rune(strings.TrimSpace(c.FollowUps.AdditionalInstruction))) > 2000 {
return fmt.Errorf("follow-up additional_instruction exceeds 2000 characters")
}
for _, category := range c.FollowUps.Categories {
if !oneOf(category, SuggestionCategoryClarify, SuggestionCategoryDeepen, SuggestionCategoryAction) {View on GitHub (pinned to 988cbb0330)
Solutions
- Use one of the allowed starter modes: curated, knowledge, hybrid
- Map legacy mode names to supported values before validation
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at internal/types/custom_agent.go:389 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02).
Data as JSON: /api/errors/75588cac2df6c907.
Report an issue: GitHub.