Cowork is Claude Desktop's scheduled task feature. You define a task, set a schedule, and Claude runs it automatically -- without you initiating it each time. A morning briefing, a weekly pipeline report, a daily Slack summary: define it once and it runs on its own.
Available on paid plans
Cowork requires a Pro plan or above. It is not available on the free tier.
MCP servers required for external tool access
Cowork tasks that interact with external tools -- email, calendar, Slack, Google Drive, or any other connected service -- need MCP servers configured first. A task asking Claude to "check my calendar" will fail if no calendar MCP server is connected. See Connecting MCP Servers to Claude Desktop for setup instructions. Tasks that only read and write files on your local machine (such as the work log example below) do not need MCP servers.
What "scheduled" means here
Scheduling in Cowork is not like IT scheduling (cron jobs, server-side automation). It is closer to having a virtual assistant who checks in at a set time each day. You tell Claude what to do and when to do it; at that time, Claude opens a new conversation, runs the task, and puts the result wherever you told it to go -- a file, a Slack channel, an email draft.
The important implication: the task runs inside Claude Desktop, on your computer. If your computer is asleep at 8am, the task does not run at 8am. This is appropriate for most business workflows where you are working at your machine during scheduled windows. It is not appropriate for server-side automation that needs to run continuously regardless of whether you are at your desk.
Creating a scheduled task
Use the /schedule command in a conversation, or access Scheduled Tasks from the Claude Desktop sidebar. A task definition needs three things:
- What to do -- a clear description of the task, which tools Claude needs, and what output to produce
- When to run -- hourly, daily, weekly, weekdays only, or manual (on-demand)
- Where to put the result -- a file path, a Slack channel, an email draft, or another output destination via connected MCP servers
Schedule frequencies
- Manual -- runs when you trigger it explicitly; useful for tasks you want to kick off with one click rather than typing a full prompt
- Hourly -- every hour while the app is open
- Daily -- once per day at a specified time
- Weekdays -- Monday through Friday at a specified time
- Weekly -- once per week on a specified day and time
Practical examples
Morning briefing
Task: Every weekday at 8:00am
- Check Gmail for flagged unread messages
- Pull today's events from Google Calendar
- Check Notion board for any overdue items
- Write a summary to ~/Desktop/daily-brief.md
Weekly pipeline report
Task: Every Monday at 9:00am
- Query connected CRM for deals with no activity in 5+ days
- List deal names, values, and last contact dates
- Post summary to #sales-pipeline Slack channel
End-of-day log
Task: Every weekday at 5:30pm
- Read today's entries from ~/Documents/work-log.md
- Summarise completed items and open questions
- Append summary to ~/Documents/weekly-review.md
Client invoice chase
Task: Every Friday at 4:00pm
- Read ~/Documents/invoices/outstanding.md
- Identify any invoices more than 14 days overdue
- Draft a follow-up email for each and save to ~/Documents/drafts/
Social media content queue check
Task: Every Monday at 9:30am
- Read ~/Content/queue.md for this week's scheduled posts
- Check each post for completeness (title, copy, image note)
- Write a readiness report to ~/Content/weekly-check.md
Testing your task before relying on it
Before setting a task to run on a real schedule, test it manually first. In the Scheduled Tasks panel, every task has a "Run now" option regardless of its schedule. Run it once and check:
- Did it produce the expected output?
- Did it write to the right file or channel?
- If it uses an MCP server (calendar, Slack, etc.), did it actually connect and retrieve live data -- or did it just describe what it would do?
- Are there any error messages in the output?
A task that passes a manual test will almost always work on schedule. A task that looks plausible but has not been tested will often fail silently on its first scheduled run -- usually because a file path is wrong, an MCP server is not connected, or the instructions are ambiguous in a way that only becomes clear when Claude actually tries to execute them.
Critical limitation
Scheduled tasks only run while Claude Desktop is open and your computer is awake.
If the machine is sleeping when a task is due, it runs on the next wake. This is not server-side automation -- it is local, app-dependent scheduling. If you need tasks to run continuously on a server, without your machine being on, use the Anthropic API with a proper scheduling system (cron, cloud functions, etc.).
Skipped runs
When a run is skipped because the app was closed, Claude Desktop retries the task automatically when the app next opens -- it does not accumulate skipped runs. You receive one catch-up run, not multiple.
Managing tasks
View, pause, edit, and delete scheduled tasks from the Scheduled Tasks panel in the sidebar. You can also run any task manually on demand from this panel, regardless of its schedule.
