To reproduce : add a custom option in /etc/thin1.8/myconf.yml, like this : environment: production chdir: /usr/share/redmine/ user: www-data group: www-data daemonize: true mycustomoption: test Thin starts this config file nicely. Now add the servers option, to any value (even 1): servers: 2 Thin will feed itself the yaml options to its command line parser : /usr/lib/ruby/1.8/optparse.rb:1450:in `complete': invalid option: --mycustomoption=test (OptionParser::InvalidOption) from /usr/lib/ruby/1.8/optparse.rb:1448:in `catch' from /usr/lib/ruby/1.8/optparse.rb:1448:in `complete' from /usr/lib/ruby/1.8/optparse.rb:1261:in `parse_in_order' from /usr/lib/ruby/1.8/optparse.rb:1254:in `catch' from /usr/lib/ruby/1.8/optparse.rb:1254:in `parse_in_order' from /usr/lib/ruby/1.8/optparse.rb:1248:in `order!' from /usr/lib/ruby/1.8/optparse.rb:1339:in `permute!' from /usr/lib/ruby/1.8/optparse.rb:1360:in `parse!' from /usr/lib/ruby/1.8/thin/runner.rb:131:in `parse!' from /usr/lib/ruby/1.8/thin/runner.rb:47:in `initialize' from /usr/bin/thin1.8:6:in `new' from /usr/bin/thin1.8:6 It should instead pass only the current config file path.