RocketChat/Rocket.Chat · error · Meteor.Error
SlackBridge_disabled
SlackBridge_disabled
Error message
SlackBridge_disabled
What it means
removeSlackBridgeChannelLinks throws SlackBridge_disabled (a bare code with no human message) when the SlackBridge_Enabled setting is not exactly true. The check runs after user and permission checks, so an authorized caller still cannot unlink channels while the SlackBridge integration is off. It exists to prevent mutating room importIds for a feature the workspace has disabled.
Solutions
- Enable SlackBridge under Admin → Slack Bridge (set SlackBridge_Enabled = true), perform the unlink, then disable it again if desired
- Skip the unlink operation on workspaces where the bridge is disabled
- If a script drives this, first read SlackBridge_Enabled and only call the method when true
Example fix
// before
await call('removeSlackBridgeChannelLinks'); // throws SlackBridge_disabled
// after
const enabled = settings.get('SlackBridge_Enabled');
if (enabled === true) {
await call('removeSlackBridgeChannelLinks');
} Defensive patterns
Strategy: validation
Validate before calling
// via admin REST: confirm the bridge is on before offering the unlink
const res = await fetch('/api/v1/settings/SlackBridge_Enabled', { headers: adminHeaders });
const { value } = await res.json();
if (value !== true) throw new Error('SlackBridge is disabled on this workspace');
await call('removeSlackBridgeChannelLinks'); Try / catch
try {
await Meteor.callAsync('removeSlackBridgeChannelLinks');
} catch (e) {
if (e.error === 'SlackBridge_disabled') {
// prompt the admin to enable SlackBridge first (Admin → Slack Bridge)
}
} Prevention
- Check the integration toggle before exposing cleanup actions for that integration
- Automation should read SlackBridge_Enabled and skip disabled workspaces
- Enable → act → disable is the safe sequence for one-off maintenance
When it happens
Trigger: An authenticated, permission-holding user calls removeSlackBridgeChannelLinks while SlackBridge_Enabled is false or unset in Administration → Slack Bridge.
Common situations: Admin disabled the bridge earlier (or it was never configured) and later tries the cleanup action; automated cleanup scripts run against workspaces where the bridge is off; setting reset during migration or restore.
Related errors
AI-assisted analysis of RocketChat/Rocket.Chat@b2c16d5842 (2026-08-18).
Data as JSON: /api/errors/5254ac90c9788852.
Report an issue: GitHub.
Appendix: source
Thrown at apps/meteor/server/bridges/slack/removeChannelLinks.ts:31
}
Meteor.methods<ServerMethods>({
async removeSlackBridgeChannelLinks() {
const user = await Meteor.userAsync();
if (!user) {
throw new Meteor.Error('error-invalid-user', 'Invalid user', {
method: 'removeSlackBridgeChannelLinks',
});
}
if (!(await hasPermissionAsync(user, 'remove-slackbridge-links'))) {
throw new Meteor.Error('error-not-authorized', 'Not authorized', {
method: 'removeSlackBridgeChannelLinks',
});
}
if (settings.get('SlackBridge_Enabled') !== true) {
throw new Meteor.Error('SlackBridge_disabled');
}
await Rooms.unsetAllImportIds();
return {
message: 'Slackbridge_channel_links_removed_successfully',
params: [],
};
},
});
View on GitHub (pinned to b2c16d5842)