Goals that worked

Wake Up to Finished Work

How OpenHelm turns your overnight hours into productive development time — without you lifting a finger.

O
OpenHelm Team· Engineering
··6 min read

There's a particular kind of satisfaction in opening your laptop in the morning and finding something finished that wasn't there the night before. Not just run — finished. Tests passing. PR opened. Deploy queued.

That's the experience OpenHelm is designed to create. Not automation for its own sake, but genuine leverage on the hours you're not working.

The Problem With "Just Run It in CI"

CI is great for things you already know how to do — compile, test, deploy on push. But what about the exploratory work? The refactors you keep putting off? The documentation you never quite get to?

Those tasks require judgment. They require the ability to read error output and try a different approach. They require, essentially, a developer.

Claude Code, Anthropic's agentic coding system, is that developer. It can open files, run commands, inspect output, reason about what went wrong, and try again. It can take a goal like "refactor the auth module to use the new session API" and produce a complete, working implementation — not just a code stub.

OpenHelm's role is to give Claude Code a schedule and a goal queue — so that work happens when you aren't watching.

A Real Example

Here's a job that ran last Tuesday night at 2:14am on a developer's Mac mini:

Prompt: Upgrade all npm packages with minor/patch updates, run tests, and open a PR if tests pass.

By 6am, there was a PR in GitHub. 47 packages updated. Full test suite green. PR description auto-generated with a summary of what changed. Total wall-clock time: 3 hours 41 minutes. Developer time: zero.

The developer reviewed and merged the PR over coffee. That's the loop OpenHelm is designed to create.

How Goals Differ From Scripts

A script knows exactly what to do. A goal knows what outcome you want.

When the npm upgrade script encounters a package that breaks the tests, a script fails. A goal-based system notices the failure, reads the error, looks up which package introduced it, downgrades just that one, and re-runs. Or it notes the breaking change and documents it in the PR body, suggesting manual review.

That's not magic — it's Claude Code working through a problem with context. OpenHelm just ensures that work starts overnight and ends before you wake up.

Setting Up an Overnight Job

Jobs in OpenHelm are defined with a prompt, a project directory, and a schedule. For overnight work, the calendar schedule type is the most natural choice — set it to run at, say, 2am daily.

Create a new goal, describe what you want in plain English, and let the AI planner generate the job structure. Or create the job manually if you know exactly what you want. Either way, once the job is saved and enabled, it fires automatically at the scheduled time.

One thing to keep in mind: OpenHelm runs jobs on your machine — your Mac needs to be on and awake when the job fires. For reliable overnight automation, either keep your machine awake (Mac mini and Mac Studio are perfect for this), or configure your MacBook's Energy Saver settings to prevent sleep when plugged in.

What Happens Overnight

When 2am arrives and your Mac is on, the OpenHelm scheduler picks up the queued job and launches Claude Code with your prompt in the project directory. Claude Code works through the task — reading files, running commands, iterating on failures — while you're asleep. When it finishes, a notification fires and the run is logged with full output.

You don't need to leave a terminal open. You don't need a separate server. Your Mac, plugged in on your desk, is doing real work.

The Right Work for the Right Hours

Not everything belongs in an overnight job. Code review, design decisions, pair programming — these benefit from real-time human presence. But a significant chunk of development work is mechanical enough, or exploratory enough, to delegate to an agentic system given the right goal.

The developers who get the most from OpenHelm treat it as an overnight collaborator: give it a meaningful goal before you leave for the day, and read the results over coffee.

Wake up to finished work. That's what OpenHelm is for.

More from the blog