Mintplex-Labs/anything-llm · error

Duplicate rule constraint violated.

Error message

Duplicate rule constraint violated.

What it means

Constraint error propagated from ModelRouterRule.create: a database uniqueness constraint on the rule combination (e.g. title/priority per router) was violated despite prior checks, typically a race with a concurrent insert, and creation is refused.

Source

Thrown at server/endpoints/modelRouter.js:126

      }
    }
  );

  app.post(
    "/model-routers/:id/rules/new",
    [validatedRequest, flexUserRoleValid([ROLES.admin])],
    async (request, response) => {
      try {
        const { id } = request.params;
        const user = await userFromSession(request, response);
        const data = reqBody(request);
        const routerId = Number(id);
        const { rule, error } = await ModelRouterRule.create(
          routerId,
          data,
          user?.id || null
        );
        if (error) return response.status(400).json({ rule, error });

        await Telemetry.sendTelemetry("model_router_rule_created");
        ModelRouterService.invalidateRouter(routerId);
        return response.status(200).json({ rule });
      } catch (e) {
        console.error(e);
        response.sendStatus(500);
      }
    }
  );

  app.put(
    "/model-routers/:id/rules/reorder",
    [validatedRequest, flexUserRoleValid([ROLES.admin])],
    async (request, response) => {
      try {
        const { id } = request.params;
        const { ruleUpdates } = reqBody(request);

View on GitHub (pinned to 3aec848f28)

Solutions

  1. Change the rule title or priority so it is unique on this router.
  2. Inspect the database constraint error for which field collided.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at server/endpoints/modelRouter.js:126 when the library encounters an invalid state.

Common situations: A unique constraint on (router, title) or (router, priority) was violated during rule creation/update.


AI-assisted analysis of Mintplex-Labs/anything-llm@3aec848f28 (2026-08-18). Data as JSON: /api/errors/fab27b44bfb5130c. Report an issue: GitHub.