RocketChat/Rocket.Chat · error · Error

Not enough permission

Error message

Not enough permission

What it means

Error "Not enough permission" thrown in RocketChat/Rocket.Chat.

Source

Thrown at apps/meteor/server/lib/messages/sendMessage.ts:173

		objectMaybeIncluding({
			_id: String,
			msg: String,
			text: String,
			alias: String,
			emoji: String,
			tmid: String,
			tshow: Boolean,
			avatar: validPartialURLParam,
			attachments: [Match.Any],
			blocks: [Match.Any],
		}),
	);

	if (message.alias || message.avatar) {
		const isLiveChatGuest = !message.avatar && user.token && user.token === room.v?.token;

		if (!isLiveChatGuest && !(await hasPermissionAsync(user._id, 'message-impersonate', room._id))) {
			throw new Error('Not enough permission');
		}
	}

	if (Array.isArray(message.attachments) && message.attachments.length) {
		validateBodyAttachments(message.attachments);
	}

	if (message.customFields) {
		validateCustomMessageFields({
			customFields: message.customFields,
			messageCustomFieldsEnabled: settings.get<boolean>('Message_CustomFields_Enabled'),
			messageCustomFields: settings.get<string>('Message_CustomFields'),
		});
	}
};

export function prepareMessageObject(
	message: Partial<IMessage>,

View on GitHub (pinned to b2c16d5842)

Solutions

  1. Grant the user the 'message-impersonate' permission in the room before setting a custom alias or avatar on the message.
  2. Send the message without the alias/avatar impersonation fields.

When it happens

Trigger: Thrown at apps/meteor/server/lib/messages/sendMessage.ts:173 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of RocketChat/Rocket.Chat@b2c16d5842 (2026-08-18). Data as JSON: /api/errors/fbc85edde708e133. Report an issue: GitHub.