AgentOne can now do things on its own schedule.
AgentOne 1.1 introduces Scheduled Agents: tell AgentOne what you want done regularly, and it will run that task for you every day, every week, every weekday at 9am, or on whatever schedule makes sense. When it's time, AgentOne opens, starts a new chat, and gets to work.
This is the biggest feature since 1.0, and it's one I've wanted for a long time.
Why Scheduled Agents
Up until now, AgentOne only worked when you asked it to. That's fine for a lot of things, but plenty of useful work is repetitive. You want the same kind of answer, at the same time, over and over:
- A morning briefing with the news, weather, and your calendar for the day
- A weekly check-in on a project, a GitHub repo, or a competitor's pricing page
- A daily digest of your inbox, Slack, or any other app you've connected with an extension
- A reminder that actually does the work, like "every Friday, summarize what I shipped this week"
You could already do all of this in AgentOne. You just had to remember to ask every time. Scheduled Agents take that part off your plate.
How It Works
Open Scheduled Agents from the sidebar and click New. You get two options:
- Ask AgentOne to create it. This opens a new chat where AgentOne asks a few questions about what you need, then sets up the schedule and prompt for you. This is the easiest way, and the one I'd recommend.
- Enter it manually. Give it a title, a cron schedule, and a prompt. If you already know cron, this is the fastest way.
You don't have to go to the Scheduled Agents page at all, actually. You can just say "every morning at 7, give me a summary of the top stories on Hacker News" in any chat, and AgentOne will create the scheduled agent for you. It can also list, edit, pause, and delete your scheduled agents from chat. Creating, editing, and deleting always ask for your approval first, so AgentOne will never quietly change your schedules behind your back.
Schedules are shown in plain language ("At 07:00 AM, Monday through Friday" instead of 0 7 * * 1-5), and you can hover over any schedule to see exactly when it will run next. Each scheduled agent also has a switch to pause and resume it, so you don't have to delete something just because you're going on vacation.
When a run happens, it gets its own chat, marked with a little scheduled agent icon in the sidebar. You can open it, read the result, ask follow-up questions, or keep going from there like any other chat. If you delete a scheduled agent later, the chats it created stay around.
Under the Hood
This is the part I'm most happy with.
The obvious way to build scheduled tasks would be to keep AgentOne running in the background with a timer that checks every minute whether something is due. I didn't want to do that. It means AgentOne has to stay open all the time, it wastes resources, and it falls apart as soon as you quit the app or restart your computer.
Instead, AgentOne uses your operating system's own scheduler. Every OS already has a reliable, battle-tested way to run things on a schedule, so AgentOne just registers each scheduled agent with it:
- macOS: a per-user launchd agent
- Linux: a systemd user timer
- Windows: a Task Scheduler task
When a run is due, the OS opens a deep link (agent-one://cron?...) that launches AgentOne, or focuses it if it's already open. AgentOne looks up the scheduled agent, makes sure it still exists and is enabled, and starts a new chat with its prompt. That's it. No background process, no daemon, nothing running when it doesn't need to be.
There's a nice side effect of this too: since the OS is in charge of timing, it also handles the annoying edge cases. If your laptop was asleep or off when a run was due, it'll run once you're back. If you missed several runs, they're coalesced into a single catch-up run instead of a pile of duplicate chats. Schedules follow your computer's local time zone, including daylight saving time.
Getting this right across three operating systems turned out to be a lot of work (Windows really did not want to show the app it was launching), so I pulled it out into its own Rust crate: native-cron. It's open source, so if you're building a desktop app that needs native scheduled tasks, feel free to use it.
Private by Default
Scheduled Agents run entirely on your device. There's no cloud scheduler, and your prompts and schedules are stored locally on your computer. A scheduled run is just a normal AgentOne chat that started by itself, so it uses the same default model, tools, extensions, and settings you already have.
That also means it follows your Tool Behavior setting. If a scheduled agent tries to use a tool that needs approval, the run pauses and you get an "Approval Required" notification. AgentOne won't do anything unattended that you haven't already allowed it to do.
Speaking of notifications, those got better in 1.1 too. They can now include a preview of AgentOne's answer, so you can glance at your morning briefing without even opening the app.
Everything Else in 1.1
Scheduled Agents are the headline, but 1.1 has a lot more:
- Talk to AgentOne while it's working. You can interrupt a response with a new message instead of waiting for it to finish, and the Stop button now stops immediately.
- A new Browse Extensions page with over 36,000 extensions, linked right from the sidebar.
- A dedicated Tools section in settings, so you can turn individual built-in tools on and off.
- Better notifications for answer previews, tool approvals, and errors, plus GNOME support on Linux.
- A smoother composer that uses the floating layout by default and remembers unsent drafts for each chat.
- Sidebar improvements, including optional grouping by time period and better message previews.
- Usage analytics have been removed from the app entirely.
- Lots of bug fixes and performance improvements, especially for chat rendering and scrolling.
The 1.1.1 patch also makes the app smaller by downloading the extension list separately (and refreshing it every 24 hours), adds new sidebar sort options, and moves provider configuration into dialogs.
What's Next
Scheduled Agents are only the first version. There's room for things like choosing a specific model for each scheduled agent and better ways to review what your scheduled agents have been up to. If you have ideas, I'd love to hear them on Discord or the forum.
AgentOne 1.1 is out now. If you already have AgentOne, it should update automatically. If not, you can download it for free.
Go set up a morning briefing. You'll like it. ⏰
Top comments (1)
Official Platform Update
Security protocols have been updated for all developer accounts.
Some comments have been hidden by the post's author - find out more