RocketChat/Rocket.Chat · error · Error

room-already-on-team

Error message

room-already-on-team

What it means

Error "room-already-on-team" thrown in RocketChat/Rocket.Chat.

Source

Thrown at apps/meteor/server/services/team/service.ts:352

		}

		const rids = rooms.filter((rid) => rid && typeof rid === 'string');
		const validRooms = await Rooms.findManyByRoomIds(rids).toArray();
		if (validRooms.length < rids.length) {
			throw new Error('invalid-room');
		}

		// validate access for every room first
		for await (const room of validRooms) {
			const canSeeRoom = await Authorization.canAccessRoom(room, user);
			if (!canSeeRoom) {
				throw new Error('invalid-room');
			}
		}

		for await (const room of validRooms) {
			if (room.teamId) {
				throw new Error('room-already-on-team');
			}

			if (!(await Subscriptions.isUserInRole(uid, 'owner', room._id))) {
				throw new Error('error-no-owner-channel');
			}

			if (room.t === 'c') {
				await Message.saveSystemMessage('user-added-room-to-team', team.roomId, room.name || '', user);
			}

			room.teamId = teamId;
		}

		await Rooms.setTeamByIds(rids, teamId);
		void notifyOnRoomChangedById(rids, 'updated');
		return validRooms;
	}

View on GitHub (pinned to e4b8178b20)

Solutions

  1. Remove the room from its current team before adding it to a new one.
  2. Check the room's teamId and skip rooms that are already assigned to a team.

When it happens

Trigger: Thrown at apps/meteor/server/services/team/service.ts:350 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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