diff --git a/lib/cucumber/cli/configuration.rb b/lib/cucumber/cli/configuration.rb
index <HASH>..<HASH> 100644
--- a/lib/cucumber/cli/configuration.rb
+++ b/lib/cucumber/cli/configuration.rb
@@ -110,7 +110,7 @@ module Cucumber
       end
 
       def to_hash
-        Hash(@options).merge(out_stream: @out_stream, error_stream: @error_stream)
+        Hash.try_convert(@options).merge(out_stream: @out_stream, error_stream: @error_stream)
       end
 
       private
diff --git a/lib/cucumber/cli/options.rb b/lib/cucumber/cli/options.rb
index <HASH>..<HASH> 100644
--- a/lib/cucumber/cli/options.rb
+++ b/lib/cucumber/cli/options.rb
@@ -290,7 +290,7 @@ TEXT
       end
 
       def to_hash
-        Hash(@options)
+        Hash.try_convert(@options)
       end
 
     protected
diff --git a/lib/cucumber/configuration.rb b/lib/cucumber/configuration.rb
index <HASH>..<HASH> 100644
--- a/lib/cucumber/configuration.rb
+++ b/lib/cucumber/configuration.rb
@@ -12,7 +12,7 @@ module Cucumber
     end
 
     def initialize(user_options = {})
-      @options = default_options.merge(Hash(user_options))
+      @options = default_options.merge(Hash.try_convert(user_options))
     end
 
     # TODO: Actually Deprecate???
Does Hash#try_convert work in all supported Ruby versions?