Long agent runs fail in a boring way: not with a dramatic crash, but by quietly waiting for the next human action. A Claude Code or Codex session can still be sitting in your terminal, but the useful state has changed from "working" to "your turn", "stalled", or "safe to reset and resume". If you are not watching the terminal, that state change is easy to miss.
I built Agent Island as a small macOS notch/menu-bar companion for that exact gap. It watches local Claude Code and Codex sessions, shows whether a run is still active or needs attention, and can optionally help resume after a reset window. The important part is that it is local-first and opt-in: it is not trying to bypass provider limits, hide automation, or blindly press continue forever.
The actual problem is session state, not speed
When I leave a longer coding agent run going, the terminal is technically still open, but that does not tell me whether useful work is still happening.
A run can pause because a command finished, the model needs a choice, a tool is waiting for confirmation, or a reset window changed what is safe to do next. "The process still exists" is not the same as "the agent is still making progress".
The terminal is the source of truth, but it is a poor ambient notification surface. If you are working in another window, walking away for coffee, or checking another task, the important transition can happen quietly.
The states that matter
The states I care about are simple:
- running: the agent is still producing output or executing useful work
- your turn: the session needs human input
- stalled: the run appears stuck or no longer progressing
- reset-ready: enough time has passed that resuming may be reasonable
Once I named those states, the UI became obvious: it should be glanceable, quiet, and close to the place I already look on a Mac.
Why this belongs on the Mac
For local coding agents, the relevant evidence is local: terminal sessions, transcript files, app state, and user intent. I did not want a cloud dashboard for this. I wanted a small local companion that can tell me what is happening without uploading prompts or workspace content.
That is why Agent Island lives in the macOS notch/menu-bar area instead of becoming another full dashboard. It is meant to be a status surface, not a new control plane.
Why auto-resume must be opt-in
Resume automation is useful, but it is not always safe.
Blindly continuing every run can waste quota, repeat a bad command, or push a task in the wrong direction. A reset window does not mean every session should continue automatically. The right default is visibility first, automation second.
So Agent Island treats auto-resume as something explicit. You can use it for sessions you trust, but the product is not a provider-limit bypass and it does not promise to save tokens.
What Agent Island does
Agent Island is a small open-source macOS companion for people running longer Claude Code and Codex workflows.
It currently focuses on:
- showing local Claude Code / Codex run state in the notch or menu bar
- surfacing running / your turn / stalled / reset-ready
- optional notifications when attention is needed
- optional resume help for selected long-running sessions
- staying local-first rather than becoming a cloud service
The launch video is here:
https://github.com/user-attachments/assets/d69b41e0-9298-4f17-b6c9-6014f3bd956b
What I learned building it
State detection is messier than checking whether a process is alive. Short pauses are normal. Transcript files can be large. A stale run and a slow run can look similar if you only sample one signal.
The biggest product lesson was that the best UX here is not a big dashboard. It is a quiet, trustworthy signal that tells you when to come back.
Source
The project is open source here:
https://github.com/tristan666666/agent-island
I would especially like feedback from people who leave Claude Code or Codex running on multi-hour local workflows. How do you currently tell whether a run is still working, waiting for you, or stalled?
Top comments (0)