Skip to main content

Temporal CLI server command reference

This page provides a reference for the temporal CLI server command. The flags applicable to each subcommand are presented in a table within the heading for the subcommand. Refer to Global Flags for flags that you can use with every subcommand.

start-dev

Run a development Temporal Server on your local system.

+------------------------------------------------------------------------+
| WARNING: The development server is not intended for production use. |
| It skips certain HTTP security checks to make local use simpler. |
| |
| For production use, see: |
| https://docs.temporal.io/production-deployment |
+------------------------------------------------------------------------+

View the Web UI for the default configuration at: http://localhost:8233

temporal server start-dev

Add persistence for Workflow Executions across runs:

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

Set the port from the front-end gRPC Service (7233 default):

temporal server start-dev \
--port 7000

Use a custom port for the Web UI. The default is the gRPC port (7233 default) plus 1000 (8233):

temporal server start-dev \
--ui-port 3000

Use the following options to change the behavior of this command. You can also use any of the global flags that apply to all subcommands.

FlagRequiredDescription
--db-filename, -fNostring Path to file for persistent Temporal state store. By default, Workflow Executions are lost when the server process dies.
--dynamic-config-valueNostring[] Dynamic configuration value using KEY=VALUE pairs. Keys must be identifiers, and values must be JSON values. For example: YourKey="YourString" Can be passed multiple times.
--headlessNobool Disable the Web UI.
--http-portNoint Port for the HTTP API service. Defaults to a random free port.
--ipNostring IP address bound to the front-end Service.
--log-configNobool Log the server config to stderr.
--metrics-portNoint Port for the '/metrics' HTTP endpoint. Defaults to a random free port.
--namespace, -nNostring[] Namespaces to be created at launch. The "default" Namespace is always created automatically.
--port, -pNoint Port for the front-end gRPC Service.
--search-attributeNostring[] Search attributes to register using KEY=VALUE pairs. Keys must be identifiers, and values must be the search attribute type, which is one of the following: Text, Keyword, Int, Double, Bool, Datetime, KeywordList.
--sqlite-pragmaNostring[] SQLite pragma statements in "PRAGMA=VALUE" format.
--ui-asset-pathNostring UI custom assets path.
--ui-codec-endpointNostring UI remote codec HTTP endpoint.
--ui-ipNostring IP address bound to the Web UI. Defaults to same as '--ip' value.
--ui-portNoint Port for the Web UI. Defaults to '--port' value + 1000.
--ui-public-pathNostring The public base path for the Web UI. Defaults to /.

Global Flags

The following options can be used with any command.

FlagRequiredDescriptionDefault
--addressNostring Temporal Service gRPC endpoint.localhost:7233
--api-keyNostring API key for request.
--client-authorityNostring Temporal gRPC client :authority pseudoheader.
--client-connect-timeoutNoduration The client connection timeout. 0s means no timeout.
--codec-authNostring Authorization header for Codec Server requests.
--codec-endpointNostring Remote Codec Server endpoint.
--codec-headerNostring[] HTTP headers for requests to codec server. Format as a KEY=VALUE pair. May be passed multiple times to set multiple headers.
--colorNostring-enum Output coloring. Accepted values: always, never, auto.auto
--command-timeoutNoduration The command execution timeout. 0s means no timeout.
--config-fileNostring File path to read TOML config from, defaults to $CONFIG_PATH/temporal/temporal.toml where $CONFIG_PATH is defined as $HOME/.config on Unix, $HOME/Library/Application Support on macOS, and %AppData% on Windows. (Experimental)
--disable-config-envNobool If set, disables loading environment config from environment variables. (Experimental)
--disable-config-fileNobool If set, disables loading environment config from config file. (Experimental)
--envNostring Active environment name (ENV).default
--env-fileNostring Path to environment settings file. Defaults to $HOME/.config/temporalio/temporal.yaml.
--grpc-metaNostring[] HTTP headers for requests. Format as a KEY=VALUE pair. May be passed multiple times to set multiple headers. Can also be made available via environment variable as TEMPORAL_GRPC_META_[name].
--identityNostring The identity of the user or client submitting this request. Defaults to "temporal-cli:USER@USER@HOST".
--log-formatNostring-enum Log format. Accepted values: text, json.text
--log-levelNostring-enum Log level. Default is "info" for most commands and "warn" for server start-dev. Accepted values: debug, info, warn, error, never.info
--namespace, -nNostring Temporal Service Namespace.default
--no-json-shorthand-payloadsNobool Raw payload output, even if the JSON option was used.
--output, -oNostring-enum Non-logging data output format. Accepted values: text, json, jsonl, none.text
--profileNostring Profile to use for config file. (Experimental)
--time-formatNostring-enum Time format. Accepted values: relative, iso, raw.relative
--tlsNobool Enable base TLS encryption. Does not have additional options like mTLS or client certs. This is defaulted to true if api-key or any other TLS options are present. Use --tls=false to explicitly disable.
--tls-ca-dataNostring Data for server CA certificate. Can't be used with --tls-ca-path.
--tls-ca-pathNostring Path to server CA certificate. Can't be used with --tls-ca-data.
--tls-cert-dataNostring Data for x509 certificate. Can't be used with --tls-cert-path.
--tls-cert-pathNostring Path to x509 certificate. Can't be used with --tls-cert-data.
--tls-disable-host-verificationNobool Disable TLS host-name verification.
--tls-key-dataNostring Private certificate key data. Can't be used with --tls-key-path.
--tls-key-pathNostring Path to x509 private key. Can't be used with --tls-key-data.
--tls-server-nameNostring Override target TLS server name.