project_delete_describe
Preview the effects of deleting an OmniFocus project without performing the deletion. Inspect planned changes, then use project_delete once approved.
Instructions
Preview what project_delete would do without making any changes. Do NOT use to actually delete a project — use project_delete instead. Returns { description, plannedChanges } describing the permanent deletion that would occur. No side effects: read-only by contract — never mutates OmniFocus. Example: dry-run companion — pass the same args you would to the write tool, inspect plannedChanges, then call the write tool once approved.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Persistent ID of the project to delete. Get from project_list. Verify you have the correct ID before calling — this action is irreversible and deletes all contained tasks. | |
| dry_run | No | When true, validates input and returns a preview envelope with meta.dryRun = true; no adapter call is made and no mutation occurs. | |
| idempotency_key | No | Idempotency key for retry-safe deletes. Identical subsequent calls within the TTL window replay the original envelope with meta.idempotentReplay = true instead of re-deleting (or re-raising NotFound on the second attempt). | |
| expectedModifiedAt | No | Optimistic-concurrency guard: ISO-8601 timestamp from a recent project_get. If the project's current modifiedAt differs, the call fails with OF_CONFLICT and no delete is performed. Omit to skip the check. |