I Used to Live in Cron for This Stuff
Every few months I'd end up with a crontab that looked like it was written by three different people across three different years. Reminders in one app, scheduled scripts in another, app launch rules buried somewhere in Login Items. Nothing talked to each other. Half of it quietly broke and I only found out when the thing I expected to happen... didn't.
The real problem isn't that cron is bad — it's that the friction of maintaining it means you only bother for the important stuff. The small daily automations ("remind me to review PRs at 9am", "open Spotify when I sit down", "run that cleanup script every Friday") never make it in because setting them up feels like overkill.
LacPointer's Task Scheduler is the fix for exactly that. It lives right inside the floating bar you already have open with Option+Space. No cron syntax, no extra apps, nothing to install separately.
What the Scheduler Actually Does
You can schedule three types of tasks:
- Reminders — plain text notifications that pop up at a set time
- App launches — open any app on your machine at a scheduled time
- System commands — run an arbitrary shell command on a schedule
And for each one, you pick a recurrence: once, daily, weekdays, weekly, or monthly. That covers 90% of what most people actually need.
The weekdays option alone is something I use constantly. I don't want a "stand up reminder" firing on Saturday morning. Every cron-based solution I've tried requires me to think about day-of-week syntax (1-5) and I always get it wrong the first time. Here it's just a dropdown.
How I Set One Up
Hit Option+Space to open LacPointer, then navigate to the Task Scheduler section. You can also just type what you want in natural language and it'll offer to create a task for you. Something like "remind me every weekday at 9am to review open pull requests" is enough — it reads the intent and fills in the fields.
For something more specific, like launching an app, you'd do it manually:
- Pick "App Launch" as the task type
- Choose the app from the list (it scans your installed apps automatically)
- Set the time and recurrence
- Save it
That's it. No file to edit. No restart required. The task is live immediately.
The System Commands Part Is Where It Gets Interesting
Reminders are convenient, but the system command scheduling is where I started replacing actual cron jobs. A few things I'm running this way right now:
- A weekly script that archives old screenshots from my Desktop into a dated folder
- A daily
git fetch --allacross my main project repos so they're always warm when I start work - A Friday afternoon command that zips up a specific folder and drops it in my backup drive
None of these are complicated commands. They're one-liners. But they're also the kind of thing I'd forget to do manually every single time without a reminder, and setting up a dedicated cron entry always felt like too much scaffolding for something so small.
Having them live in the same place as my reminders and app launches makes the whole thing feel like a coherent system rather than a bunch of disconnected hacks.
Works on Both Mac and Windows
LacPointer runs on macOS and Windows, and the Task Scheduler works on both. On macOS it hooks into the system's scheduling layer. On Windows 10/11 it does the same. You don't have to think about platform differences — the interface is identical.
This matters more than it sounds. I switch between machines depending on what I'm working on, and having the same task setup available on both without any syncing headache is genuinely useful. The tasks live in LacPointer's config, not in some OS-specific place that doesn't travel with you.
One Thing to Know About System Commands
When you schedule a shell command, it runs in a non-interactive shell. That means aliases you've defined in your .zshrc or .bashrc won't be available. Use full paths for anything that matters — so /usr/local/bin/python3 instead of just python3, for example. This trips people up the first time, but it's the same constraint you'd hit in cron anyway.
It's also worth testing your command manually first before scheduling it. If it doesn't work in a plain shell with no environment loaded, it won't work on a schedule either. I usually test with env -i bash -c "your command here" to simulate the minimal environment.
The Broader Point
The reason I keep coming back to LacPointer's scheduler instead of alternatives is that it's where I already am. I open that bar dozens of times a day. Having scheduling live there means I actually notice when a task is due for a review, actually add new ones when I think of them, and actually delete old ones that are no longer relevant.
Automation only works if you maintain it. The best place to maintain something is wherever your attention already is.
If you haven't looked at the Task Scheduler yet, go hit Option+Space, poke around the scheduler section, and set up one recurring reminder. Even just a daily nudge at a time that makes sense for your workflow. It takes about 30 seconds and you'll find yourself coming back to add more.
Download LacPointer at lacai.io/download if you're not running it yet — it's free to start.