fix bug: Client.cache_dir()