When a task receives a params object whose inspect prints {:subdomain=>"support”}, calling params.fetch(:support) surprisingly returns nil. Clearly this is not a hash.
It looks like this is implemented via a method_missing which performs lookup. This implementation should throw if any arguments are passed, because if you're providing arguments you clearly didn't expect this to be a simple getter method.