One, if you're using ChefDK, but also have a different ruby install, the gem install command could be installing the gem to a different ruby/gems installation. If that's the problem, you can use chef gem install to install gems to the right ruby, or use chef shell-init to have chefdk "take over" your shell session, in which case you will be using the correct gem command.
Another reason could be that you used knife rehash to cache the knife commands (which improves knife's performance). In that case, run knife rehash again.
We are getting same issue. We are using ChefDK and tried multiple options like adding path to PATH environment variable, checked knife.rb. But nothing is working out in favor.
We even checked knife.rb. Paths C:\opscode\chefdk\embedded\bin and C:\opscode\chefdk\bin are updated in PATH environment variable. Though I am not sure if any gem is missing for the command as you mentioned in your previous reply.
Could you please suggest any work around to get the command running?
This thread is pretty old, maybe you could explain what you did, what you expected to happen, and what happened instead?
In any case if you are trying to run knife runs list, you first need to install the knife-reporting plugin, which is best done by installing chef-dk and then using chef gem install to install it.