mem0ai/mem0 · error · ValueError

At least one filter is required to delete all memories. If y

Error message

At least one filter is required to delete all memories. If you want to delete all memories, use the `reset()` method.

What it means

Error "At least one filter is required to delete all memories. If you want to delete all memories, use the `reset()` method." thrown in mem0ai/mem0.

Source

Thrown at mem0/memory/main.py:1912

        Args:
            user_id (str, optional): ID of the user to delete memories for. Defaults to None.
            agent_id (str, optional): ID of the agent to delete memories for. Defaults to None.
            run_id (str, optional): ID of the run to delete memories for. Defaults to None.
        """
        user_id = _validate_and_trim_entity_id(user_id, "user_id")
        agent_id = _validate_and_trim_entity_id(agent_id, "agent_id")
        run_id = _validate_and_trim_entity_id(run_id, "run_id")

        filters: Dict[str, Any] = {}
        if user_id:
            filters["user_id"] = user_id
        if agent_id:
            filters["agent_id"] = agent_id
        if run_id:
            filters["run_id"] = run_id

        if not filters:
            raise ValueError(
                "At least one filter is required to delete all memories. If you want to delete all memories, use the `reset()` method."
            )

        keys, encoded_ids = process_telemetry_filters(filters)
        capture_event("mem0.delete_all", self, {"keys": keys, "encoded_ids": encoded_ids, "sync_type": "sync"})
        # Keep listing after each batch is deleted. Most vector stores cap
        # list() at 100 results by default, which silently truncates deletes.
        deleted_count = 0
        seen_batches = set()
        while True:
            memories = self.vector_store.list(
                filters=filters, top_k=DELETE_ALL_BATCH_SIZE
            )[0]
            if not memories:
                break
            batch_ids = tuple(sorted(str(memory.id) for memory in memories))
            if batch_ids in seen_batches:
                logger.warning("Stopping delete_all after a repeated memory batch")

View on GitHub (pinned to 001c235229)

Solutions

  1. Pass at least one filter (user_id, agent_id, or run_id) to delete_all, or call reset() to wipe everything.

When it happens

Trigger: Thrown at mem0/memory/main.py:1912 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of mem0ai/mem0@001c235229 (2026-08-15). Data as JSON: /api/errors/b227f64d1e8962ca. Report an issue: GitHub.