id = "temporal" name = "Temporal CLI" homepage = "https://docs.temporal.io/cli" description = "Command-line interface for running Temporal Server and interacting with Workflows, Activities, Namespaces, and other parts of Temporal." executables = ["temporal"] [dotfiles] # Temporal's official CLI reference documents the default temporal.toml path: # $HOME/.config/temporalio/temporal.toml on Unix, $HOME/Library/Application # Support/temporalio/temporal.toml on macOS, and %AppData%/temporalio/temporal.toml # on Windows. The three spellings below preserve those platform locations. # https://github.com/temporalio/documentation/blob/main/docs/cli/command-reference/activity.mdx paths = [ "[configHome]/temporalio/temporal.toml", "[appData]/temporalio/temporal.toml", "%APPDATA%/temporalio/temporal.toml", ] secret = [] # The same official config format uses profile.*.api_key for Temporal Cloud # authentication (https://github.com/temporalio/documentation/blob/main/docs/develop/python/client/temporal-client.mdx). [[dotfiles.secret_paths]] file = [ "[configHome]/temporalio/temporal.toml", "[appData]/temporalio/temporal.toml", "%APPDATA%/temporalio/temporal.toml", ] format = "toml" match = { key_path = ["profile.*.api_key"] } [commands] format = 1 label = "Temporal CLI" description = "Common Workflow jobs: list, start and describe Workflow Executions. Global connection flags (address, namespace, profile) and the other subcommands are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand]] path = ["workflow", "list"] label = "List workflows" description = "List Workflow Executions, optionally filtered by a List Filter query." [[commands.subcommand.source]] id = "ref" kind = "manual" url = "https://docs.temporal.io/cli/workflow" revision = "2026-10-27" evidence = """ temporal workflow list \ --query YourQuery --archived No bool Limit output to archived Workflow Executions. (Experimental) --limit No int Maximum number of Workflow Executions to display. --page-size No int Maximum number of Workflow Executions to fetch at a time from the server. --query, -q No string Content for an SQL-like QUERY List Filter. """ [[commands.subcommand.field]] id = "query" label = "List filter query" description = "SQL-like filter, e.g. WorkflowType = 'MyWorkflow'." type = "string" option = ["--query", "-q"] sources = ["ref"] [[commands.subcommand.field]] id = "limit" label = "Max results" type = "integer" option = ["--limit"] sources = ["ref"] [[commands.subcommand.field]] id = "page_size" label = "Page size" type = "integer" option = ["--page-size"] sources = ["ref"] [[commands.subcommand.field]] id = "archived" label = "Archived only" type = "boolean" option = ["--archived"] sources = ["ref"] [[commands.subcommand.task]] id = "filtered" label = "Filtered list" fields = ["query", "limit"] required = ["query"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["query", "limit"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["page_size", "archived"] [[commands.subcommand]] path = ["workflow", "start"] label = "Start a workflow" description = "Start a new Workflow Execution. Headers, memo, search attributes, fairness and priority options are left out." [[commands.subcommand.source]] id = "ref" kind = "manual" url = "https://docs.temporal.io/cli/workflow" revision = "2026-10-27" evidence = """ temporal workflow start \ --workflow-id YourWorkflowId \ --type YourWorkflow \ --task-queue YourTaskQueue \ --input '{"some-key": "some-value"}' --cron No string Cron schedule for the Workflow. --execution-timeout No duration Fail a WorkflowExecution if it lasts longer than DURATION. This time-out includes retries and ContinueAsNew tasks. --id-conflict-policy No string-enum Accepted values: Fail, UseExisting, TerminateExisting. --id-reuse-policy No string-enum Accepted values: AllowDuplicate, AllowDuplicateFailedOnly, RejectDuplicate, TerminateIfRunning. --input, -i No string[] Input value. Use JSON content or set --input-meta to override. --run-timeout No duration Fail a Workflow Run if it lasts longer than DURATION. --task-queue, -t Yes string Workflow Task queue. --type Yes string Workflow Type name. --workflow-id, -w No string Workflow ID. If not supplied, the Service generates a unique ID. """ [[commands.subcommand.field]] id = "type" label = "Workflow type" type = "string" option = ["--type"] sources = ["ref"] [[commands.subcommand.field]] id = "task_queue" label = "Task queue" type = "string" option = ["--task-queue", "-t"] sources = ["ref"] [[commands.subcommand.field]] id = "workflow_id" label = "Workflow ID" description = "If empty, the Service generates a unique ID." type = "string" option = ["--workflow-id", "-w"] sources = ["ref"] [[commands.subcommand.field]] id = "input" label = "Input" description = "JSON value. Repeat for multiple arguments." type = "string" option = ["--input", "-i"] multiple = true sources = ["ref"] [[commands.subcommand.field]] id = "id_conflict_policy" label = "ID conflict policy" type = "enum" option = ["--id-conflict-policy"] choices = [{ value = "Fail", label = "Fail" }, { value = "UseExisting", label = "Use existing" }, { value = "TerminateExisting", label = "Terminate existing" }] sources = ["ref"] [[commands.subcommand.field]] id = "id_reuse_policy" label = "ID reuse policy" type = "enum" option = ["--id-reuse-policy"] choices = [{ value = "AllowDuplicate", label = "Allow duplicate" }, { value = "AllowDuplicateFailedOnly", label = "Allow duplicate if failed" }, { value = "RejectDuplicate", label = "Reject duplicate" }, { value = "TerminateIfRunning", label = "Terminate if running" }] sources = ["ref"] [[commands.subcommand.field]] id = "cron" label = "Cron schedule" type = "string" option = ["--cron"] sources = ["ref"] [[commands.subcommand.field]] id = "execution_timeout" label = "Execution timeout" description = "Duration, e.g. 30m." type = "string" option = ["--execution-timeout"] sources = ["ref"] [[commands.subcommand.field]] id = "run_timeout" label = "Run timeout" description = "Duration, e.g. 10m." type = "string" option = ["--run-timeout"] sources = ["ref"] [[commands.subcommand.task]] id = "start" label = "Start with input" fields = ["type", "task_queue", "workflow_id", "input"] required = ["type", "task_queue"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["type", "task_queue", "workflow_id", "input"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["id_conflict_policy", "id_reuse_policy", "cron", "execution_timeout", "run_timeout"] [[commands.subcommand]] path = ["workflow", "describe"] label = "Describe a workflow" description = "Show the properties of a Workflow Execution." [[commands.subcommand.source]] id = "ref" kind = "manual" url = "https://docs.temporal.io/cli/workflow" revision = "2026-10-27" evidence = """ temporal workflow describe \ --workflow-id YourWorkflowId --raw No bool Print properties without changing their format. --reset-points No bool Show auto-reset points only. --run-id, -r No string Run ID. --workflow-id, -w Yes string Workflow ID. """ [[commands.subcommand.field]] id = "workflow_id" label = "Workflow ID" type = "string" option = ["--workflow-id", "-w"] sources = ["ref"] [[commands.subcommand.field]] id = "run_id" label = "Run ID" type = "string" option = ["--run-id", "-r"] sources = ["ref"] [[commands.subcommand.field]] id = "raw" label = "Raw output" type = "boolean" option = ["--raw"] sources = ["ref"] [[commands.subcommand.task]] id = "describe" label = "Describe" fields = ["workflow_id", "run_id"] required = ["workflow_id"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["workflow_id", "run_id", "raw"]