workflow stack trace query
The `temporal workflow stack` command performs a Query using __stack_trace-type Query to display a stack trace of threads and routines currently in use by the Workflow for troubleshooting. Required flag: --workflow-id/-w (string). Optional flags: --reject-condition (not_open, not_completed_cleanly), --run-id/-r (string).
workflow start command
The `temporal workflow start` command starts a new Workflow Execution and returns the Workflow and Run IDs. Required flags: --task-queue/-t (string), --type (string). Optional flags: --cron (string), --execution-timeout (duration), --fail-existing (bool), --fairness-key (string), --fairness-weight (float), --headers (string[]), --id-conflict-policy (string-enum), --id-reuse-policy (string-enum), --input/-i (string[]), --input-base64 (bool), --input-file (string[]), --input-meta (string[]), --memo (string[]), --priority-key (int), --run-timeout (duration), --search-attribute (string[]), --start-delay (duration), --static-details (string), --static-summary (string), --task-timeout (duration), --workflow-id/-w (string).
workflow start-update-with-start experimental command
The `temporal workflow start-update-with-start` command sends a message to invoke an Update handler and waits for the update to be accepted or rejected. If the Workflow Execution is not running, a new workflow execution is started and the update is sent. This is an experimental feature. Required flags: --update-name (string), --task-queue/-t (string), --type (string), --update-wait-for-stage (string-enum: accepted). Optional flags are similar to execute-update-with-start.
workflow terminate command
The `temporal workflow terminate` command terminates a Workflow Execution. The reason is optional and defaults to the current user's name. The reason is stored in the Event History as part of the WorkflowExecutionTerminated event, which becomes the closing event in the Workflow Execution's history. Workflow code cannot see or respond to terminations; use workflow cancel for clean-up work.
workflow terminate flags
The `temporal workflow terminate` command has the following flags: --query/-q (string, optional), --reason (string, optional), --rps (float, optional), --run-id/-r (string, optional), --workflow-id/-w (string, optional), --yes/-y (bool, optional). Either --workflow-id or --query must be set.
workflow trace child workflow visualization
The `temporal workflow trace` command displays the progress of a Workflow Execution and its child workflows with a real-time trace. This helps understand how workflows are proceeding. Required flag: --workflow-id/-w (string). Optional flags: --concurrency (int), --depth (int, -1 for any depth), --fold (string[], fold child workflows by status), --no-fold (bool), --run-id/-r (string).
workflow unpause experimental command
The `temporal workflow unpause` command unpauses a previously paused Workflow Execution. This is an experimental feature and may change in the future. Required flag: --workflow-id/-w (string). Optional flags: --reason (string), --run-id/-r (string).
workflow update describe subcommand
The `temporal workflow update describe` subcommand returns information about an Update's current status, including a result if it has finished, given a Workflow Execution and an Update ID. Required flags: --workflow-id/-w (string), --update-id (string). Optional flag: --run-id/-r (string).
workflow update result subcommand
The `temporal workflow update result` subcommand waits for an Update to complete or fail and prints the result, given a Workflow Execution and an Update ID. Required flags: --workflow-id/-w (string), --update-id (string). Optional flag: --run-id/-r (string).
workflow update start subcommand
The `temporal workflow update start` subcommand sends a message to invoke an Update handler and waits for the update to be accepted or rejected. You can subsequently wait for the update to complete using `temporal workflow update execute`. Required flags: --workflow-id/-w (string), --name (string), --wait-for-stage (string-enum: accepted). Optional flags: --first-execution-run-id (string), --headers (string[]), --input/-i (string[]), --input-base64 (bool), --input-file (string[]), --input-meta (string[]), --run-id/-r (string), --update-id (string).
workflow update-options versioning override
The `temporal workflow update-options` command modifies properties of Workflow Executions, including Worker Deployment configuration which controls Worker Versioning. Required flag: --versioning-override-behavior (string-enum: unspecified, pinned, auto_upgrade). When overriding to pinned, use --versioning-override-deployment-name and --versioning-override-build-id. Optional flags: --headers (string[]), --query/-q (string), --reason (string), --rps (float), --run-id/-r (string), --workflow-id/-w (string), --yes/-y (bool).
global flag --address
The --address global flag specifies the Temporal Service gRPC endpoint. Type: string. Default: localhost:7233.
global flag --api-key
The --api-key global flag provides an API key for request authentication. Type: string. Optional.
global flag --client-authority
The --client-authority global flag sets the Temporal gRPC client :authority pseudoheader. Type: string. Optional.
global flag --client-connect-timeout
The --client-connect-timeout global flag sets the client connection timeout. Type: duration. 0s means no timeout. Optional.
global flag --codec-auth
The --codec-auth global flag provides an authorization header for Codec Server requests. Type: string. Optional.
global flag --codec-endpoint
The --codec-endpoint global flag specifies the remote Codec Server endpoint. Type: string. Optional.
global flag --codec-header
The --codec-header global flag sets HTTP headers for requests to the codec server in KEY=VALUE format. Type: string[]. Can be passed multiple times. Optional.
global flag --color
The --color global flag controls output coloring. Type: string-enum. Accepted values: always, never, auto. Default: auto.
global flag --command-timeout
The --command-timeout global flag sets the command execution timeout. Type: duration. 0s means no timeout. Optional.
global flag --config-file
The --config-file global flag specifies the file path to read TOML config from. Defaults to $CONFIG_PATH/temporalio/temporal.toml where $CONFIG_PATH is $HOME/.config on Unix, $HOME/Library/Application Support on macOS, and %AppData% on Windows. Type: string. Optional.
global flag --disable-config-env
The --disable-config-env global flag disables loading environment config from environment variables when set. Type: bool. Optional.
global flag --grpc-meta
The --grpc-meta global flag sets HTTP headers for requests in KEY=VALUE format. Type: string[]. Can be passed multiple times and made available via environment variable TEMPORAL_GRPC_META_[name]. Optional.
global flag --identity
The --identity global flag sets the identity of the user or client submitting the request. Defaults to temporal-cli:$USER@$HOST. Type: string. Optional.
global flag --log-format
The --log-format global flag sets the log format. Type: string-enum. Accepted values: text, json. Default: text.
global flag --log-level
The --log-level global flag sets the log level. Accepted values: debug, info, warn, error, never. Default is "never" for most commands and "warn" for "server start-dev". Optional.
global flag --namespace
The --namespace/-n global flag sets the Temporal Service Namespace. Type: string. Default: default.
global flag --no-json-shorthand-payloads
The --no-json-shorthand-payloads global flag outputs raw payloads even if the JSON option was used. Type: bool. Optional.
global flag --output
The --output/-o global flag sets non-logging data output format. Type: string-enum. Accepted values: text, json, jsonl, none. Default: text.
global flag --profile
The --profile global flag selects which profile to use for the config file. Type: string. Optional.
global flag --time-format
The --time-format global flag sets the time format. Type: string-enum. Accepted values: relative, iso, raw. Default: relative.
global flag --tls
The --tls global flag enables base TLS encryption without additional options like mTLS or client certs. Type: bool. It defaults to true if api-key or any other TLS options are present. Use --tls=false to explicitly disable. Optional.
global flag --tls-ca-path
The --tls-ca-path global flag specifies the path to server CA certificate. Type: string. Cannot be used with --tls-ca-data. Optional.
global flag --tls-key-data
The --tls-key-data global flag provides private certificate key data. Type: string. Cannot be used with --tls-key-path. Optional.
global flag --tls-key-path
The --tls-key-path global flag specifies the path to x509 private key. Type: string. Cannot be used with --tls-key-data. Optional.
global flag --tls-server-name
The --tls-server-name global flag overrides the target TLS server name. Type: string. Optional.
temporal workflow headers format
Temporal workflow headers are passed in KEY=VALUE format where keys must be identifiers and values must be JSON values. They may be passed multiple times to set multiple Temporal headers. These are workflow headers, not gRPC headers.
search attribute format
Search Attributes are passed in KEY=VALUE format where keys must be identifiers and values must be JSON values. For example: 'YourKey={"your": "value"}'. Can be passed multiple times.
priority-key range
Priority keys range from 1-5, where lower numbers represent higher priority. When not specified, the default priority-key is 3. Tasks in a queue should be processed in close-to-priority-order.
fairness-weight range
Fairness weight must be between 0.001 and 1000. Tasks with the same fairness-key share capacity based on their weight. Keys are dispatched proportionally to their weights.
fairness-key maximum size
Fairness key has a maximum size of 64 bytes.
input-meta encoding override
Input payload metadata can override the default encoding (json/plain) when the KEY is "encoding". Repeated metadata keys are applied to corresponding inputs in the provided order.
id-conflict-policy values
The id-conflict-policy flag determines how to resolve a conflict when spawning a new Workflow Execution with a Workflow Id used by an existing Open Workflow Execution. Accepted values: Fail, UseExisting, TerminateExisting.
id-reuse-policy values
The id-reuse-policy flag controls re-use of the Workflow ID in new Workflow Executions. Accepted values: AllowDuplicate, AllowDuplicateFailedOnly, RejectDuplicate, TerminateIfRunning.
reject-condition values for queries
The reject-condition flag can be used to reject Queries based on Workflow state. Accepted values: not_open, not_completed_cleanly.
workflow fold status values
The --fold flag in workflow trace can fold away Child Workflows with specified statuses. Available values: running, completed, failed, canceled, terminated, timedout, continueasnew. Case-insensitive.
versioning-override-behavior values
The versioning-override-behavior flag overrides the versioning behavior of a Workflow. Accepted values: unspecified, pinned, auto_upgrade.
global xdc-redirection flag for passive cluster
In global Namespaces, requests sent to a passive cluster are forwarded to the active cluster by default. To target the passive cluster directly, specify --grpc-meta xdc-redirection=false.
memo format
Memo is passed using KEY="VALUE" pairs where values must be JSON values.
start-delay constraint with cron
The --start-delay flag cannot be used with cron schedules. If the Workflow receives a signal or update prior to the start-delay time, the Workflow Execution starts immediately.
Temporal CLI
The Temporal CLI is the most recent version of Temporal's command-line tool.
TEMPORAL_ENV environment variable
TEMPORAL_ENV specifies the name of the active temporal env preset. It defaults to 'default'. TOML key: none. CLI flag: --env. Read by: Temporal CLI.
TEMPORAL_ENV_FILE environment variable
TEMPORAL_ENV_FILE specifies the path to the preset file. It defaults to temporal.yaml in the CLI configuration directory. TOML key: none. CLI flag: --env-file. Read by: Temporal CLI.
Legacy TLS environment variables for Temporal CLI
The Temporal CLI reads legacy TLS variable names for compatibility: TEMPORAL_TLS_CERT (superseded by TEMPORAL_TLS_CLIENT_CERT_PATH), TEMPORAL_TLS_CERT_DATA (superseded by TEMPORAL_TLS_CLIENT_CERT_DATA), TEMPORAL_TLS_KEY (superseded by TEMPORAL_TLS_CLIENT_KEY_PATH), TEMPORAL_TLS_KEY_DATA (superseded by TEMPORAL_TLS_CLIENT_KEY_DATA), TEMPORAL_TLS_CA (superseded by TEMPORAL_TLS_SERVER_CA_CERT_PATH), and TEMPORAL_TLS_CA_DATA (superseded by TEMPORAL_TLS_SERVER_CA_CERT_DATA). When any of these legacy variables is set, it overrides the corresponding value from the configuration file and from the preferred variable. These names have no CLI flag and no TOML key of their own. Read by: Temporal CLI.
tctl activity complete command
The tctl activity complete command completes an Activity Execution. Syntax: tctl activity complete <modifiers>
tctl activity complete --workflow_id modifier
The --workflow_id modifier (alias: -w) specifies the Workflow Id of an Activity Execution to complete. Example: tctl activity complete --workflow_id <id>
tctl activity complete --run_id modifier
The --run_id modifier (alias: -r) specifies the Run Id of an Activity Execution to complete. Example: tctl activity complete --run_id <id>
tctl activity complete --activity_id modifier
The --activity_id modifier specifies the Activity Id of an Activity Execution to complete. Example: tctl activity complete --activity_id <id>
tctl activity complete --result modifier
The --result modifier specifies the result of an Activity Execution when using tctl to complete the Activity Execution. Example: tctl activity complete --result <value>
tctl activity complete --identity modifier
The --identity modifier specifies the identity of the operator when using tctl to complete an Activity Execution. Example: tctl activity complete --identity <value>