Why I cannot specify runlist in client.rb?

I am running chef-client as daemon in local mode and send USR1 when I need to apply some changes. It works perfect. But I don’t understand why I have to specify in my init script which cookbook I need to run and there is no option in client.rb? The problem is that first I run chef-client with one heavy cookbook and later I need to run another light cookbook to apply changes really quick. I know how to use not_if and other tricks to speed up, but still it takes time to do all that checks. So it is not good to get runlist from JSON file in nodes folder generated from previous run. Still there is no conflict, I use different node names. Just wonder why such an important option is not available in client.rb.