RocketChat/Rocket.Chat · error · Meteor.Error
error-not-authorized-federation
error-not-authorized-federation
Error message
Not authorized to access federation
What it means
When a room is marked federated (extraData.federated === true) the creating owner must either be a native federated user or pass FederationMatrix.canUserAccessFederation. Otherwise createRoom throws error-not-authorized-federation, blocking local users without federation access from creating federated rooms.
Source
Thrown at apps/meteor/server/lib/rooms/createRoom.ts:186
throw new Meteor.Error('error-federated-users-in-non-federated-rooms', 'Cannot add federated users to non-federated rooms', {
method: 'createRoom',
});
}
await prepareCreateRoomCallback.run({
type,
// name,
// owner: ownerUsername,
// members,
// readOnly,
extraData,
// options,
});
const shouldBeHandledByFederation = extraData.federated === true;
if (shouldBeHandledByFederation && owner && !isUserNativeFederated(owner) && !(await FederationMatrix.canUserAccessFederation(owner))) {
throw new Meteor.Error('error-not-authorized-federation', 'Not authorized to access federation', {
method: 'createRoom',
});
}
if (type === 'd') {
return createDirectRoom(members as IUser[], extraData, { ...options, creator: options?.creator || owner?._id });
}
const memberList = [...members];
if (!onlyUsernames(memberList)) {
throw new Meteor.Error(
'error-invalid-members',
'members should be an array of usernames if provided for rooms other than direct messages',
);
}
if (!isValidName(name)) {View on GitHub (pinned to b2c16d5842)
Solutions
- Verify federation is enabled and healthy in Administration settings (Federation / Matrix bridge running)
- Ensure the owner user is a native federated user or is permitted by canUserAccessFederation (check federation access rules)
- If federation is not intended, remove federated: true from roomExtraData
Defensive patterns
Strategy: validation
Validate before calling
if (extraData.federated === true && !isUserNativeFederated(owner)) {
const allowed = await FederationMatrix.canUserAccessFederation(owner);
if (!allowed) {
throw new Meteor.Error('error-not-authorized-federation', 'Owner lacks federation access');
}
} Try / catch
try {
await createRoom(type, name, owner, members, { federated: true });
} catch (err) {
if (err instanceof Meteor.Error && err.error === 'error-not-authorized-federation') {
// surface to the user: enable federation or use a federated-capable owner
}
throw err;
} Prevention
- Gate federated room creation UI behind a federation-access check
- Monitor canUserAccessFederation results for owners used by automations
- Keep federation settings verified in CI for workspaces that use it
When it happens
Trigger: createRoom with extraData.federated = true where owner is a normal local user (not isUserNativeFederated) and canUserAccessFederation(owner) resolves false — e.g. federation disabled in admin settings, user not allowed by federation ACLs, or the Matrix bridge not running.
Common situations: Federation toggle enabled at room level but the federation feature itself disabled or not fully configured server-side; attempting to create federated rooms with a bot/admin account that was never granted federation access; development environments without the federation app installed.
Related errors
- error-invalid-room
- Federated user not found locally
- error-not-authorized-federation
- error-federated-users-in-non-federated-rooms
- error-not-allowed
AI-assisted analysis of RocketChat/Rocket.Chat@b2c16d5842 (2026-08-18).
Data as JSON: /api/errors/a619dc6b49691322.
Report an issue: GitHub.