Run autonomous workflows 24/7 with Claude Code Routines
Set one recurring task to run on Anthropic's servers, with your laptop closed.
What you'll have when you're done
One recurring task (a Monday pipeline pull, a daily competitor scan, a weekly metrics digest) running automatically on a schedule you set. It executes on Anthropic's cloud infrastructure, not on your laptop. You close the lid Friday at 5 PM and Monday morning the report is in your Slack or your inbox. You did not touch it. You did not remember to run it. It ran.
Why this matters
Most of what burns a CEO's week is not the hard thinking. It's the recurring stuff that has to happen but does not require you specifically: the Monday pipeline review, the weekly competitor scan, the monthly billing reconciliation. Each one costs 30-90 minutes and a context switch.
A Routine is a workflow you build once and never touch again. The economics flip. The first one saves you an hour a week. The fifth one saves you a day. The compounding is real because the marginal cost of adding the sixth is twenty minutes of setup, not another hour every week forever.
What you need first
- A Mac, Windows, or Linux laptop. Any of the three works. Routines runs on Anthropic's servers, not yours.
- A paid Claude plan: Pro, Max, Team, or Enterprise. Routines is not available on the free tier. The cheapest path is Claude Pro at $20/month. Sign up at claude.ai.
- Claude Code on the web enabled. This is a setting in your Claude account. Routines is in research preview as of April 2026; if you don't see it, the feature flag may need to be enabled in account settings.
- 30 minutes for the first Routine. Subsequent ones take 10-15.
- One recurring task in mind. Pick the smallest one. We'll narrow this in Step 1.
- Any connector accounts the task needs. If your Routine reads from GitHub, you'll connect your GitHub account. If it posts to Slack, your Slack workspace. Have these handy: gather the logins now, not in the middle of Step 3.
Step-by-step
A Claude Code Routine has four parts you'll configure:
- Prompt / instructions. What the Routine does, in plain English.
- Repositories (optional). Any code or folders it should operate against.
- Connectors. Third-party services it can read from or post to (GitHub, Slack, Linear, etc.).
- Trigger. When it runs. Scheduled (cron-style), on a GitHub event, or via an API call.
You'll set up all four in the Routines UI. Total time: about 30 minutes for the first one.
Step 1Pick the task
Don't pick the most valuable recurring task. Pick the smallest one with a clear input and a clear output. The goal is to ship a working Routine this weekend, not architect the perfect one.
Good first candidates:
- Weekly competitor scan. Pull the last seven days of blog posts and pricing-page changes from three competitors. Summarize. Post to a Slack channel Monday at 7 AM.
- Daily SEO pulse. Check your top 10 ranking pages, flag any that dropped positions overnight, post the list in Slack.
- Monday pipeline summary. Read a GitHub Issues board or a Linear project, list every issue/ticket that moved last week, post the summary.
- Weekly customer-question digest. Read a Slack channel where customer messages land, group by theme, summarize the top three.
Write down, in one sentence, what your Routine does. Example:
"Every Monday at 7 AM Eastern, summarize blog posts published in the last 7 days from competitors A, B, and C, then post the list to my #intel Slack channel."
That sentence is your prompt. Save it.
Step 2Open Routines
You have three ways to access Routines. Pick whichever is easiest the first time.
Option A · On the web (recommended for your first one):
- Go to claude.ai/code/routines
- Sign in with your Anthropic account
- Click New Routine
The web UI walks you through each part of the configuration with form fields and explanations. Best for the first Routine when you don't yet know the conventions.
Option B · Inside Claude Code (CLI):
- Open Terminal
- Start a Claude Code session:
claude - Inside the session, type
/schedule
Claude Code walks you through the same configuration in the terminal. Best once you're comfortable; faster after the first time.
Option C · Claude Code desktop app:
If you've installed the Claude Code desktop app, there's a Routines tab in the sidebar. Same configuration, native UI.
For this article we'll use Option A (web). The steps are the same in all three.
Step 3Configure the Routine
The Routines UI has four sections. Fill them in this order.
Name and prompt. Give the Routine a short name (e.g.
weekly-competitor-scan). Paste your one-sentence prompt from Step 1, then expand it into specifics. Example:Every Monday at 7 AM Eastern: 1. Fetch the RSS feeds for these three competitors: - https://example-a.com/blog/feed - https://example-b.com/blog/feed - https://example-c.com/blog/feed 2. Find any posts published in the last 7 days. 3. Summarize each in 2 sentences. 4. Post the summary list as a single message to the #intel Slack channel in the Desk Theory workspace. 5. If there are zero new posts from all three, post "No new competitor posts this week."Be specific. Name the channel. Name the time zone. Tell it what to do if the result is empty (silent failures are how Routines quietly stop being useful).
Repositories (optional). If your Routine needs to read or write code in a repo, connect a GitHub repository here. For our competitor-scan example, you can skip this; it's a pure read+post workflow.
Connectors. This is where you authorize Routines to talk to third-party services. For the competitor-scan example, you'd connect Slack. Click Add Connector → Slack, sign in with your Slack workspace, and grant the scopes Anthropic asks for. Repeat for any other services your prompt mentions (GitHub, Linear, Google Drive, etc.).
Trigger. Choose when it runs:
- Scheduled. Pick a frequency (daily, weekly, monthly) and a time. For our example: weekly, Monday, 7:00 AM, US/Eastern.
- GitHub event. Runs when something happens in a connected repo (PR opened, issue closed, etc.). Useful for code-review or release-note Routines.
- API call. Runs when you (or another tool) hits a webhook URL. Useful when you want to trigger a Routine from an external system.
For your first Routine, use Scheduled. Pick a time at least 24 hours in the future so you have a clean test run.
Step 4Run it once before scheduling
Before you walk away, run the Routine once manually to verify it works. In the Routines UI there's a Run now button (or /schedule run in the CLI). Click it.
Wait 30-90 seconds. Watch the run log. Three things should happen:
- The Routine kicks off without errors.
- The connectors do what they're supposed to (Slack post arrives, GitHub comment lands, etc.).
- The output is what you expected: readable, the right format, the right channel.
If the manual run works, schedule it. If not, fix it now while you're watching.
Step 5Wait for the first scheduled run
You're done. Close your laptop. Go do something else.
When the trigger fires (Monday 7 AM Eastern, in our example), the Routine runs on Anthropic's servers. The Slack post lands. You read it over coffee. You did not lift a finger.
How you'll know it's working
Three checks, in order:
- The "Run now" test in Step 4 succeeded. You saw the output appear (Slack message, email, file) with sensible content.
- The Routine shows up in your Routines dashboard at claude.ai/code/routines as active and scheduled.
- The first scheduled run delivers. On the morning your trigger fires, you get the output without having opened your laptop. This is the real test. If it fails, the Routine logs (visible in the dashboard) will tell you why.
When it breaks
Routine ran but the message didn't arrive in Slack/email/wherever. Check the Routine logs in the dashboard. Most often: a connector lost authorization (Slack token expired, GitHub permissions changed). Re-authorize the connector and run again manually.
Routine failed silently and you didn't notice for a week. Add a heartbeat to the prompt: tell the Routine to post a short confirmation message even on empty results. Better: connect a separate "monitoring" Slack channel where every Routine posts its run status, so you can scan it Monday morning.
You hit your daily usage limit. Routines run on Anthropic's infrastructure and count against your plan's usage. A Routine that loops over 200 pages every day can burn meaningful tokens. If you hit limits, narrow the scope (top 20 pages, not top 200), reduce the frequency (weekly, not daily), or upgrade your plan.
Output drifts in quality over time. A summary that was great in May is bloated in July because the underlying content changed. Rerun the manual test every 60-90 days and compare. Tighten the prompt if needed.
Routines is not visible in your account. As of April 2026, Routines is in research preview. If you don't see it at claude.ai/code/routines, check that you're on a Pro, Max, Team, or Enterprise plan, and that "Claude Code on the web" is enabled in your account settings.
Where this fits in your harness
Routines are the automation layer of your harness: workflows that run without you. The memory layer (what Claude pulls from your notes; see the Claude memory workflow) and the skills layer (specific jobs you've taught Claude to do well) sit underneath. A skill becomes a Routine the moment it's reliable enough to run without you watching.
Start with one Routine. Add a second only after the first has run cleanly for two weeks. The CEOs who win this year aren't the ones with twenty Routines on day one. They're the ones with five Routines that have been running, untouched, for six months.
Get three workflows like this every Thursday
The Thursday 3 is a free weekly email. Three workflows that put you in the top 1% of CEOs. 90-second read. Every card links back to a step-by-step guide like this one.
Get the newsletter →The architecture behind this workflow.
A 270-page operator's manual for the harness Andrew runs Headphones.com and Lantern.is on. Memory, skills, connectors, and the 90-day roadmap.
Get the book · $99