tutorial guide

Scheduled Tasks: How NanoClaw Makes Your AI Agent Proactive Instead of Reactive

NanoClaws.io

NanoClaws.io

@nanoclaws

February 26, 2026

8 min read

Scheduled Tasks: How NanoClaw Makes Your AI Agent Proactive Instead of Reactive

The fundamental limitation of most AI assistants is that they're reactive. They sit idle until you send a message, process your request, respond, and go back to sleep. They're sophisticated answering machines — capable, but passive. They never initiate. They never check on things. They never say "hey, I noticed something you should know about."

This is a strange limitation when you think about it. The most useful human assistants don't just answer questions — they proactively manage tasks, follow up on deadlines, monitor situations, and surface information before you ask for it. An assistant who only responds when spoken to is helpful; an assistant who anticipates needs is indispensable.

NanoClaw's scheduled task system bridges that gap. It's a cron-like scheduler built into the host process that spawns agent containers at specified times, with specified instructions, and delivers the results to specified WhatsApp groups. The agent doesn't wait for you to ask — it acts on a schedule you define, using the same tools and capabilities it has in normal conversation.

How Scheduled Tasks Work

The mechanics are simple. You tell your NanoClaw assistant, in natural language, what you want it to do and when. "Every morning at 8am, check Hacker News for articles about AI agents and send me a summary." "Every Friday at 5pm, remind me to submit my timesheet." "Check the price of flights to Tokyo every day and tell me if it drops below $800."

NanoClaw's host process parses the schedule, stores it in SQLite, and runs a timer loop that checks for due tasks. When a task is due, the host spawns a container — identical to the containers used for normal conversation — with the task instructions as the initial message. The agent runs, performs whatever actions the task requires (web browsing, file access, API calls), and sends the result back to the specified WhatsApp group.

The task runs in the same isolated container environment as any other agent interaction. It has the same tools, the same security boundaries, the same CLAUDE.md memory for context. The only difference is that the trigger is a timer rather than a user message.

Patterns That Actually Work

The scheduled task patterns that users find most valuable tend to fall into a few categories, and they're more interesting than simple reminders.

The first is monitoring. "Check this website every hour and tell me if anything changes." This is surprisingly powerful because the agent doesn't just check for changes — it understands them. A price monitoring task doesn't just report "the price changed from $899 to $749." It reports "the flight to Tokyo dropped 17% overnight — that's the lowest it's been in the three weeks I've been tracking it. Want me to keep watching or is this good enough to book?"

The second is digest generation. "Every morning, summarize the top stories from these three news sources that are relevant to my work in AI infrastructure." The agent browses the sites, reads the articles, filters for relevance based on what it knows about your interests (from CLAUDE.md memory), and delivers a personalized briefing. This replaces the 30 minutes you'd spend scrolling through news feeds with a 2-minute read that's already filtered for what matters to you.

The third is recurring administrative tasks. "Every Monday morning, check my project's GitHub issues and summarize what's new, what's stale, and what needs attention." The agent uses web browsing (or MCP if you have the GitHub MCP server configured) to pull the data, analyzes it, and delivers an actionable summary. It's the kind of task that takes a human 15 minutes of clicking through GitHub's UI but takes an agent 30 seconds of API calls.

The fourth is deadline management. "My tax filing deadline is April 15th. Starting March 1st, remind me weekly. Starting April 1st, remind me daily." The agent doesn't just send a reminder — it sends a contextual one. "Your tax deadline is in 8 days. Last time we talked about this, you mentioned you were still waiting for your W-2 from your freelance client. Did that arrive?"

The Architecture Behind It

The scheduled task system is deliberately simple — maybe 50 lines of code in NanoClaw's core. It stores tasks in a SQLite table with columns for the cron expression, the instruction text, the target group, and the last run time. A setInterval loop checks every minute for tasks that are due, and spawns containers for any that match.

This simplicity is intentional. The complexity of scheduled tasks isn't in the scheduling — it's in the execution. The hard part of "check Hacker News every morning" isn't running code at 8am. It's browsing a website, reading articles, evaluating relevance, and writing a coherent summary. That hard part is handled by Claude inside the container, using the same Agent SDK and tools that handle normal conversations.

The alternative — building a sophisticated task execution engine with retry logic, dependency management, and workflow graphs — would add thousands of lines of code to solve a problem that the AI itself handles better. Claude already knows how to retry a failed web request, how to handle a website that's temporarily down, and how to produce a useful result even when some data sources are unavailable. The scheduler just needs to trigger it at the right time.

Managing Tasks Through Conversation

Task management happens through the same WhatsApp interface as everything else. "Show me my scheduled tasks" lists them. "Cancel the flight price check" removes it. "Change the news digest to 7am instead of 8am" updates the schedule. "Pause all tasks until Monday" suspends them temporarily.

The conversational interface means you don't need to learn a task management UI or remember cron syntax. You describe what you want in natural language, and the agent translates it into a scheduled task. If the schedule is ambiguous — "remind me every few days" — the agent asks for clarification rather than guessing.

Tasks are scoped to WhatsApp groups, which means your work group's tasks don't appear in your family group, and vice versa. The admin channel (your direct message with the assistant) can see and manage all tasks across all groups, but group members only see tasks that belong to their group.

The Shift from Reactive to Proactive

The scheduled task system changes the relationship between you and your AI assistant in a way that's hard to appreciate until you've used it for a few weeks. The assistant stops being something you go to when you have a question and starts being something that comes to you when there's something worth knowing.

Your morning starts with a personalized news digest instead of a social media scroll. Your project stays on track because the assistant surfaces stale issues before they become problems. Your travel plans benefit from continuous price monitoring that would be tedious to do manually. Your deadlines are managed by something that remembers context and escalates appropriately.

The technical implementation is simple — a timer loop and a SQLite table. But the behavioral shift it enables is significant. A reactive assistant is a tool you use. A proactive assistant is a partner that works alongside you, handling the monitoring and maintenance tasks that are important but easy to forget. The difference between the two is fifty lines of scheduling code and an AI that's capable enough to do useful work without being told exactly how.

Stay in the Loop

Get updates on new releases, integrations, and NanoClaw development. No spam, unsubscribe anytime.