Chef Workstation 0.16.31 Released!

We are delighted to announce the availability of version 0.16.31 of Chef Workstation.

Improved Knife Performance

We've optimized knife to provide a huge performance increase. Knife commands are now more than 3x faster on Windows and more than 4.5x faster on macOS.

Chef Workstation App Improvements

The Chef Workstation App now runs at boot and launches after installing Chef Workstation. We've also added a new preferences dialog on macOS that allows you to set Chef Workstation preferences without using the config file.

Updated Components

Chef Infra Client 15.8.23

Chef Infra Client has been updated to 15.8.23 with updated resources, a new notify_group feature, and dozens of new helpers to make writing cookbooks easier than ever. Check the complete release notes for details on

Chef InSpec 4.18.85

Chef InSpec has been updated from 4.18.51 to 4.18.85. This release includes a large number of bug fixes in addition to some great resource enhancements:

  • The service resource features new support for yocto-based linux distributions. Thank you to @michaellihs for this addition!
  • The package resource now includes support for FreeBSD. Thank you to @fzipi for this work!
  • We standardized the platform for the etc_hosts, virtualization, ini, and xml resources.
  • The oracledb_session resource works again due to a missing quote fix.
  • The groups resource on macOS no longer reports duplicates anymore.
    command.exist? now conforms to POSIX standards. Thanks to @PiQuer!
  • We changed the postfix_conf resource's supported platform to the broader unix. Thank you to @fzipi for this fix!

Cookstyle 5.21.9

We updated Cookstyle from 5.20.0 to 5.21.9. This release adds 4 new Chef Infra cops and improves many existing cops:


The ChefStyle/UnnecessaryOSCheck cop checks cookbooks that use node['os'] to check the operating system of a node, when they could instead use the platform_family?() helper. All values of os from Ohai match one-to-one with platform_family values, except for linux which has no single equivalent plaform_family.


The ChefModernize/SimplifyAptPpaSetup cop detects apt_repository resources that setup Ubuntu PPAs by using their full URL. For example, can be simplified to just ppa:webupd8team/atom.


The ChefRedundantCode/StringPropertyWithNilDefault cop detects String type resource properties that set their default value to nil. All String type properties default to nil, so this does not need to be set.


The ChefRedundantCode/PropertySplatRegex cop detects String type resource properties that validate their input with a regex of /.*/. This regex will match on any String value and is not necessary.

Other Cookstyle fixes and changes
  • ChefDeprecations/IncludingYumDNFCompatRecipe will now remove any inline conditionals around the include_recipe statement during autocorrection so that it does not leave behind invalid Ruby.
  • ChefDeprecations/WindowsTaskChangeAction will no longer fail when the action value is not a String type value.
  • ChefSharing/InvalidLicenseString will not autocorrect apache v2 to Apache-2.0.
  • Layout/EndAlignment and Layout/DefEndAlignment now have autocorrection enabled to eliminate the need for manually fixing indentation in cookbooks.
  • ChefStyle/UsePlatformHelpers now detects and autocorrects node['platform'].eql?() usage.
  • Style/ModuleFunction cop has been disabled because this caused library helpers to fail to load.
  • All metadata cops now properly autocorrect legacy metadata that included HEREDOCs.
  • The TargetRubyVersion is now set to 2.3 to match the version of Ruby that shipped in Chef Infra Client 12. This config value is used to enable/disable cops and autocorrection that may break Ruby code in these older Chef Infra Client releases. If you are on a later release of Chef Infra Client, you can set this value to Ruby 2.6 to enable additional cops and autocorrection.

Fauxhai 7.6

Fauxhai has been updated to 7.6 with FreeBSD 12.1 data for use in ChefSpec. Thanks to @nhuff!

kitchen-vcenter 2.6.4

kitchen-vcenter has been updated to 2.6.2. This update fixes multiple bugs from spinning up nodes in Test Kitchen. Thanks @leotaglia and @cattywampus for these fixes.

knife-ec2 1.0.31

knife-ec2 has been updated to 1.0.31 with a fix for SSH connection failures that occurred if the instance has no public DNS name.

chef-apply 4.1.5

chef-apply has been updated to 4.1.5 to add the missing CHEFVAL001 error message.

ChefSpec 9.1

ChefSpec has been updated to 9.1 with a new matcher include_any_recipe that allows you to write specs to ensure that cookbooks aren't including recipes. Thanks @jasonwbarnett. This release also fixes a bug mocking out the Chef::Provider class when a cookbook uses Poise's resource_provider_mixin. Thanks @Annih for this fix.

Platform Support

Chef Workstation packages are now validated on Debian 10.

Get the Build

If you are running the Chef Workstation toolbar application you can download this version from the menu after the app next update check. You can also download binaries directly from

As always, we welcome your feedback and invite you to contact us directly or share your email. Thanks for using Chef Workstation!