plandex-ai/plandex · error

panic in GenNoteName: %v %s

Error message

panic in GenNoteName: %v
%s

What it means

Recovery guard in the note-name goroutine of the LoadContext handler: model.GenNoteName panicked while naming a note context. The panic and stack are logged and converted to this error via errCh, with Goexit preventing double-send.

Source

Thrown at app/server/handlers/context_helper.go:186

					OrgUserConfig: orgUserConfig,
				})

				if err != nil {
					errCh <- fmt.Errorf("error generating name for piped data: %v", err)
					return
				}

				context.Name = name
				errCh <- nil
			}(context)
		} else if context.ContextType == shared.ContextNoteType {
			num++

			go func(context *shared.LoadContextParams) {
				defer func() {
					if r := recover(); r != nil {
						log.Printf("panic in GenNoteName: %v\n%s", r, debug.Stack())
						errCh <- fmt.Errorf("panic in GenNoteName: %v\n%s", r, debug.Stack())
						runtime.Goexit() // don't allow outer function to continue and double-send to channel
					}
				}()

				name, err := model.GenNoteName(r.Context(), auth, plan, settings, orgUserConfig, clients, authVars, context.Body, context.SessionId)

				if err != nil {
					errCh <- fmt.Errorf("error generating name for note: %v", err)
					return
				}

				context.Name = name
				errCh <- nil
			}(context)
		}
	}
	if num > 0 {
		for i := 0; i < num; i++ {

View on GitHub (pinned to e2d772072e)

Solutions

  1. Read the logged stack trace to locate the panic
  2. Check for nil settings/clients passed into GenNoteName
  3. Fix the underlying bug; the recover only prevents a server crash
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at app/server/handlers/context_helper.go:186 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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