A powerful OmniFocus integration for Claude Desktop that enables advanced task management using GTD (Getting Things Done) methodology. This enhanced version addresses previous limitations with comprehensive new features.
Single Task Creation Only→ Batch Operations: Create multiple tasks with subtasks in one commandNo Search History→ Advanced Search: Search across all projects, contexts, and notesNo Task Editing→ Full Edit Capabilities: Modify any task property including defer datesNo Repeat Fields→ Recurring Tasks: Create tasks with daily, weekly, monthly, or custom repeat patterns- Enhanced Project Management: List projects with statistics, move tasks between projects
- Comprehensive Views: Deferred tasks, flagged items, overdue tasks, and more
Search across your entire OmniFocus database:
"Search for tasks containing 'budget'"
"Find all available tasks with 'meeting'"
"Search remaining tasks for 'review'"
Modify any property of existing tasks:
"Change the due date of 'Review proposal' to next Friday"
"Add a note to 'Call client' saying 'Discuss contract terms'"
"Flag the task 'Prepare presentation'"
"Move 'Write report' to the Work project"
"Set defer date for 'Start research' to Monday"
Create multiple tasks with subtasks in one command:
"Create tasks: Research options|-Compare prices|-Make decision|Follow up with team"
"Add tasks to Project X: Phase 1|-Design|-Implementation|Phase 2|-Testing|-Deployment"
Note: Use |
to separate tasks and -
prefix for subtasks
Set up tasks with repeat patterns:
"Create a daily recurring task 'Review inbox'"
"Add weekly recurring 'Team meeting' every Monday"
"Create monthly task 'Pay bills' due on the 1st"
"Set up task 'Quarterly review' repeating every 3 months"
- List Projects: View all active projects with task counts
- Deferred Tasks: See tasks that aren't available yet
- Flagged Tasks: Quick access to all flagged items
- Overdue Tasks: Track tasks past their due date
- Add Tasks: Create tasks with notes, projects, due dates, defer dates, and flags
- Inbox Management: View and process tasks in your OmniFocus inbox
- Today's Tasks: See all tasks due today at a glance
- Complete Tasks: Mark tasks as complete by name
- Weekly Review: Get a comprehensive summary for your GTD weekly review
- macOS 10.15 (Catalina) or later
- OmniFocus 3 or later
- Claude Desktop app
- Node.js 14+ (for development only)
- Download the latest
omnifocus-gtd-enhanced.dxt
from the Releases page - Open Claude Desktop
- Navigate to Extensions settings
- Drag and drop the
.dxt
file onto the Claude Desktop window - The extension will be installed and available immediately
# Clone the repository
git clone https://github.com/yourusername/omnifocus-claude-extension.git
cd omnifocus-claude-extension
# Install dependencies
npm install
# Build the enhanced extension
npm run build:enhanced
# The extension will be created at dist/omnifocus-gtd-enhanced.dxt
"Add task 'Review Q3 reports' due Friday to Work project, defer until Wednesday"
"Search for all tasks about 'budget'"
"Edit 'Team meeting' to be due tomorrow at 2pm"
"Complete the task about reviewing reports"
"Create project plan: Research phase|-Literature review|-Market analysis|Development|-Prototype|-Testing|Launch"
"Create weekly recurring task 'Process inbox' due every Sunday"
"Add monthly recurring 'Review finances' on the 15th"
"Show me my flagged tasks"
"List all overdue tasks"
"What tasks are deferred?"
"Show all projects with task counts"
"Give me a weekly review"
Command | Description | Example |
---|---|---|
add_task |
Add a task with full properties | "Add task to buy milk due tomorrow, defer until morning" |
search_tasks |
Search across all tasks | "Search for budget tasks" |
edit_task |
Modify existing task | "Change due date of 'Report' to Friday" |
batch_add_tasks |
Create multiple tasks | "Add tasks: Task1|Task2|-Subtask" |
create_recurring_task |
Set up repeating task | "Create daily task 'Review email'" |
list_inbox |
Show inbox tasks | "Show my inbox" |
today_tasks |
List due today | "What's due today?" |
list_projects |
Show all projects | "List projects with counts" |
list_deferred_tasks |
Show deferred items | "What tasks are deferred?" |
list_flagged_tasks |
Show flagged items | "Show flagged tasks" |
list_overdue_tasks |
Show overdue items | "What's overdue?" |
complete_task |
Mark as complete | "Complete budget review" |
weekly_review |
GTD weekly review | "Show weekly review" |
omnifocus-claude-extension/
├── src/
│ ├── server/
│ │ ├── index.js # Original MCP server
│ │ └── index-enhanced.js # Enhanced server with new features
│ ├── scripts/
│ │ ├── enhanced/ # New AppleScript implementations
│ │ │ ├── search_tasks.applescript
│ │ │ ├── edit_task.applescript
│ │ │ ├── batch_add_tasks.applescript
│ │ │ └── create_recurring_task.applescript
│ │ └── ... # Original scripts
│ └── manifest.json # Extension manifest
├── dist/
│ └── omnifocus-gtd-enhanced.dxt # Built extension
└── build-dxt-enhanced.js # Enhanced build script
# Build the enhanced DXT extension
npm run build:enhanced
# Build legacy version
npm run build:legacy
# Clean and rebuild
npm run rebuild
# Run tests
npm test
# Validate the built extension
npm run validate
- Create AppleScript in
src/scripts/enhanced/
- Add tool definition to
src/server/index-enhanced.js
- Update the manifest if needed
- Rebuild the extension
- Test thoroughly with different OmniFocus configurations
The enhanced extension uses an improved Model Context Protocol (MCP) server that:
- Receives commands from Claude Desktop via JSON-RPC
- Routes to appropriate AppleScript (enhanced or original)
- Executes AppleScript with proper parameter handling
- Manages complex operations like batch creation and searches
- Returns formatted, actionable results to Claude
- Modular Script System: Separate enhanced scripts for maintainability
- Parameter Validation: Robust input handling and error messages
- Batch Processing: Efficient handling of multiple operations
- Advanced Date Parsing: Natural language date interpretation
- State Management: Better handling of task relationships
- Check Claude Desktop logs:
~/Library/Logs/Claude/
- Ensure OmniFocus is installed and running
- Verify macOS permissions for automation
- Try reinstalling the extension
- Ensure OmniFocus default document is open
- Check that you're not in a filtered view
- Verify AppleScript automation is enabled:
- System Preferences → Security & Privacy → Privacy → Automation
- Ensure Claude Desktop can control OmniFocus
Issue | Solution |
---|---|
"Script Error" | Enable automation permissions for Claude Desktop |
"OmniFocus not found" | Ensure OmniFocus is in /Applications |
"No tasks found" | Check search terms and task availability |
"Multiple matches" | Be more specific in task names |
"Cannot create recurring" | Ensure OmniFocus Pro features are available |
This extension:
- ✅ Only reads and writes to OmniFocus via AppleScript
- ✅ Does not store or transmit personal data
- ✅ Runs entirely locally on your machine
- ✅ Requires explicit user permission for automation
- ✅ Open source for full transparency
MIT License - see LICENSE file for details
Contributions are welcome! Please read CONTRIBUTING.md for details.
-
Semantic Commits: Use conventional commit messages
feat:
New featuresfix:
Bug fixesdocs:
Documentation updatesrefactor:
Code refactoringtest:
Test additions/changes
-
AppleScript Best Practices:
- Properly escape special characters
- Handle missing values gracefully
- Provide meaningful error messages
- Test with different OmniFocus configurations
-
Testing Checklist:
- Test with empty OmniFocus database
- Test with large database (1000+ tasks)
- Test with various project structures
- Test error handling and edge cases
- ✨ Added task search across all projects
- ✨ Added task editing capabilities
- ✨ Added batch task creation with subtasks
- ✨ Added recurring task support
- ✨ Added defer date support
- ✨ Added project listing with statistics
- ✨ Added deferred, flagged, and overdue task views
- 🔧 Improved error handling and messages
- 🔧 Enhanced date parsing
- 📝 Comprehensive documentation
- Initial release with basic functionality
- Tag management and filtering
- Custom perspective support
- Context/tag-based task creation
- Task templates
- Quick entry with global hotkeys
- Two-way sync capabilities
- Advanced filtering and smart searches
- Integration with other GTD tools
- Natural language processing improvements
- Workflow automation
- OmniFocus by The Omni Group
- Claude Desktop by Anthropic
- GTD methodology by David Allen
- Community contributors and testers
For issues, questions, or feature requests:
- 🐛 Open an issue on GitHub
- 📚 Check the Wiki for detailed guides
- 💬 Join our Discord community
- 📧 Email: support@example.com
Made with ❤️ for the GTD community