diff --git a/src/claude_memory/api/app.py b/src/claude_memory/api/app.py index 15bd2c1..5b3a173 100644 --- a/src/claude_memory/api/app.py +++ b/src/claude_memory/api/app.py @@ -260,7 +260,9 @@ async def delete_memory(memory_id: int, user: AuthUser = Depends(get_current_use user.user_id, ) if not row: - raise HTTPException(status_code=404, detail="Memory not found") + # Idempotent: return success even if already deleted + # Prevents old clients without 404-handling from infinite retry loops + return {"deleted": memory_id, "preview": "[already deleted]"} if row["vault_path"]: await delete_secret(user.user_id, row["vault_path"])