Checklist
Description
#list_users_by_email returns nil in the success case.
The root cause seems to be this line:
https://github.com/auth0/ruby-auth0/blame/5ae44e930b3272f9aff0e1a4fc082342afdf233b/lib/auth0/users/client.rb#L178
Notice this line does return if code.between?(200, 299).
Reproduction
#!/usr/bin/env ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem 'auth0', '= 6.0.0'
end
# v6 mistakenly does not require this file as part of the gem's default
# load, so it must be required explicitly.
require 'auth0/version'
puts "Auth0::VERSION = #{Auth0::VERSION}"
domain = ENV.fetch('AUTH0_DOMAIN')
client_id = ENV.fetch('AUTH0_CLIENT_ID')
client_secret = ENV.fetch('AUTH0_CLIENT_SECRET')
email = ENV.fetch('AUTH0_TEST_EMAIL')
auth0_client = Auth0::Client.new(
client_id: client_id,
client_secret: client_secret,
domain: domain
)
list = auth0_client.users.list_users_by_email(email: email)
if list.nil?
puts 'nil list'
else
puts "#{list.size} items"
end
#!/usr/bin/env ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem 'auth0', '= 5.20.0'
end
require 'auth0/version'
puts "Auth0::VERSION = #{Auth0::VERSION}"
domain = ENV.fetch('AUTH0_DOMAIN')
client_id = ENV.fetch('AUTH0_CLIENT_ID')
client_secret = ENV.fetch('AUTH0_CLIENT_SECRET')
email = ENV.fetch('AUTH0_TEST_EMAIL')
auth0_client = Auth0::Client.new(
client_id: client_id,
client_secret: client_secret,
domain: domain
)
list = auth0_client.users_by_email(email)
if list.nil?
puts 'nil list'
else
puts "#{list.size} items"
end
Results:
$ AUTH0_DOMAIN=aloft-toolkit-prod.us.auth0.com AUTH0_CLIENT_ID=... AUTH0_CLIENT_SECRET=... AUTH0_TEST_EMAIL=engineering@appraisify.com ruby repro5.rb
Auth0::VERSION = 5.20.0
1 items
$ AUTH0_DOMAIN=aloft-toolkit-prod.us.auth0.com AUTH0_CLIENT_ID=... AUTH0_CLIENT_SECRET=... AUTH0_TEST_EMAIL=engineering@appraisify.com ruby repro6.rb
Auth0::VERSION = 6.0.0
nil list
$ ruby --version
ruby 4.0.6 (2026-07-14 revision 03b6d3f889) +PRISM [arm64-darwin24]
Additional context
This is running as part of a Rails application
ruby-auth0 version
6.0.0
Ruby version
4.0.6
Checklist
Description
#list_users_by_emailreturnsnilin the success case.The root cause seems to be this line:
https://github.com/auth0/ruby-auth0/blame/5ae44e930b3272f9aff0e1a4fc082342afdf233b/lib/auth0/users/client.rb#L178
Notice this line does
return if code.between?(200, 299).Reproduction
Results:
Additional context
This is running as part of a Rails application
ruby-auth0 version
6.0.0
Ruby version
4.0.6