redis/redis-rb · error · RuntimeError

Redis Cluster support was moved to the `redis-clustering` ge

Error message

Redis Cluster support was moved to the `redis-clustering` gem.

What it means

Error "Redis Cluster support was moved to the `redis-clustering` gem." thrown in redis/redis-rb.

Source

Thrown at lib/redis.rb:229

      @himport_fieldsets.clear
      reply
    end
  end

  private

  # Builds @client from @options and applies any instance-level settings (socket inheritance) that
  # live outside @options. Used both at construction and when the RESP3->RESP2 fallback rebuilds the
  # client, so those settings survive a protocol downgrade.
  def build_client
    client = initialize_client(@options)
    client.inherit_socket! if @inherit_socket
    client
  end

  def initialize_client(options)
    if options.key?(:cluster)
      raise "Redis Cluster support was moved to the `redis-clustering` gem."
    end

    if options.key?(:sentinels)
      Client.sentinel(**options).new_client
    else
      Client.config(**options).new_client
    end
  end

  # All access to @client funnels through here: it serializes on @monitor and applies the RESP3
  # protocol fallback. Routing pipelined/multi/watch (which all call synchronize) through the same
  # path means they fall back to RESP2 against pre-HELLO servers just like single commands do.
  def synchronize
    @monitor.synchronize do
      with_protocol_fallback do
        yield(@client)
      end
    end

View on GitHub (pinned to 2ba9010b91)

Solutions

  1. Install the redis-clustering gem and use Redis::Cluster.new instead of passing cluster: to Redis.new.
  2. Remove the cluster: option from Redis.new for standalone connections.

When it happens

Trigger: Thrown at lib/redis.rb:229 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of redis/redis-rb@2ba9010b91 (2026-08-23). Data as JSON: /api/errors/34c2084ef9c3edb1. Report an issue: GitHub.