Destroy Infrastructure
tfdestroyDESTROY: Tear down previously deployed infrastructure Destroys infrastructure by calling the Oracle destroy endpoint for a session that has a prior successful deployment. IMPORTANT: This starts a long-running job. Use tfstatus/tflogs to monitor progress. SINGLE-FLIGHT: only one TF job per session at a time. If another job is already in flight, tfdestroy returns tf_job_conflict with the live job_id — attach with tfstatus/tflogs, or pass force_new=true to override. REQUIRES: session_id from convoopen response (format: sess_v2_...). OPTIONAL: force_new (boolean, default false) - bypass the single-flight guard. Use only when the existing run is provably wedged. PREREQUISITE: The session must have a prior successful deployment with a project_id. After destroy completes, the session is kept for historical record but hasDeployment is set to false.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"session_id": "<session_id>"
},
"name": "tfdestroy"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| force_new | No | When true, bypass the single-flight guard and force a new destroy even if another job is in flight. | |
| session_id | Yes | Session ID from convoopen — pass back EXACTLY as returned, including the ?token=... suffix (format: sess_v2_*?token=*). The suffix is part of the session credential; never strip it when summarizing. The deployed stack for this session will be torn down. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hints | No | Guidance for the calling agent: what to do next and which tools relate to this result. | |
| job_id | No | ID of the started job. Pass it to tfstatus or tflogs to follow progress. May be empty when the backend did not return one. | |
| success | No | True when the destroy job was started. |