Manage and use Alibaba Cloud CLI plugins
Install CLI plugins to manage cloud products from the command line. Each plugin maps to one product, installs on demand, updates independently, and serializes parameters automatically.
Prerequisites
-
You have installed Alibaba Cloud CLI 3.3.0 or later. For installation instructions, see Install, update, and uninstall Alibaba Cloud CLI.
-
You have configured credentials for Alibaba Cloud CLI. For instructions, see Configure and manage credentials.
Quick start
This example installs the ecs plugin and queries regions:
# Install a plugin (using the ecs plugin as an example)
aliyun plugin install --name ecs
# Call an API to query the list of regions
aliyun ecs describe-regions --accept-language en-US
Run aliyun ecs --help to list all available commands. The sections below cover naming, installation, parameters, and advanced features.
Plugin overview
Each plugin wraps a cloud product's API into a standalone executable. Key features:
-
On-demand installation: Install only what you need.
-
Independent updates: Versioned and released separately from the CLI.
-
Consistent naming: Commands and parameters use kebab-case (
describe-instances,--accept-language). -
Simplified parameters: The CLI serializes parameters automatically — use the same key-value format regardless of API style.
-
Built-in help: Run
--helpon any command for parameter types, descriptions, and requirements.
Plugins are stored in ~/.aliyun/plugins and tracked in manifest.json.
Plugin naming convention
Plugins follow the naming format aliyun-cli-<ProductCode>, where the product code matches Alibaba Cloud OpenAPI:
|
Name |
Product code |
Cloud product |
|
|
|
Elastic Compute Service (ECS) |
|
|
|
Function Compute (FC) |
|
|
|
ApsaraDB RDS |
You can use either the full name (aliyun-cli-ecs) or product code (ecs). Names are case-insensitive.
Install plugins
Check plugin availability
Check whether a cloud product has a plugin:
-
Online query (recommended): Browse by category, search by keyword, and view command examples in the CLI Center.
-
Command-line query: List available plugins or search by keyword:
-
List all plugins in the remote index:
aliyun plugin list-remote -
Example output:
Total plugins available: 316 Name Latest Version Preview Status Local Version Description ---- -------------- ------- ------ ------------- ----------- aliyun-cli-ecs 0.1.0 No Installed 0.1.0 Alibaba Cloud CLI plugin for ECS operations. aliyun-cli-fc 0.1.0 No Installed 0.1.0 Alibaba Cloud CLI plugin for FC 3.0 operations. aliyun-cli-acc 0.1.0 No Not installed - Alibaba Cloud CLI plugin for acs operations.
-
Search for a plugin
Find which plugin provides a specific command. Prefix matching is supported.
# Search for plugins containing "ecs"
aliyun plugin search ecs
# Search for commands in the ecs plugin that start with "describe"
aliyun plugin search "ecs describe"
-
Plugins follow Semantic Versioning (SemVer):
-
0.x.x versions are experimental with no compatibility guarantee.
-
1.0.0+ versions are stable within the same major version. Major version bumps may introduce breaking changes.
-
-
The remote index is cached for one hour. To force a refresh, set
ALIBABA_CLOUD_CLI_PLUGIN_NO_CACHE=true.
Install a plugin
aliyun plugin install accepts a plugin via --name (e.g. aliyun plugin install --name ecs) or a positional argument (e.g. aliyun plugin install ecs). Both are equivalent. --name was added in v3.3.14.
|
Flag |
Description |
|
|
Install a single plugin by name. Available since v3.3.14. Mutually exclusive with |
|
|
Install one or more plugins by name, separated by spaces. Mutually exclusive with |
|
|
Specify the version to install. Only works with |
|
|
Allow installation of pre-release versions. |
|
|
Install from a local archive file ( |
|
|
Use a custom plugin source URL for this command. Overrides the environment variable and configuration file settings. |
Examples:
# Install a single plugin by name
aliyun plugin install --name ecs
# Install a specific version
aliyun plugin install --name fc --version 1.0.0
# Install multiple plugins at once
aliyun plugin install --names ecs rds vpc
# Install from a local archive file (for offline environments)
aliyun plugin install --package /path/to/ecs-plugin.zip
# Install from a URL
aliyun plugin install --package https://example.com/plugins/ecs-plugin.tar.gz
Verify with aliyun plugin list:
Name Version Description
---- ------- -----------
aliyun-cli-ecs 0.1.0 Aliyun CLI plugin for Elastic Compute Service operations.
aliyun-cli-fc 0.1.0 Aliyun CLI plugin for Function Compute 3.0 operations.
The CLI auto-detects OS and architecture (darwin-arm64, linux-amd64) and downloads the matching package. In batch installs, one failure does not block others. Plugins requiring a newer CLI version prompt you to upgrade.
View plugin details
Run aliyun plugin list to list installed plugins. To view details of a specific plugin, run:
aliyun plugin show --name ecs
Example output:
Name: aliyun-cli-ecs
Version: 0.3.0
Product code: Ecs
Short description: Aliyun Ecs Plugin
Description: Aliyun CLI plugin for Elastic Compute Service operations.
API default: 2014-05-26
API supported: 2014-05-26
Fields:
|
Field |
Description |
|
Name |
Full name (e.g. |
|
Version |
Installed version. |
|
Product code |
Product code (e.g. |
|
Short description |
Brief summary. |
|
Description |
Full description. |
|
API default version |
Default API version for commands. |
|
API supported versions |
Supported versions. Switch with |
|
Inner |
Whether the plugin is an internal plugin. |
Use plugins
Plugin commands use kebab-case. The CLI passes credentials, region, and timeout from the current profile automatically. Global options like --profile and --region apply without extra configuration.
Command format:
aliyun <plugin-name> <Command> [--parameter-name value ...]
Usage examples
View plugin help
Use aliyun <plugin-name> --help or aliyun <plugin-name> <Command> --help. For example, list all ecs commands:
aliyun ecs --help
View parameter details for a command:
aliyun ecs describe-regions --help
Example output:
......
--accept-language string, Filters the results by language. For more information, see[RFC
7231](https://tools.ietf.org/html/rfc7231). Valid values:
- zh-CN: Simplified Chinese.
- zh-TW: Traditional Chinese.
- en-US: English.
- ja: Japanese.
- fr: French.
- de: German.
- ko: Korean.
Default: en-US
--instance-charge-type string, The billing method for the instance. For more information, see https://help.aliyun.
com/document_detail/25398.html. Valid values:
- PrePaid: Subscription. If you use this method, make sure your account supports balance payments or credit payments.
Otherwise, an `InvalidPayMethod` error is reported.
- PostPaid: Pay-As-You-Go.
- SpotWithPriceLimit: A user-defined maximum price for a spot instance.
- SpotAsPriceGo: The system automatically bids for a spot instance at the Pay-As-You-Go price.
Default: PostPaid
......
The output shows each parameter's type, description, and whether it is required.
Query regions
Query available regions:
aliyun ecs describe-regions --accept-language en-US
Example output:
{
"Regions": {
"Region": [
{
"LocalName": "China (Qingdao)",
"RegionEndpoint": "ecs.cn-qingdao.aliyuncs.com",
"RegionId": "cn-qingdao"
},
{
"LocalName": "China (Beijing)",
"RegionEndpoint": "ecs.cn-beijing.aliyuncs.com",
"RegionId": "cn-beijing"
},
......
Advanced usage
Use structured parameters
Plugins serialize parameters automatically. The input format is the same regardless of the underlying API style (repeatList, flat, or JSON):
-
Array parameters: Repeat the flag for each value (e.g.
attribute-name).aliyun ecs describe-account-attributes\ --biz-region-id cn-hangzhou\ --attribute-name max-security-groups\ --attribute-name instance-network-type -
Object parameters: Use
key=valuepairs (e.g.tag).aliyun ecs describe-instances --biz-region-id cn-hangzhou\ --tag key=env value=prod
Use multi-version APIs
Some products have multiple API versions. Run aliyun plugin list — plugins with multi-version support show multi-version in their description:
Name Version Description
---- ------- -----------
aliyun-cli-ecs 0.1.0 Alibaba Cloud CLI plugin for ECS operations.
aliyun-cli-ess 0.1.0 Alibaba Cloud CLI plugin for Auto Scaling operations with multi-version API support.
aliyun-cli-fc 0.1.0 Alibaba Cloud CLI plugin for FC 3.0 operations.
Use --api-version to select a specific version:
-
Use the default API version
aliyun ess describe-scaling-groups --biz-region-id cn-hangzhou -
Specify an API version by using
--api-versionaliyun ess describe-scaling-groups --api-version 2022-02-22 --biz-region-id cn-hangzhou -
List the supported API versions
aliyun ess list-api-versions
Set a default API version with an environment variable to avoid repeating --api-version. Format: ALIBABA_CLOUD_<PRODUCT_CODE>_API_VERSION (<PRODUCT_CODE> in uppercase):
# Add the environment variable and apply it
echo 'export ALIBABA_CLOUD_ESS_API_VERSION=2022-02-22' >> ~/.bashrc
source ~/.bashrc
The --api-version flag takes precedence over the environment variable.
Update and uninstall plugins
Update a plugin
Update a specific plugin:
aliyun plugin update --name ecs
Update all installed plugins:
aliyun plugin update
If already at the latest version, the CLI reports no update needed. Add --enable-pre for pre-release versions.
Verify with aliyun plugin list.
Uninstall a plugin
Remove a plugin:
aliyun plugin uninstall --name ecs
Verify removal with aliyun plugin list.
Configure automatic installation
The CLI can auto-install missing plugins when a command requires them — useful for CI/CD pipelines and multi-product environments.
Enable automatic installation
Enable via command:
aliyun configure set --auto-plugin-install true
Or with an environment variable:
echo 'export ALIBABA_CLOUD_CLI_PLUGIN_AUTO_INSTALL=true' >> ~/.bashrc
source ~/.bashrc
Verify with aliyun configure get.
Allow pre-release auto-installation:
aliyun configure set --auto-plugin-install-enable-pre true
Or with an environment variable:
echo 'export ALIBABA_CLOUD_CLI_PLUGIN_AUTO_INSTALL_ENABLE_PRE=true' >> ~/.bashrc
source ~/.bashrc
Installation policy
Behavior varies by runtime environment:
|
Scenario |
Behavior |
|
Auto-installation enabled |
Installs automatically and continues. |
|
Interactive terminal with auto-install disabled |
Prompts before installing. |
|
Non-interactive environment (script or pipeline) |
Displays a prompt but does not install. |
Example output for automatic installation:
# Run a command when the ecs plugin is not installed
aliyun ecs describe-regions --accept-language en-US
# Output of the automatic installation process
Plugin 'aliyun-cli-ecs' is required for command 'ecs describe-regions' but not installed.
Auto-installing plugin 'aliyun-cli-ecs' (including pre-release versions)...
Downloading aliyun-cli-ecs 0.1.0...
Plugin aliyun-cli-ecs 0.1.0 installed successfully!
......
Example output in an interactive environment with auto-install disabled:
# Run a command when the ecs plugin is not installed
aliyun ecs describe-regions --accept-language en-US
# Output of the interactive installation process
Plugin 'aliyun-cli-ecs' is required for command 'ecs describe-regions' but not installed.
Tip: Run 'aliyun configure set --auto-plugin-install true' to skip this prompt.
Do you want to install it? [Y/n]: y
Installing plugin 'aliyun-cli-ecs' (including pre-release versions)...
Downloading aliyun-cli-ecs 0.1.0...
Plugin aliyun-cli-ecs 0.1.0 installed successfully!
......
Plugin global settings
Use aliyun configure plugin-settings to set a custom plugin source for restricted networks or centralized URL management. Settings are stored in ~/.aliyun/plugin-settings.json.
View current settings
View current settings:
aliyun configure plugin-settings show
Set a custom plugin source
Set a custom source URL:
aliyun configure plugin-settings set --source-base https://internal-mirror.example.com/cli-plugins
Verify:
aliyun configure plugin-settings show
Clear custom settings
Clear custom settings and restore defaults:
aliyun configure plugin-settings clear
Source URL priority
The CLI resolves the source URL in this order (first match wins):
-
The
--source-baseflag on the current command. -
The
ALIBABA_CLOUD_CLI_PLUGIN_SOURCE_BASEenvironment variable. -
The
source-basevalue in~/.aliyun/plugin-settings.json. -
The built-in default URL.
-
Plugin settings are stored in
~/.aliyun/plugin-settings.json. -
The
plugin-settingssubcommands belong toaliyun configure, notaliyun plugin.
Appendix
Plugin command list
|
Command |
Description |
|
|
Lists installed plugins. |
|
|
Shows details of an installed plugin. |
|
|
Lists available plugins from the remote index. |
|
|
Searches for the plugin that corresponds to a command. |
|
|
Installs one or more plugins. |
|
|
Updates a plugin. |
|
|
Uninstalls a plugin. |
|
|
Displays plugin system settings. |
|
|
Sets the plugin source base URL. |
|
|
Removes the custom source base URL and reverts to the built-in default. |
Plugin environment variables
Environment variables for plugin behavior:
|
Environment variable |
Description |
|
|
Custom plugin directory. Default: |
|
|
Set to |
|
|
Set to |
|
|
Set to |
|
|
Custom plugin source URL. Equivalent to |
|
|
Default API version for a product. Example: |
|
|
Maximum line length for help output. |
FAQ
Installation fails: "no stable version available"
The plugin has only pre-release versions. Add --enable-pre:
aliyun plugin install --name <plugin-name> --enable-pre