Skip to content
🎉 Launch sale:50% off everything over $22 — automatically applied at checkout· ends Aug 2Shop the sale →
DevOps AI ToolKit
Newsletter
All guides
AI for RabbitMQ By James Joyner IV · · 8 min read Last reviewed Jul 2026

RabbitMQ Error Guide: 'feature flag is disabled' — Fix Blocked Declarations & Upgrades

Quick answer

Fix 'feature flag is disabled' in RabbitMQ: enable required feature flags, finish a cluster-wide upgrade first, and unblock quorum and stream declarations.

Part of the RabbitMQ Cluster, Queue & Resource Errors hub
  • #rabbitmq
  • #messaging
  • #troubleshooting
  • #errors
Free toolkit

Stuck on this RabbitMQ error? Get the free incident triage checklist

A one-page PDF — the exact steps to isolate, fix, and verify a production error like this one. No spam, unsubscribe anytime.

Overview

An operation depends on a RabbitMQ feature flag that isn’t enabled on the cluster, so the broker refused it:

Feature flag `quorum_queue` is disabled - cannot declare a queue of type `quorum`

Feature flags gate functionality that changes on-disk or inter-node formats. A flag stays disabled until every node in the cluster supports it and an operator enables it. Until then, anything that needs the flag — declaring a quorum queue or stream, or completing an upgrade — is blocked.

Symptoms

  • queue.declare for a quorum queue or stream fails with feature flag ... is disabled.
  • An upgrade or enable command reports a required flag cannot be enabled.
  • rabbitmqctl list_feature_flags shows the flag in state disabled.
  • A newly-joined older node can’t be added because it lacks a flag the cluster already enabled.
  • Features that worked in a lab (all-new nodes) fail in a cluster with a lagging node.

Common Root Causes

  • Flag never enabled — the cluster was upgraded but the new stable flags were never turned on.
  • Mixed-version cluster — one node runs an older version that doesn’t support the flag, so it can’t be enabled cluster-wide.
  • Interrupted upgrade — a rolling upgrade stalled with nodes on different versions.
  • Feature required by a declaration — client code declares quorum queues/streams on a cluster where the enabling flag is still off.
  • Downgrade attempt — trying to run a node older than data written after a flag was enabled.
  • Automation gap — provisioning enables features but skips enable_feature_flag.

Diagnostic Workflow

List every feature flag and its state to see what’s disabled and what’s required:

rabbitmqctl list_feature_flags
rabbitmqctl list_feature_flags name state provided_by

Confirm all nodes are on a version that supports the flag (a flag can only be enabled when every node supports it):

rabbitmqctl cluster_status
rabbitmqctl status | grep -i 'rabbitmq version'

Check the log for the blocked operation and the named flag:

grep -i 'feature flag' /var/log/rabbitmq/rabbit@$(hostname -s).log | tail

Example Root Cause Analysis

A team rolled out code that declares quorum queues and hit Feature flag 'quorum_queue' is disabled on queue.declare. The cluster had recently been upgraded, so the capability existed but the flag had never been switched on.

rabbitmqctl list_feature_flags confirmed quorum_queue was disabled while every node’s version supported it. Because all nodes were on a compatible version, enabling the flag was safe:

rabbitmqctl list_feature_flags        # confirm all nodes support it, state=disabled
rabbitmqctl enable_feature_flag quorum_queue
rabbitmqctl list_feature_flags | grep quorum_queue   # now: enabled

The next queue.declare succeeded. Root cause: a post-upgrade step (enabling stable feature flags) was skipped, leaving the capability present but gated off. Enabling it — which is one-way — unblocked the declarations.

Prevention Best Practices

  • After a cluster-wide upgrade, enable the stable feature flags that new functionality needs (enable_feature_flag all or specific flags) as a documented post-upgrade step.
  • Never enable a flag until every node is on a compatible version; enabling is irreversible.
  • Finish rolling upgrades fully — don’t leave the cluster running mixed versions longer than necessary.
  • Gate client features that need a flag (quorum queues, streams) behind a check that the flag is enabled.
  • Track feature-flag state in monitoring so a disabled-but-required flag is visible before it breaks a deploy.

Quick Command Reference

rabbitmqctl list_feature_flags                 # states of all flags
rabbitmqctl enable_feature_flag <flag_name>    # enable one (irreversible)
rabbitmqctl enable_feature_flag all            # enable all stable flags
rabbitmqctl cluster_status                     # confirm all nodes compatible
rabbitmqctl status | grep -i version

Conclusion

feature flag is disabled means an operation needs a capability the cluster hasn’t turned on — commonly quorum-queue or stream declarations after an upgrade where the flag was never enabled. Confirm every node is on a compatible version with cluster_status, then enable_feature_flag (remembering it’s one-way). Make enabling stable flags a standard post-upgrade step and gate flag-dependent client features so declarations never hit a disabled flag in production.

Free download · 368-page PDF

Fixed it? Get 500 RabbitMQ & DevOps AI prompts — free

500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.

  • 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
  • Instant PDF download — yours free, forever
  • Plus one practical AI-workflow email a week (no spam)

Single opt-in · unsubscribe anytime · no spam.

Did this fix your issue?

Free download · 368-page PDF

Get 500 Battle-Tested DevOps AI Prompts — Free

500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.

  • 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
  • Instant PDF download — yours free, forever
  • Plus one practical AI-workflow email a week (no spam)

Single opt-in · unsubscribe anytime · no spam.