invoke-ai/InvokeAI · error · HTTPException
Error retrieving recall parameters
Error message
Error retrieving recall parameters
What it means
A catch-all handler in the recall_parameters router: any exception raised while loading stored graph-recall parameters is logged and re-raised as an HTTPException with a fixed 500 detail string. The library throws it because the endpoint cannot distinguish (or did not bother to distinguish) storage/query failures from other faults, so all failures collapse into one generic 500 response. The original exception message is only visible in server logs, not in the API response.
Solutions
- Check the server logs for the line 'Error retrieving recall parameters: {e}' to see the real underlying exception
- Verify the InvokeAI database (invokeai.db) is intact and current with the running version; run the app's migration/upgrade path if needed
- Confirm services are initialized - retry after a full clean app restart
- Reproduce the retrieval directly against the DB/service to isolate the failing record and delete or repair it
Example fix
// before: server log shows the real cause only
logger.error(f"Error retrieving recall parameters: {e}")
raise HTTPException(status_code=500, detail="Error retrieving recall parameters")
// after: surface a safer, more actionable detail
logger.exception("Error retrieving recall parameters")
raise HTTPException(status_code=500, detail=f"Error retrieving recall parameters: {type(e).__name__}") Defensive patterns
Strategy: try-catch
Validate before calling
// client-side precheck: ensure the service is reachable before calling
const health = await fetch('/api/v1/system/health');
if (!health.ok) throw new Error('InvokeAI service unavailable; skip recall-parameters call'); Type guard
function isRecallParamsOk(v) { return v !== null && typeof v === 'object' && !('detail' in v); } Try / catch
try {
const res = await fetch('/api/v1/recall_parameters');
if (res.status === 500) { const {detail} = await res.json(); console.error('recall params unavailable:', detail); return fallbackParams; }
return await res.json();
} catch (e) { return fallbackParams; } Prevention
- Always read server logs; the HTTP detail omits the real cause
- Keep the InvokeAI database migrated to match the running version
- Health-check the service before invoking admin/aux endpoints
- Treat this endpoint as best-effort and degrade gracefully
When it happens
Trigger: Calling GET on the recall parameters endpoint when the backing service (ApiDependencies.invoker.services) throws - e.g. the parameters store/graph service is unavailable, a malformed stored record fails to deserialize, or a database/session error occurs during retrieval.
Common situations: Running InvokeAI with a corrupted or migrated-from-an-older-version SQLite database so stored parameter records fail to load; invoking the endpoint before the app's services are fully initialized; a bug in the underlying service surfaced as a generic 500.
Related errors
- Failed to add images to board
- Failed to create board
- Failed to get queue item summaries
- Failed to get queue items
- Failed to remove image from board
AI-assisted analysis of invoke-ai/InvokeAI@0b6a024f2f (2026-08-29).
Data as JSON: /api/errors/da0cdbfcf1156821.
Report an issue: GitHub.
Appendix: source
Thrown at invokeai/app/api/routers/recall_parameters.py:617
Returns:
A dictionary containing all stored recall parameters
"""
logger = ApiDependencies.invoker.services.logger
try:
# Retrieve all recall parameters by iterating through expected keys
# Since client_state_persistence doesn't have a "get_all" method, we'll
# return an informative response
return {
"status": "success",
"queue_id": queue_id,
"note": "Use the frontend to access stored recall parameters, or set specific parameters using POST",
}
except Exception as e:
logger.error(f"Error retrieving recall parameters: {e}")
raise HTTPException(
status_code=500,
detail="Error retrieving recall parameters",
)
View on GitHub (pinned to 0b6a024f2f)