sipeed/picoclaw · error
failed to parse session
Error message
failed to parse session
What it means
Error "failed to parse session" thrown in sipeed/picoclaw.
Source
Thrown at web/backend/api/session.go:935
sess, err = h.readJSONLSession(dir, ref.Key)
}
if err == nil && isEmptySession(sess) {
err = os.ErrNotExist
}
if err != nil {
if errors.Is(err, os.ErrNotExist) {
if legacyRef, legacyErr := h.findLegacyPicoSession(dir, sessionID); legacyErr == nil {
sess, err = h.readLegacySession(legacyRef.Path)
}
if err == nil && isEmptySession(sess) {
err = os.ErrNotExist
}
}
if err != nil {
if errors.Is(err, os.ErrNotExist) {
http.Error(w, "session not found", http.StatusNotFound)
} else {
http.Error(w, "failed to parse session", http.StatusInternalServerError)
}
return
}
}
for i := range sess.Messages {
if sess.Messages[i].CreatedAt == nil {
sess.Messages[i].CreatedAt = &sess.Updated
}
}
messages := detailSessionMessages(sess.Messages, toolFeedbackMaxArgsLength)
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(map[string]any{
"id": sessionID,
"messages": messages,
"summary": sess.Summary,
"created": sess.Created.Format(time.RFC3339),View on GitHub (pinned to 49183d7e8d)
When it happens
Trigger: Thrown at web/backend/api/session.go:935 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Parsing and encoding errors: unexpected token, malformed input — why parsers reject input and how to find the real culprit.
AI-assisted analysis of sipeed/picoclaw@49183d7e8d (2026-08-15).
Data as JSON: /api/errors/401adc9eb43e0dba.
Report an issue: GitHub.