Skip to main content

Set up the Temporal CLI

The Temporal CLI is a command-line tool for interacting with the Temporal Service. It helps you manage, monitor, and debug Temporal applications. You can also use it to run a local development server and interact with Temporal Applications from the command line.

With the Temporal CLI, you can:

  • Run a local Temporal Service for development
  • Start Workflow Executions on any Temporal Service (local, self-hosted, or Temporal Cloud)
  • Interact with running Workflows
  • Inspect the state of Workflows and Activities
  • Manage Namespaces, Schedules, and Task Queues
  • Monitor and debug application behavior

Install the CLI

The CLI is available for macOS, Linux, and Windows.

Install with Homebrew:

brew install temporal

Or download from the CDN:

Extract the archive and add the temporal binary to your PATH.

Run the development server

The CLI includes a local Temporal development service for fast feedback while building your application.

Start the server:

temporal server start-dev \
--db-filename path/to/local-persistent-store

View available options:

temporal server start-dev \
--help

What the local server provides

  • A local instance of the Temporal Service
  • Automatic startup of the Web UI
  • A default Namespace
  • Optional persistence using SQLite

Omitting --db-filename uses an in-memory database. This speeds up testing but does not persist Workflow data between sessions.

Access the Web UI

tip

The CLI works with all Temporal SDKs. Use it to develop and test your application before deploying to production.

Getting CLI help

From the command line:

temporal <command> <subcommand> --help

For example:

  • temporal --help
  • temporal workflow --help
  • temporal workflow delete --help

Available commands

CommandDescription
activityComplete, update, pause, unpause, reset or fail an Activity
batchManage running batch jobs
completionGenerate the autocompletion script for the specified shell
envManage environments
operatorManage Temporal deployments
schedulePerform operations on Schedules
serverRun Temporal Server
task-queueManage Task Queues
workerRead or update Worker state
workflowStart, list, and operate on Workflows