outlookctl
Control Outlook from the Command Line
Can't access Exchange via Microsoft Graph API? No problem. Control Outlook directly through COM automation on your Windows workstation. Let Claude help manage your email and calendarβno API keys, no OAuth, just your existing Outlook session.
Local CLI bridge for Outlook Classic automation. Includes a Claude Code Skill for AI-assisted email and calendar management with safety-first workflows.
Windows Only
COM is a Windows technology
No API Keys
Uses your existing Outlook session
Local Only
No network calls to external services
AI Skills
Claude Code & OpenAI Codex integration
AGENT SKILLS
Agent Skills support in VS Code is currently in preview and only available in VS Code Insiders. Enable the chat.useAgentSkills setting to use Agent Skills.
HOW IT WORKS
outlookctl uses Windows COM automation to control the Outlook desktop client already running on your workstation:
- βΊNo API keys or OAuth β uses your existing logged-in Outlook session
- βΊEntirely local β no network calls to external services
- βΊSame tech as VBA macros β standard Windows COM interface
- βΊJSON output β deterministic, parseable responses for AI integration
Perfect for corporate environments where Graph API access is restricted.
SAFETY FIRST
Nothing leaves your outbox without explicit approval. All emails and meeting invitations go through a draft-review-confirm workflow.
Create Draft
outlookctl draft saves to Drafts folder
Review
Check recipients, content, and attachments
Confirm Send
--confirm-send YES required
All send operations logged to %LOCALAPPDATA%/outlookctl/audit.log
FEATURES
List, search, draft, and send emails. AI-assisted triage and response generation with safety-first workflows.
listsearchdraftsendView events, create meetings, respond to invites. Shared calendar support included.
calendar listcalendar createcalendar respondBuilt-in skill for AI-assisted workflows. Let Claude help triage your inbox and manage your schedule.
"Summarize unread""Draft reply""Schedule meeting"Draft-first workflow, explicit confirmations, audit logging. Nothing sends without your approval.
--confirm-send YESaudit.logQUICK START
- Built with
- Python 3.12+ / pywin32
- Automation
- Windows COM (Classic Outlook)
- Output
- Structured JSON
- Requirements
- Windows + Classic Outlook
- Dependencies
- pywin32 only
- License
- MIT (Open Source)
Developers and technical operators on Windows Devboxes who need to automate Outlook in environments where Microsoft Graph API access is restricted.
Perfect for corporate environments with strict security policiesβuses your existing authenticated session, no app registration needed.