Install Sitecore Command Line Interface

Current version: 10.1

Sitecore Command Line Interface (CLI) is a tool you install in a terminal.

Note

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.

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:

RequestResponse
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:

  1. 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.

  2. Open a terminal with administrator privileges.

  3. Run the following commands to install Sitecore CLI:

    RequestResponse
    cd <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 
    Note

    Other 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 the install command (not recommended).

    When the installation is complete, you get the following message:

    RequestResponse
    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.
  4. To initialize your new project, run the following command in your project folder:

    RequestResponse
    dotnet sitecore init
    Note

    The command dotnet sitecore init adds default plugins with the same version as the CLI to the sitecore.json file. The plugins are Sitecore.DevEx.Extensibility.Serialization, Sitecore.DevEx.Extensibility.Publishing, Sitecore.DevEx.Extensibility.Indexing, Sitecore.DevEx.Extensibility.ResourcePackage, and Sitecore.DevEx.Extensibility.Database. On the next Sitecore CLI command, the CLI attempts to resolve and install the plugins for you.

  5. Verify the initialization on your project with the following command:

    RequestResponse
    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 the sitecore.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:

    RequestResponse
    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.

  6. 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:

    RequestResponse
    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

Do you have some feedback for us?

If you have suggestions for improving this article,