Install Sitecore Command Line Interface
How to install Sitecore Command Line Interface (CLI) in a terminal.
Sitecore Command Line Interface (CLI) is a tool that you install in a terminal.
Note
To upgrade an existing CLI installation, see Upgrade Sitecore Command Line Interface.
You can install Sitecore CLI either as a local tool for individual projects or as a global tool for all projects.
Important
We do not recommend installing Sitecore CLI as a global tool. Different Sitecore instances might need different versions of the Sitecore CLI.
You must have .NET 6 installed on your workstation before installing the Sitecore CLI. If you do not have the required version of .NET Core installed, you get the following message:
Package sitecore.cli {version} is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1) / any. Package sitecore.cli {version} supports: net6.0 (.NETCoreApp,Version=v6.0) / any
To install Sitecore CLI as a local project tool:
If you have not already done so, install Sitecore Management Services.
Important
Starting with version 5.1.25 the CLI has a version compatibility feature that prevents you from running CLI commands with an outdated version of Sitecore Management Services.
Open a terminal with administrator privileges.
Run the following commands to install Sitecore CLI:
cd <project folder> dotnet new tool-manifest dotnet nuget add source -n Sitecore https://sitecore.myget.org/F/sc-packages/api/v3/index.json dotnet tool install Sitecore.CLI
Note
Other developers working on the same project only have to run
dotnet tool restore
to install Sitecore CLI.To install the CLI globally, use the
-g
option when running theinstall
command (not recommended).When the installation is complete, you get the following message:
You can invoke the tool from this directory using the following commands: 'dotnet tool run sitecore' or 'dotnet sitecore'. Tool 'sitecore.cli' {version} was successfully installed. Entry is added to the manifest file {project-path}.config\dotnet-tools.json.
Note
The examples in the following steps use an example version for simplicity, but when you install the CLI, the version displayed in the terminal is the latest official release available.
To initialize your new project, run the following command in your project folder:
dotnet sitecore init
Note
The command
dotnet sitecore init
adds default plugins with the same version as the CLI to thesitecore.json
file. The plugins areSitecore.DevEx.Extensibility.Serialization
,Sitecore.DevEx.Extensibility.Publishing
,Sitecore.DevEx.Extensibility.Indexing
,Sitecore.DevEx.Extensibility.ResourcePackage
, andSitecore.DevEx.Extensibility.Database
. On the next Sitecore CLI command, the CLI attempts to resolve and install the plugins for you.If you want to install the XM Cloud plugin, run the following command:
dotnet sitecore plugin add -n Sitecore.DevEx.Extensibility.XMCloud
Verify the initialization on your project with the following command:
dotnet sitecore plugin list
If this is the first command after
dotnet sitecore init
, the CLI attempts to resolve and install the plugins listed in thesitecore.json
file. The command prints a message informing you which plugins are being installed. For example:>> Begin installing NuGet packages: Sitecore.DevEx.Extensibility.Serialization@{version}, Sitecore.DevEx.Extensibility.Publishing@{version}, Sitecore.DevEx.Extensibility.Indexing@{version}, Sitecore.DevEx.Extensibility.ResourcePackage@{version}, Sitecore.DevEx.Extensibility.Database@{version}
If the installation is successful, the command lists the installed plugins and their version information:
List of plugins: [Installed] Sitecore.DevEx.Extensibility.Serialization v.{version} [Installed] Sitecore.DevEx.Extensibility.Publishing v.{version} [Installed] Sitecore.DevEx.Extensibility.Indexing v.{version} [Installed] Sitecore.DevEx.Extensibility.ResourcePackage v.{version} [Installed] Sitecore.DevEx.Extensibility.Database v.{version}
If the installation of any plugin fails, the output shows a
[Failed]
status for that plugin.To verify that the Sitecore CLI works, go to your project folder in a terminal and type
dotnet sitecore -h
.If the Sitecore CLI is ready, you get a message describing the usage, options, and available top-level commands. For example:
sitecore.cli Sitecore command line tool Usage: sitecore.cli [options] [command] Options: --version Show version information -?, -h, --help Show help and usage information Commands: login Authenticates the CLI to a Sitecore instance plugin Manage plugins commands init Creates Sitecore configurations in current directory connect Connect to the existing environment ser, serialization Item serialization commands publish Performs a publish operation on all content index working with indexes data itemres Resource Items Package commands dbcleanup Performs cleanup operations for Sitecore databases