I see. I did think of doing it that way, but offloading most of the work to thor felt easier :smile:.

The best option I could find was:

1. Change the `location` flag to `:type => :string`
2. Set`:default => nil` for the `location` flag.
3. Inside the code:
    - If `options[:location].nil?` that means no location will be provided,
    - If `options[:location].empty?` that means location will be looked-up from IP (current behaviour not broken),
    - Otherwise, we will use `options[:location].split(',").map {|s| s.to_f}` as `latitude` and `longitude`

If that works for you, I can update the code and the tests accordingly.