Yak Command Line Tool Reference
A reference for the Yak command line tool.
The Yak command line tool is included with Rhino 7 WIP. On Windows the tool is located at
"C:\Program Files\Rhino 7\System\yak.exe". On macOS there is a convenience script at
"/Applications/Rhino 7.app/Contents/Resources/bin/yak"script is broken in Rhino 7.0 and will be fixed in Rhino 7.1 Release Candidate 2. Check the forum for updates.
- Since 0.2: Command added
- Since 0.4: Supports multiple .gha files, .rhp files or anything else for that matter
- Since 0.9: Appends distribution tag to filename and expands $version placeholder
- Since 0.10.1: Adds
When run in a directory containing a valid
manifest.yaml file, creates a package containing all files in the directory.
Usage: yak build [options] Options: --platform PLATFORM The platform where the package will run ('win', 'mac' or 'any') -h, --help Get help (equivalent to `yak help build`)
rh7-win) is appended to the filename of the created package. The tag is determined by inspecting the contents of the package during creation. The
--platform=anyargument can be used if the author wants to publish a cross-platform distribution, e.g.
rh7-any. Only .rhp and .gha files can currently be inspected. If a package contains none of these, it will have a distribution tag of
Installs a package (optionally with a specific version).
yak install [--source=URL] <package> [<version>]
Lists the packages installed on the machine.
Since 0.2: Command added Since 0.10: User registered during login
Authenticates with Rhino Accounts and stores a time-limited OAuth2 access token so that the user can use commands which require authentication.
Usage: yak login [options] Options: --ci Generate a non-expiring API key and display it -s, --source URL Package repository location [default: https://yak.rhino3d.com/]. -h, --help Get help (equivalent to `yak help login`)
On Windows, the token is stored in
%appdata%\McNeel\yak.yml. On macOS, it is stored in
During login, the user is registered on the server.
Pushes a package to the server.
yak push [--source=URL] <filename>
- Since 0.1: Command added
- Since 0.5: Adds
Searches the server for packages which match
Usage: yak search [options] <query> Options: --prerelease Display prerelease package versions -a, --all Display all package versions -s, --source URL Package repository location -h, --help Get help (equivalent to `yak help search`)
- Since 0.2: Command added
- Since 0.4: Adds support for inspecting .rhp files (RhinoCommon only)
Creates a skeleton
manifest.yml file based on the contents of the current directory.
When run in a directory containing a Grasshopper assembly (
.gha) or a RhinoCommon
.rhp) the file will be inspected and used to pre-populate the
Uninstalls a package.
yak uninstall <package>
Removes a version from the package index.
yak yank <package> <version>
Yanked versions do not appear in searches but can still be installed if the exact package version is known. To all intents and purposes they are hidden.
It is not possible to re-push a package version that has been yanked. If you find yourself in this situation, then simply roll the version number of your package and push again.
Adds, removes of lists the owners of a package. Package owners can push new versions of the package and (un)yank existing versions.
Usage: yak owner add [--source=URL] <package> <email> yak owner remove [--source=URL] <package> <email> yak owner list [--source=URL] <package> Options: -h, --help -s, --source URL Package repository location [default: https://yak.rhino3d.com/].
New owners can do everything that the original owner can do. Please bear this in mind!