Skip to main content

CLI Reference

This document serves as a reference to the Medusa CLI tool including how to install it and what commands are available.

Overview

The Medusa CLI serves as a tool that allows you to perform important commands while developing with Medusa.

To use Medusa, it is required to install the CLI tool as it is used to create a new Medusa server.


How to Install CLI Tool

To install the CLI tool, run the following command in your terminal:

npm install @medusajs/medusa-cli -g
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

If you run into any errors while installing the CLI tool, check out the troubleshooting guide.

The CLI tool is then available under the medusa command. You can see all commands and options with the following command:

medusa --help
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

Common Options

The following options can be used with all available commands.

--help

Learn more about what you can do with the CLI tool or with a specific command.

Alias: -h

medusa new --help
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

--verbose

Turn on verbose output for detailed logs.

Default: false

medusa new test-server --verbose
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

--no-color

Turn off colors in the output.

Alias: --no-colors

Default: false

medusa new test-server --no-color
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

--json

Turn on JSON logger.

Default: false

medusa new test-server --json
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

--version

If used inside a Medusa project, the version of the Medusa CLI and Medusa project is shown. Otherwise, the version of the Medusa CLI is shown.

Alias: -v

medusa --version
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

Available Commands

new

Create a new Medusa server.

medusa new [<server_name> [<starter_url>]]
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

Arguments

NameDescriptionDefault
server_nameThe name of the Medusa server. It will be used as the name of the directory created.If not provided, you’ll be prompted to enter it.
starter_urlThe URL of the starter to create the server from.The default starter is used.

Options

NameDescription
--seedIf the flag is set the command will attempt to seed the database after setup.
-y, --useDefaultsIf the flag is set the command will not interactively collect database credentials.
--skip-dbIf the flag is set the command will not attempt to complete the database setup.
--skip-migrationsIf the flag is set the command will not attempt to complete the database migration.
--skip-envIf the flag is set the command will not attempt to populate .env.
--db-userThe database user to use for database setup and migrations.
--db-databaseThe database used for database setup and migrations.
--db-passThe database password to use for database setup and migrations.
--db-portThe database port to use for database setup and migrations.
--db-hostThe database host to use for database setup and migrations.

develop

Start development server. This command watches files for any changes to rebuild the files and restart the server.

medusa develop
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

Options

NameDescription
-H, --hostSet host. Defaults to localhost.
-p, --portSet port. Defaults to 9000.

start

Start development server. This command does not watch for file changes or restart the server.

medusa start
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

Options

NameDescription
-H, --hostSet host. Defaults to localhost.
-p, --portSet port. Defaults to 9000.

migrations

Migrate the database to the most recent version.

medusa migrations <action>
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

Arguments

NameDescriptionDefault
actionThe action to perform. Values can be run, show, or revert. run is used to run the migrations; show is used to only show what migrations are available to run; and revert is to undo the last migration.This argument is required and does not have a default value.

seed

Migrates and populates the database with the provided file.

medusa seed --seed-file=<file_path>
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

Options

NameDescription
-f, --seed-filePath to the file where the seed is defined. (required)
-m, --migrateFlag to indicate if migrations should be run prior to seeding the database. Default is true.

user

Creates a new admin user.

medusa user --email <email> [--password <password>]
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

Options

NameDescription
-e, --emailThe email to create a user with. (required)
-p, --passwordThe password to use with the user. If not included, the user will not have a password.
-i, --idThe user’s ID. By default it is automatically generated.

telemetry

Enable or disable the collection of anonymous data usage. If no option is provided, the command will enable the collection of anonymous data usage.

medusa telemetry
Report Incorrect CodeReport Incorrect CodeCopy to ClipboardCopy to Clipboard

Options

NameDescription
--enableEnable telemetry (default)
--disableDisable telemetry

See Also