Mintplex-Labs/anything-llm · error
Title must be lowercase with underscores only.
Error message
Title must be lowercase with underscores only.
What it means
Format validation error from ModelRouterRule.update relayed by PUT rules/:ruleId: the submitted title contains characters other than lowercase letters and underscores (the enforced slug-like convention for rule titles).
Source
Thrown at server/endpoints/modelRouter.js:173
} catch (e) {
console.error(e);
response.sendStatus(500);
}
}
);
app.put(
"/model-routers/:id/rules/:ruleId",
[validatedRequest, flexUserRoleValid([ROLES.admin])],
async (request, response) => {
try {
const { id, ruleId } = request.params;
const data = reqBody(request);
const { rule, error } = await ModelRouterRule.update(
Number(ruleId),
data
);
if (error) return response.status(400).json({ rule, error });
ModelRouterService.invalidateRouter(Number(id));
return response.status(200).json({ rule });
} catch (e) {
console.error(e);
response.sendStatus(500);
}
}
);
app.delete(
"/model-routers/:id/rules/:ruleId",
[validatedRequest, flexUserRoleValid([ROLES.admin])],
async (request, response) => {
try {
const { id, ruleId } = request.params;
const success = await ModelRouterRule.delete(Number(ruleId));
if (!success)
return responseView on GitHub (pinned to 3aec848f28)
Solutions
- Use lowercase letters and underscores only in the rule title.
- Rename the rule, e.g. 'long_documents'.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/endpoints/modelRouter.js:173 when the library encounters an invalid state.
Common situations: Updating a rule with a title containing uppercase or special characters.
AI-assisted analysis of Mintplex-Labs/anything-llm@3aec848f28 (2026-08-18).
Data as JSON: /api/errors/29e5bee58251e62f.
Report an issue: GitHub.