Clockwork
The calendar where your AI agents show up for work
106 followers
The calendar where your AI agents show up for work
106 followers
Book AI coding agents on a real calendar. Clockwork runs them unattended in sandboxed git worktrees on your Mac, pauses for approval when something looks risky, and files a report with the actual dollar cost. Bring your own key or ride your existing subscription. Schedule recurring agent jobs on a real calendar, run them unattended in isolated sandboxes, and review honest reports.











Clockwork
Hello PH Folks👋 My Self Vimox Shah,
I built Clockwork because I was paying for Claude capacity that sat idle about 18 hours a day, while I re-typed the same repo chores every week by hand.
The idea is simple: if an agent can do the work, give it a workday. A slot on the calendar, a budget, permission rules, and a report when it's done.
Trusting something to run while I'm asleep meant the boring parts had to be
real:
• Runs execute inside a macOS Seatbelt sandbox, in a per-run git worktree. Writes are confined to that worktree.
• The run environment is an allowlist, so SSH_AUTH_SOCK and your provider tokens never reach the agent process.
• Risky steps pause and ask instead of failing silently or ploughing on.
• Hard budget caps in dollars, turn limits and wall-clock timeouts, enforced by the supervisor rather than the model's good intentions.
• You can check all of that rather than believe it - the sandbox, the credential
deny list and the env allowlist are Apache-2.0 in the repo, and the tests write a fake secret into `~/.ssh` and `~/.aws`, then run `cat` inside a real sandbox and assert it fails. The rest of the app is source-available under a proprietary licence, so please don't call it open source; I'd rather be precise than flattering.
Honest limits, up front:
• Runs need your Mac awake. It holds off idle sleep during booked windows when
plugged in, and tells you loudly when a miss happened instead of hiding it.
• It isn't notarised yet — an Apple certificate is $99/year and this is an
early build - so you clear the quarantine flag by hand. The install docs say exactly why.
• Apple silicon only, for now. It's free. There's no paid tier you can buy today. I'd genuinely like to hear what you'd want before trusting an agent with more of your week.
Congrats on your PH launch! Love the OSS spirit!
I am running a lot of agents and unfortunately I have to babysit them and I often go to bed late because I want to just make sure I get one more task going before I go to bed. Clockwork seems to fill this gap for me so I will definitely try it!
I am curious how Clockwork handles a recurring slot when the previous run is still waiting for approval: skip it, queue it, or start another isolated worktree?
Clockwork
@simon_liang_1 Thanks! That’s exactly the kind of babysitting Clockwork is meant to eliminate 😄
For recurring slots, Clockwork doesn’t start another run while the previous one is still waiting for approval. The next scheduled run is skipped rather than queued or creating another isolated worktree. The idea is to avoid piling up agent work that still needs human attention. Once the current run is approved/completed, the next scheduled slot can proceed normally.
Tadata
Are there / will there be webhooks too? Sometimes I want something scheduled every time there is a new release for example.
Clockwork
@tori_seidenstein Yes - webhooks are definitely on the roadmap. That kind of event-driven trigger is a natural fit for Clockwork: e.g. a new GitHub release could trigger an agent run automatically rather than relying on a fixed schedule. The goal is to support both time-based schedules and event-based triggers so you can kick off work when something actually happens.
interesting product! do u have any plans for when u'll open access to the paid plans?
Clockwork
@luca_ardito Thanks! 🙌 For now, the free version is available to download and try out. I'm still finalizing the paid plans, and we don’t have a firm launch date yet. I'll open access to them once the core experience is solid.
In the meantime, please give the free version a try and share your feedback. it’ll directly help us shape the paid offering.
Clockwork
Hello PH Folks, Clockwork's v0.12.1 is out today. Rather than repeat the pitch, here is what you can do now that you couldn't then.
Getting started is a drag and a click
The app carries the scheduler and its own Node runtime inside it. Download, drag to Applications, open. No checkout, no pnpm, no Node to install, no token to paste. It registers its own background service, so scheduled jobs survive quitting the app and rebooting.
Then press Run a sample job now. Clockwork points a read-only code reviewer at a repository it already knows about, caps it at 50 cents, starts it, and opens the live view. It cannot change anything - plan mode frozen into the job spec, a throwaway worktree, and a sandbox profile that mounts the repo read-only. Three structural reasons, not a dialog asking you to trust it.
Jobs you don't have to write
Five templates ship bookable: Monday dependency triage, a flaky-test sweep, a Friday docs-drift check, a morning repo-health digest, and a pre-release changelog draft. Pick a card, pick a repo, done. You can also export a task you already have as a template, through the same security preview an imported file gets.
A run can find you, and you can watch it
A menu-bar item, so a waiting approval is visible with the window shut.
Live logs. The tail streams while the agent works, and a tab opened mid-run catches up instead of starting blank.
Delivery now covers macOS notifications, Slack, email, Telegram and an HMAC-signed webhook. From Telegram, you approve or deny with an inline button; in group chats, only allow-listed Telegram user IDs can press it.
The morning after
Runs that finished overnight are summarised in the Inbox when you open the app. Each report ends with the next action as a button - check out the branch, read the diff, open a pull request, run it again - with the verdict inline.
And a report now says when your Mac slept, in words, with a duration. When nobody could know - off macOS, or a run recovered after a daemon restart - it declines to answer rather than claiming the machine stayed awake.
The calendar and the task list got serious
Schedules go down to the minute, multi-day rules work, and before you save, a panel shows the next few times the rule will actually fire.
A rule that would hang the scheduler is refused with the reason, instead of saving quietly and never running.
Every enabled recurring job is projected across the visible range as a dashed ghost, bounded per view so one per-minute job can't spend the whole budget.
The task list is grouped into Recurring, One-off, and Finished, with the last outcome, the next fire in words, and a cost trend.
Settings you can actually reach
History retention and an outbound webhook URL now have a screen. Ninety days of history on the free tier.
Intel Macs, and a way to hear about the next fix
Both architectures ship from now on - v0.12.1 publishes an arm64 and an x64 DMG with checksums.
There's also a manual Check for updates, from the tray and from Settings. A click, never a timer. All four outcomes are stated, and a failed check never reports "up to date". That closes the gap where a shipped fix had no way to reach someone who'd already installed.
Still worth saying plainly
The build is unsigned and unnotarized. There is no Apple Developer certificate for this project. macOS quarantines it on first open, and Gatekeeper's wording ("damaged") is misleading - the app isn't corrupted, just unverified:
Homebrew verifies the checksum but cannot skip quarantine.
Updates are manual. There is no automatic or signed update path.
Jobs run when your Mac is awake. For true overnight work, use a machine that stays on.
Container execution has daemon support and no screen yet. The capability list inside the app shows no tick for it rather than implying you can use it.
The approval hold and the policy floor are Claude-engine features. For Codex, OpenCode and Hermes the sandbox is the containment story.
macOS only for now. Linux and Windows aren't claimed and aren't shipped.
The repository is public and source-available. The sandbox profile, the credential deny-list, and the run-environment allowlist are Apache-2.0, along with the tests that prove them, so you can read what a run is permitted to touch instead of taking our word for it. The app's own test suite fails the build when the docs claim more than the code does - which is why this update reads the way it does.
GitWarren
In your personal workflow, does it happen you need to take a look into some code changes your agent made - maybe some uncommitted changes that you want to check - or the idea is that you just let it do things fully unattended?
Clockwork
Hi Product Hunt Folks 👋
I built Clockwork because my agents were only as useful as my attention. I'd kick off a dependency triage, get pulled into a meeting, and come back to a half-finished run. Agents don't need supervision - they need a shift.
Clockwork is a native macOS app that puts agent work on a calendar. You book a job the way you'd book a meeting: what to run, which repo, when, and how much it may spend. It runs while you're doing something else and files a report.
Everything is local. SQLite in your home folder, the daemon binds 127.0.0.1 only, no account, no telemetry, nothing leaves your machine unless you configure a delivery target yourself.
What's shipped since launch - 11 releases
Every run is contained. Its own git worktree on its own branch, so nothing touches your main branch. Every engine runs inside the macOS Seatbelt sandbox: writes go to the worktree, scratch and tool caches, and credential paths are unreadable. A fail-closed hook sees every Bash call and refuses force-pushes to protected branches and package publishing in every permission mode - a repo's own settings can't switch it off.
Approvals hold, and you can answer from your phone. When a run hits a gated tool call it pauses and waits for you, for the rest of its wall-clock budget, then fails safe. The Telegram message carries Approve/Deny buttons and goes through the same decision path the app uses, so the first answer wins either way. Group chats need an explicit allow-list.
Twelve workforce features, including: plan-then-execute (a booking becomes a plan run at a human hour and an execute run gated on approving it), shift-handoff (a recurring task carries memory across occurrences, so the agent stops starting cold), office hours (work that may need a human defers into windows you declared), sentinel workers (a cheap frequent check books the expensive run when it trips), earned autonomy (a rung is offered, never granted), and self-healing (repeated failures book a diagnostic run whose output is a proposal you apply - the agent never edits its own prompt).
Scheduling that says what it will do. Minute-level and multi-day recurrence, with a panel showing the next five runs before you book. A guard refuses rules that would never terminate, and says which one and why. Delivery where you already are. Slack, email and HMAC-signed webhooks. Import a .ics file or subscribe to a read-only calendar feed so your meetings sit beside agent work. Clockwork never writes to your personal calendar.
And in v0.11.0, today: the DMG now carries the daemon and its own Node runtime, so installing the app is the whole install - no clone, no pnpm, no Node version to match. First launch registers the background agent itself.
Download the latest App - https://github.com/vimoxshah/clockwork/releases/download/v0.11.0/Clockwork_0.11.0_aarch64.dmg