project_get
Retrieve a specific OmniFocus project by its ID. Optionally include its flat list of tasks for quick review.
Instructions
Fetch a single OmniFocus project by persistent ID. Do NOT use for queries across projects — use project_list. When includeTaskTree=true (default), the project's flat task list is attached. Returns { project, tasks? }; safe to call repeatedly; no side effects. Example: project_get({ id: "prj123" }) Example: project_get({ id: "prj123", includeTaskTree: false })
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Persistent project ID. Get from project_list or search_query. | |
| fields | No | Restrict the returned project to this list of top-level fields (id is always returned). Omit for the full project shape. Empty array returns just id. Unknown names surface in meta.warnings.WARN_UNKNOWN_FIELDS. Note: only the project record is projected — attached tasks keep their full shape. | |
| verbose | No | When true, return the full unelided shape (project + tasks). Default: false — fields equal to their documented default are omitted from both. See docs/token-cost.md for the defaults table. | |
| includeLinks | No | When true, the project (and each attached task, if includeTaskTree=true) carries a `_links` HATEOAS block. Default false — the block is omitted to save payload size. Use the underlying ID fields (`id`, `folderId`, `projectId`, `parentId`, `tagIds`) directly instead. | |
| includeTaskTree | No | Whether to attach the project's tasks (flat array; clients rebuild the tree via parentId). Default true. Set to false for a fast project-only read. |