Install Sitecore Command Line Interface
Sitecore Command Line Interface (CLI) is a tool you install in a terminal.
To upgrade an existing CLI installation, see Upgrade Sitecore Command Line Interface.
You can install Sitecore CLI as a local tool for individual projects or a global tool for all projects.
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 8 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: net8.0 (.NETCoreApp,Version=v8.0) / any
To install Sitecore CLI as a local project tool:
-
If you have not already done so, install Sitecore Management Services.
ImportantStarting 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:
RequestResponsecd <project folder> dotnet new tool-manifest dotnet nuget add source -n Sitecore https://nuget.sitecore.com/resources/v3/index.json dotnet tool install Sitecore.CLI
NoteOther developers working on the same project must only 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:
RequestResponseYou 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.
-
To initialize your new project, run the following command in your project folder:
RequestResponsedotnet sitecore init
NoteThe 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. -
Verify the initialization on your project with the following command:
RequestResponsedotnet 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:RequestResponse>> 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:
RequestResponseList 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:
RequestResponsesitecore.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