{"record":{"id":"ac6b7f066de19133","repo":"plandex-ai/plandex","slug":"error-getting-settings","errorCode":null,"errorMessage":"Error getting settings","messagePattern":"Error getting settings","errorType":"http","errorClass":"http","httpStatus":500,"severity":"error","filePath":"app/server/handlers/settings.go","lineNumber":63,"sourceCode":"\t\tBranch:   branch,\n\t\tReason:   \"get settings\",\n\t\tScope:    db.LockScopeRead,\n\t\tCtx:      ctx,\n\t\tCancelFn: cancel,\n\t}, func(repo *db.GitRepo) error {\n\t\tres, err := db.GetPlanSettings(plan)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tsettings = res\n\n\t\treturn nil\n\t})\n\n\tif err != nil {\n\t\tlog.Println(\"Error getting settings: \", err)\n\t\thttp.Error(w, \"Error getting settings\", http.StatusInternalServerError)\n\t\treturn\n\t}\n\n\tbytes, err := json.Marshal(settings)\n\n\tif err != nil {\n\t\tlog.Println(\"Error marshalling settings: \", err)\n\t\thttp.Error(w, \"Error marshalling settings\", http.StatusInternalServerError)\n\t\treturn\n\t}\n\n\tlog.Println(\"GetSettingsHandler processed successfully\")\n\n\tw.Write(bytes)\n}\n\nfunc UpdateSettingsHandler(w http.ResponseWriter, r *http.Request) {\n\tlog.Println(\"Received request for UpdateSettingsHandler\")","sourceCodeStart":45,"sourceCodeEnd":81,"githubUrl":"https://github.com/plandex-ai/plandex/blob/e2d772072efadbe41d2946d97d79be55532dbab5/app/server/handlers/settings.go#L45-L81","documentation":"GetSettingsHandler loads the server/plan settings inside a transaction-like callback; when that operation returns an error the handler logs it and returns a generic HTTP 500 'Error getting settings'. It means the server could not read the stored settings, not that the request was malformed.","triggerScenarios":"The settings-loading callback returns an error: settings file/git storage read failure, JSON parse failure of stored settings, DB/storage backend unavailable, or permission error reading the settings store.","commonSituations":"Corrupted or non-JSON settings blob in storage; missing read permissions on the settings store; storage backend (git repo/DB) unavailable after a restart; partial write from a previous crash.","solutions":["Check the server log for the underlying error logged next to this message","Inspect the stored settings data for corruption and restore/repair it","Verify storage backend connectivity and read permissions","Restore settings from a known-good backup if parse errors persist"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"resp, err := client.GetSettings(ctx)\nif err != nil {\n    if strings.Contains(err.Error(), \"Error getting settings\") {\n        // server failed to load settings; retry or fall back to defaults\n        return defaultSettings, nil\n    }\n    return err\n}","preventionTips":["Use a fallback to default settings when the server cannot load them","Alert on server storage-backend health","Back up the settings store and verify its integrity after crashes"],"tags":["http","storage","go"],"backgroundTag":"settings-load-failed","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"}