
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
@stephendolan/omnifocus-cli
Advanced tools
A command-line interface for OmniFocus on macOS.
bun install -g @stephendolan/omnifocus-cli
Requires Bun and macOS with OmniFocus installed.
of inbox count # Check inbox
of task list --flagged # Flagged tasks
of task create "Buy groceries" # Quick capture
of task update "Buy groceries" --complete # Mark done
of task list # List active tasks
of task list --flagged # Flagged tasks only
of task list --project "Work" # Filter by project
of task list --tag "urgent" # Filter by tag
of task list --completed # Include completed
of task create "Name" [options]
--project <name> # Assign to project
--tag <tags...> # Add tags
--due <YYYY-MM-DD> # Set due date
--defer <YYYY-MM-DD> # Set defer date
--flagged # Flag the task
--estimate <minutes> # Time estimate
--note <text> # Add note
of task update <name|id> [options]
--complete # Mark completed
--flag / --unflag # Toggle flag
--name <new-name> # Rename
--project/--tag/--due/--defer # Same as create
of task view <name|id> # View details
of task delete <name|id> # Delete task
of project list # List active projects
of project list --folder "Work" # Filter by folder
of project list --status "on hold" # Filter by status
of project list --dropped # Include dropped
of project create "Name" [options]
--folder <name> # Assign to folder
--tag <tags...> # Add tags
--sequential # Sequential project
--note <text> # Add note
of project view <name|id> # View details
of project delete <name|id> # Delete project
of tag list # All tags with counts
of tag list --unused-days 30 # Stale tags
of tag list --sort usage # Most used first
of tag list --sort activity # Most recent first
of tag list --active-only # Only count incomplete tasks
of tag stats # Usage statistics
of tag create "Name" # Create tag
of tag create "Child" --parent "Parent" # Nested tag
of tag view <name|path|id> # View details
of tag update <name> --name "New" # Rename
of tag update <name> --inactive # Deactivate
of tag delete <name> # Delete tag
of inbox list # List inbox items
of inbox count # Inbox count
of inbox add "Task name" # Add task to inbox
of perspective list # List all perspectives
of perspective view "Forecast" # View tasks in perspective
of folder list # List all folders
of folder list --dropped # Include dropped
of folder view "Work" # View folder details
of task stats # Task statistics
of project stats # Project statistics
of tag stats # Tag statistics
of search "query" # Search tasks
Run as an MCP server for AI agent integration:
of mcp
All commands output JSON. Use --compact for single-line output.
of task list | jq 'length' # Count tasks
of task list | jq '.[] | .name' # Task names
of task list --flagged | jq '.[] | {name, due}' # Specific fields
{
"id": "kXu3B-LZfFH",
"name": "Task name",
"completed": false,
"flagged": true,
"project": "Project Name",
"tags": ["tag1", "tag2"],
"due": "2024-01-15T00:00:00.000Z",
"defer": null,
"estimatedMinutes": 30,
"note": "Notes here",
"added": "2024-01-01T10:00:00.000Z",
"modified": "2024-01-10T15:30:00.000Z",
"completionDate": null
}
Permission denied: Grant automation permission in System Settings > Privacy & Security > Automation.
Task not found: Use exact name or ID. IDs appear in JSON output.
Date format: Use ISO format YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS.
git clone https://github.com/stephendolan/omnifocus-cli.git
cd omnifocus-cli
bun install
bun run dev # Watch mode
bun link # Link globally as `of`
MIT
FAQs
A command-line interface for OmniFocus on macOS
We found that @stephendolan/omnifocus-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.