Skip to main content
The Cadence CLI is a command-line tool that provides comprehensive access to Cadence workflow operations, domain management, and administrative functions.

What is the Cadence CLI?

The Cadence CLI (cadence) is a powerful tool for interacting with Cadence workflow systems. It supports:
  • Workflow execution management (start, stop, signal, query)
  • Domain configuration and management
  • Task list operations and monitoring
  • Administrative operations for cluster management
  • Batch operations for bulk workflow processing

Architecture

The CLI is built using the urfave/cli/v2 framework and communicates with Cadence through:
  • Frontend Service: Primary API for workflow and domain operations
  • Admin Service: Administrative operations requiring elevated privileges
  • Transport Protocols: Supports both TChannel (default) and gRPC

CLI Components

The CLI is organized into several top-level command groups:
cadence [command] [subcommand] [flags]
Main Command Groups:
  • domain - Domain registration, updates, and management
  • workflow - Workflow execution operations
  • tasklist - Task list monitoring and operations
  • admin - Administrative operations (requires elevated access)
  • cluster - Cluster information and operations

Common Usage Patterns

Connecting to Cadence

All CLI commands require connecting to a Cadence frontend service:
cadence --address localhost:7933 [command]
You can also set the address via environment variable:
export CADENCE_CLI_ADDRESS=localhost:7933
cadence [command]

Working with Domains

Most workflow operations require specifying a domain:
cadence --domain my-domain workflow list
Or using environment variable:
export CADENCE_CLI_DOMAIN=my-domain
cadence workflow list

Using Aliases

The CLI provides short aliases for common commands:
cadence wf list           # Short for: workflow list
cadence d describe        # Short for: domain describe
cadence tl describe       # Short for: tasklist describe

Global Flags

These flags are available for all commands:
--address
string
default:""
Frontend service address in host:port format. Can also be set via CADENCE_CLI_ADDRESS environment variable.
--domain
string
Cadence workflow domain for operations. Can also be set via CADENCE_CLI_DOMAIN environment variable.
--context-timeout
int
default:"90"
Optional timeout for RPC calls in seconds. Can also be set via CADENCE_CONTEXT_TIMEOUT environment variable.
--jwt
string
Optional JWT token for authorization. Can also be set via CADENCE_CLI_JWT environment variable.
--jwt-private-key
string
Optional path to private key for creating JWT. Can also be set via CADENCE_CLI_JWT_PRIVATE_KEY environment variable.
--transport
string
Transport protocol: grpc or tchannel (default). Can also be set via CADENCE_CLI_TRANSPORT_PROTOCOL environment variable.
--tls-cert-path
string
Path to TLS certificate for secure connections. Can also be set via CADENCE_CLI_TLS_CERT_PATH environment variable.

Configuration

Environment Variables

The CLI supports configuration through environment variables:
export CADENCE_CLI_ADDRESS=localhost:7933
export CADENCE_CLI_DOMAIN=my-domain
export CADENCE_CONTEXT_TIMEOUT=120
export CADENCE_CLI_TRANSPORT_PROTOCOL=grpc

Authentication

For JWT authentication:
# Using JWT token directly
cadence --jwt "eyJhbGc..." workflow list

# Using private key to generate JWT
cadence --jwt-private-key /path/to/key.pem workflow list

Output Formats

Many commands support multiple output formats:
  • Table (default): Human-readable table format
  • JSON: Machine-readable JSON output using --format json
# Table format (default)
cadence workflow list

# JSON format
cadence workflow list --format json

Getting Help

Use the --help flag with any command to see available options:
cadence --help
cadence workflow --help
cadence workflow start --help

Version Information

Check CLI and server compatibility:
cadence --version
The output includes:
  • CLI feature version (for compatibility checking)
  • Release version
  • Build commit hash

Next Steps

Installation

Install the Cadence CLI on your system

Workflow Commands

Manage workflow executions

Domain Commands

Configure and manage domains

Admin Commands

Administrative operations

Build docs developers (and LLMs) love