RocketChat/Rocket.Chat · error · Error

Invalid visitor, cannot create

Error message

Invalid visitor, cannot create

What it means

Error "Invalid visitor, cannot create" thrown in RocketChat/Rocket.Chat.

Solutions

  1. Ensure the visitor data passed to createVisitor is complete and valid so registerGuest returns a visitor record.
  2. Check livechat settings (e.g. Livechat_enabled) and the registerGuest result for why visitor creation failed.

Example fix

Validate the visitor object before creating: if (!visitor || !visitor.username) { throw new Error('Invalid visitor, cannot create'); }

When it happens

Trigger: Thrown at apps/meteor/app/apps/server/bridges/livechat.ts:226 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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

Appendix: source

Thrown at apps/meteor/app/apps/server/bridges/livechat.ts:226

		const registerData = {
			department: visitor.department,
			username: visitor.username,
			name: visitor.name,
			token: visitor.token,
			email: '',
			id: visitor.id,
			...(visitor.phone?.length && { phone: { number: visitor.phone[0].phoneNumber } }),
			...(visitor.visitorEmails?.length && { email: visitor.visitorEmails[0].address }),
		};

		const livechatVisitor = await registerGuest(registerData, {
			shouldConsiderIdleAgent: settings.get<boolean>('Livechat_enabled_when_agent_idle'),
			shouldConsiderOfflineAgent: settings.get<boolean>('Livechat_accept_chats_with_no_agents'),
		});

		if (!livechatVisitor) {
			throw new Error('Invalid visitor, cannot create');
		}

		return livechatVisitor._id;
	}

	protected async createAndReturnVisitor(visitor: IVisitor, appId: string): Promise<IVisitor | undefined> {
		this.orch.debugLog(`The App ${appId} is creating a livechat visitor.`);

		// Add appId to each externalId entry
		const externalIds = visitor.externalIds?.map((entry) => ({ ...entry, appId }));

		const registerData = {
			department: visitor.department,
			username: visitor.username,
			name: visitor.name,
			token: visitor.token,
			email: '',
			id: visitor.id,

View on GitHub (pinned to 2a7de45707)