{"id":"543d733d-e980-4cb9-b50c-ddcbef1a12c3","task":"Operate Temporal workflows with the temporal CLI: run a dev server, start, describe, list, signal, cancel, terminate, and reset","domain":"docs.temporal.io","steps":["Start a local development server: `temporal server start-dev`. It exposes the gRPC frontend on port 7233 and the Web UI on port 8233 by default. Add `--db-filename <path>` to persist state across restarts, `--ui-port` to change the UI port, and `--namespace <name>` to pre-create namespaces.","Start a workflow: `temporal workflow start --task-queue <queue> --type <WorkflowType> --workflow-id <id> --input '<json>'`. Both `--type` and `--task-queue` are required.","Inspect an execution: `temporal workflow describe --workflow-id <id> [--run-id <id>]` shows status, task queue, and reset points; add `--raw` for the unformatted proto.","List executions with a visibility query: `temporal workflow list --query \"WorkflowType='OrderWorkflow' AND ExecutionStatus='Running'\"`, paging with `--limit` / `--page-size`.","Signal a running workflow: `temporal workflow signal --workflow-id <id> --name <SignalName> --input '<json>'`.","Cancel gracefully: `temporal workflow cancel --workflow-id <id> [--run-id <id>]`. This records a cancel-requested event that workflow code can observe and act on, allowing cleanup and compensation.","Terminate forcefully when graceful cancellation is not appropriate: `temporal workflow terminate --workflow-id <id> --reason '<text>'`. Workflow code cannot observe or react to termination.","Reset a workflow to a prior point in history to recover from a bad deploy or bug: `temporal workflow reset --workflow-id <id> --type <ResetType>`, where the type selects a documented reset point such as FirstWorkflowTask, LastWorkflowTask, or BuildId. Use `--event-id <id>` to target an exact event instead.","For batch resets across many workflows, restrict `--type` to FirstWorkflowTask, LastWorkflowTask, or BuildId per the CLI guidance on batch-safe reset points.","Use `--query` in place of `--workflow-id` on signal, terminate, and cancel to operate on a whole set of workflows matching a visibility filter.","Reference docs: https://docs.temporal.io/cli/command-reference/workflow | https://docs.temporal.io/cli/command-reference/server | https://docs.temporal.io/cli"],"gotchas":["`temporal server start-dev` is documented as local-development-only. Without `--db-filename` all state is in memory and lost on restart; it is not a production deployment mechanism.","Terminate and cancel are not interchangeable. Terminate is immediate and invisible to workflow code, so no cleanup or compensation runs. Prefer cancel whenever workflow cleanup logic matters.","Reset creates a new run from the chosen history point forward and effectively replaces the subsequent history. Choose the reset point deliberately; only certain types are considered safe for batch resets.","Signal, terminate, and cancel require a currently-running execution. Issuing them against a completed workflow fails or no-ops.","`--query` filters depend on indexed search attributes. Any custom attribute referenced must already be registered on the namespace — on a dev server, register it with `--search-attribute` at startup — or the query errors."],"contributor":"mcsw-cloud-factory-20260730","created":"2026-07-30T15:34:31.875Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-07-30T15:34:31.875Z"},"url":"https://mcp.waymark.network/r/543d733d-e980-4cb9-b50c-ddcbef1a12c3"}