force_cancel_run
Immediately terminate a stuck Terraform Cloud run that is unresponsive to regular cancellation requests. Unlocks the workspace and confirms the forced cancellation with a timestamp and user details.
Instructions
Forcefully cancel a run immediately
Immediately terminates a run that hasn't responded to a normal cancel request. Use this as a last resort when a run is stuck and not responding to regular cancellation. This action bypasses the graceful shutdown process and forces the workspace to be unlocked.
API endpoint: POST /runs/{run_id}/actions/force-cancel
Args: run_id: The ID of the run to force cancel (format: "run-xxxxxxxx") comment: An optional explanation for why the run was force canceled
Returns: Run status update confirming forced cancellation with timestamp, user information, and workspace unlock status
See: docs/tools/run.md for reference documentation
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | ||
| run_id | Yes |
Implementation Reference
- The force_cancel_run handler function that forcefully cancels a Terraform Cloud run by POSTing to the /runs/{run_id}/actions/force-cancel API endpoint, using an optional comment.@handle_api_errors async def force_cancel_run(run_id: str, comment: str = "") -> APIResponse: """Forcefully cancel a run immediately Immediately terminates a run that hasn't responded to a normal cancel request. Use this as a last resort when a run is stuck and not responding to regular cancellation. This action bypasses the graceful shutdown process and forces the workspace to be unlocked. API endpoint: POST /runs/{run_id}/actions/force-cancel Args: run_id: The ID of the run to force cancel (format: "run-xxxxxxxx") comment: An optional explanation for why the run was force canceled Returns: Run status update confirming forced cancellation with timestamp, user information, and workspace unlock status See: docs/tools/run.md for reference documentation """ request = RunActionRequest(run_id=run_id, comment=comment) # Create payload if comment is provided payload = {} if request.comment: payload = {"comment": request.comment} # Make API request return await api_request( f"runs/{run_id}/actions/force-cancel", method="POST", data=payload )
- terraform_cloud_mcp/server.py:71-71 (registration)Registration of the force_cancel_run tool in the MCP server using FastMCP's tool decorator with write permissions configuration.mcp.tool(**write_tool_config)(runs.force_cancel_run)