Mintplex-Labs/anything-llm · error · Error

Bio cannot be longer than 1,000 characters

Error message

Bio cannot be longer than 1,000 characters

What it means

Thrown by User.validations.bio when the bio string exceeds 1000 characters. Non-string or falsy bios are accepted (returned as empty string); only an over-length string fails. Runs during User.create (line 131).

Source

Thrown at server/models/user.js:73

          `Invalid role. Allowed roles are: ${VALID_ROLES.join(", ")}`
        );
      }
      return String(role);
    },
    dailyMessageLimit: (dailyMessageLimit = null) => {
      if (dailyMessageLimit === null) return null;
      const limit = Number(dailyMessageLimit);
      if (isNaN(limit) || limit < 1) {
        throw new Error(
          "Daily message limit must be null or a number greater than or equal to 1"
        );
      }
      return limit;
    },
    bio: (bio = "") => {
      if (!bio || typeof bio !== "string") return "";
      if (bio.length > 1000)
        throw new Error("Bio cannot be longer than 1,000 characters");
      return String(bio);
    },
  },
  // validations for the above writable fields.
  castColumnValue: function (key, value) {
    switch (key) {
      case "suspended":
        return Number(Boolean(value));
      case "dailyMessageLimit":
        return value === null ? null : Number(value);
      default:
        return String(value);
    }
  },

  filterFields: function (user = {}) {
    const {
      password: _password,

View on GitHub (pinned to 526360e320)

Solutions

  1. Trim the bio to 1000 characters or fewer.
  2. Set maxlength=1000 on the bio textarea in the UI and show a live counter.
  3. Truncate imported bios to the limit.

Example fix

// before
User.create({ username, password, bio: longDescription });
// after
User.create({ username, password, bio: longDescription.slice(0, 1000) });
Defensive patterns

Strategy: validation

Validate before calling

if (typeof bio === 'string' && bio.length > 1000) bio = bio.slice(0, 1000);

Type guard

const isBioLengthOk = (b) => typeof b !== 'string' || b.length <= 1000;

Prevention

When it happens

Trigger: Creating/updating a user with a bio longer than 1000 characters.

Common situations: User pastes a long CV/resume into the bio field. Programmatic profile sync brings an oversized description.

Related errors


AI-assisted analysis of Mintplex-Labs/anything-llm@526360e320 (2026-08-13). Data as JSON: /api/errors/997e035b76be29c5. Report an issue: GitHub.