Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time

Node CLI for Azure DevOps

NOTE: If you are looking for the new Azure DevOps CLI, see vsts-cli

NPM version

Command utility for interacting with Microsoft Team Foundation Server and Azure DevOps Services (formerly VSTS). It is cross platform and supported on Windows, OS X, and Linux.


First, download and install Node.js 4.0.x or later and NPM (included with the installer)


sudo npm install -g tfx-cli


npm install -g tfx-cli


To see a list of commands:


For help with an individual command:

tfx <command> --help

Help info is dynamically generated, so it should always be the most up-to-date authority.

Command sets

  • tfx build (builds): Queue, view, and get details for builds
  • tfx build tasks (build tasks): Create, list, upload and delete build tasks
  • tfx extension (extensions): Package, manage, publish Team Foundation Server / Azure DevOps extensions
  • tfx workitem (work items): Create, query and view work items.


To avoid providing credentials with every command, you can login once. Currently supported credential types: Personal Access Tokens and basic auth credentials.

NTLM support is under consideration

Warning! Using this feature will store your login credentials on disk in plain text.

Personal access token

Start by creating a personal access token and paste it into the login command.

~$ tfx login
Copyright Microsoft Corporation

> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully

Examples of valid URLs are:


Basic auth

You can alternatively use basic auth by passing --auth-type basic (see Configuring Basic Auth).

Settings cache

To avoid providing other options in every command, you can save options out to a settings file by adding the --save flag.

~$ tfx build list --project MyProject --definition-name println --top 5 --save


id              : 1
definition name : TestDefinition
requested by    : Teddy Ward
status          : NotStarted
queue time      : Fri Aug 21 2015 15:07:49 GMT-0400 (Eastern Daylight Time)

~$ tfx build list
Copyright Microsoft Corporation


id              : 1
definition name : TestDefinition
requested by    : Teddy Ward
status          : NotStarted
queue time      : Fri Aug 21 2015 15:07:49 GMT-0400 (Eastern Daylight Time)

If you used --save to set a default value for an option, you may need to override it by explicitly providing the option with a different value. You can clear any saved settings by running tfx reset.


To see detailed tracing output, you can set a value for the TFX_TRACE environment value and then run commands. That may offer a clue into the problem (and will certainly help if logging an issue).


export TFX_TRACE=1






We take contributions and fixes via Pull Request. Read here for the details.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.