RocketChat/Rocket.Chat · error · Error
error-no-owner-channel
Error message
error-no-owner-channel
What it means
Error "error-no-owner-channel" thrown in RocketChat/Rocket.Chat.
Source
Thrown at apps/meteor/server/services/team/service.ts:356
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;
}
async removeRoom(uid: string, rid: string, teamId: string, canRemoveAnyRoom = false): Promise<IRoom> {
if (!teamId) {
throw new Error('missing-teamId');
}View on GitHub (pinned to e4b8178b20)
Solutions
- Make the acting user an owner of the room before adding it to the team.
- Assign the owner role to the user in the room via the members management UI or API.
When it happens
Trigger: Thrown at apps/meteor/server/services/team/service.ts:354 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/63649e684a28fa45.
Report an issue: GitHub.