Registry / azure / tfx-cli

tfx-cli

JSON →
library0.23.1jsnpmunverified

CLI for managing Azure DevOps Services (formerly VSTS) and Team Foundation Server extensions, builds, and releases. Current stable version 0.23.1 (2025). Infrequent releases, focused on security updates and Azure DevOps API changes. Unlike azure-devops-cli (az devops), this is a standalone Node.js CLI with no Azure CLI dependency, geared towards extension developers who need to publish, install, and manage marketplace extensions without installing the full Azure CLI.

npm install tfx-cli
INSTALL
IMPORT
SIG · TFX-CLI
T
tfx-cli
azurejavascriptv0.23.1
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

CLI command
npx tfx-cli extension install --extension-id my-extension --publisher publisher-name --vsix ./my-extension.vsix
tfx extension install --ids my-extension
The CLI is used via global install or npx. No programmatic API import; all usage is CLI. The wrong example uses an incorrect flag.
login
tfx login --service-url https://dev.azure.com/{organization} --token $(System.AccessToken)
tfx login --url https://dev.azure.com/{organization} --pat $(System.AccessToken)
Use --service-url and --token, not --url or --pat. The token is a PAT or System.AccessToken in Azure Pipelines.
extension install
tfx extension install --publisher-id publisher-name --extension-id extension-id --vsix ./extension.vsix --service-url https://dev.azure.com/{organization}
tfx extension install --manifest vss-extension.json
Use --publisher-id and --extension-id; --manifest is for creating VSIX, not installing. For public extensions, omit --vsix.

Install tfx-cli globally, log in to Azure DevOps, create a VSIX from a manifest, publish it to the marketplace, and install it to a collection.

npm install -g tfx-cli # Login to Azure DevOps tfx login --service-url https://dev.azure.com/myorg --token $(echo $AZURE_DEVOPS_PAT) # Publish an extension from a manifest tfx extension create --manifest vss-extension.json --rev-version tfx extension publish --publisher my-publisher --vsix my-extension-1.0.0.vsix --service-url https://dev.azure.com/myorg # Install an extension tfx extension install --publisher-id my-publisher --extension-id my-extension --vsix my-extension-1.0.0.vsix --service-url https://dev.azure.com/myorg
tfx --version
Debug
Known issues
breakingFrom 0.9.0, publisher creation is removed. API backing removed by Azure DevOps.
fix
Use Azure DevOps web UI to create publisher, then use tfx to manage extensions.
affects: >=0.9.0
gotchaEngine requirement: Node >= 20.0.0. Older Node versions cause runtime errors.
fix
Update Node to 20 or later.
affects: >=0.23.0
deprecatedUsing --manifest with extension install is deprecated. Use --publisher-id and --extension-id.
fix
Replace --manifest with --publisher-id and --extension-id.
affects: >=0.7.3
gotchaLogin token must be a PAT, not a personal access token with wrong scope. Ensure scope includes 'Marketplace (Publish)'.
fix
Create a PAT with at least 'Marketplace (Publish)' scope.
affects: >=0.7.11
gotchatfx login no longer uses --url or --pat; use --service-url and --token.
fix
See correct login command in imports.
affects: >=0.7.11
Errors
Common errors & fixes
TypeError: Cannot read property 'success' of undefined
Error-handling code missing in tfx login in versions 0.7.10 and earlier.
fix
Upgrade to tfx-cli@0.7.11 or later.
Error: Manifest validation: 'public' is not allowed
Manifest contains a property 'public' which is invalid in later versions.
fix
Remove 'public' from vss-extension.json; use 'public' flag in tfx extension publish command instead.
Error: Failed to read extension manifest: ENOENT: no such file or directory
Missing manifest file specified with --manifest.
fix
Ensure the path to vss-extension.json is correct, or check current working directory.
Upgrade
Version history
0.23.1latest on npm
Audit
Dependencies
noderequiredRuntime required, engine >=20.0.0
azure-devops-node-apirequiredHTTP client for Azure DevOps REST APIs
Agent activity
54 hits · last 30 days
node
46
OpenAI (training)
1
Resources
tfx-cli — npm install tfx-cli · libregistry