task_reorder
Reorder an OmniFocus task among its siblings by placing it before or after another task, or at the start or end of a container.
Instructions
Reorder an OmniFocus task among its siblings. OmniFocus has no numeric sibling index — position is always expressed relative to another task (before / after) or as the absolute start / end of a container. Do NOT use task_reorder to reparent a task to a different project or parent (task_move handles reparenting); prefer task_move when the task needs to change containers without caring about sibling order. Exactly one positioning form must be set: { before }, { after }, or { at, in }. Returns { reordered: true, id, position }. Side effects: changes sibling order in OmniFocus, sets meta.syncPending = true. Example: task_reorder({ id: "abc123", before: "abc456" }) Example: task_reorder({ id: "abc123", at: "start", in: { projectId: "prj456" } })
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | Absolute position within a container. Requires `in` to identify the container. | |
| id | Yes | Persistent ID of the task to reorder. | |
| in | No | Required when `at` is set; ignored otherwise. | |
| after | No | Position the task immediately after this sibling. Reference must share the same parent. | |
| before | No | Position the task immediately before this sibling. Reference must share the same parent. |