I’ve been using Claude code daily for a while now. I give it a task, it writes code, runs commands, edits files. It’s genuinely productive — I ship things faster than I used to.
But there’s a problem. These agents run commands on your machine. Real commands, with real consequences. rm, git push, curl to production endpoints. To mitigate that, the agent proposes an action, you approve it, and it executes. The trouble starts when you step away.
I’ll kick off a task, go make coffee, and come back to find the agent has been blocked for ten minutes waiting for me to approve npm test. Or worse, I approve something too quickly because I’ve been approving harmless things for the past twenty minutes and my attention has drifted. The approval interface is a terminal prompt. It demands your full, continuous attention, and doesn’t help you much in distinguishing dangerous commands from harmless ones.
The two failure modes
The first is wasted time. The agent is idle while you’re not at your desk. This is the benign one — you just lose the productivity gains you were promised.
The second is rubber-stamping. You’ve been approving actions for a while. Most are fine. Your vigilance decays. Then the agent proposes something that deserved a closer look, and you approve it on autopilot. Anyone who has done code review knows the feeling — page four of a large diff gets less scrutiny than page one.
These aren’t hypothetical. I’ve approved a git push I didn’t intend to. I’ve let Claude waste a bajillion tokens on effort I knew was misguided. I’ve come back to a terminal that’s been waiting on me for half an hour. These experiences aren’t catastrophic on its own, but they compound. You either babysit the agent and lose the leverage, or you trust it and accept the risk.
What I actually wanted
What I wanted was to be away from my desk and still in the loop. A push notification on my phone when the agent needs approval. Enough context to make a real decision — the command, the diff, the project. And a way to manage rules over time, so my agents don’t get out of control.
I built it. It’s called Greenlight, and it’s an iOS app that acts as a remote approval layer for AI coding agents. The agent proposes an action, your phone buzzes, you see what it wants to do, and you tap approve or deny. It works with Claude Code and Windsurf today.
The part that turned out to be most interesting wasn’t the remote approval — that’s straightforward plumbing. It was the rules. Which commands do you always allow? Which do you always want to review? The taxonomy of “things I trust an agent to do unsupervised” versus “things I want to check” is surprisingly non-obvious, and it changes over time as you develop a working relationship with the agent.
Tags: ai agents claude-code greenlight windsurf