Claude Code can keep producing output after you switch to another window. The question is simple: is it still working, is it waiting for a reply, or did the session go quiet for some unrelated reason? The answer is not available from one timestamp.

Start with local signals
Claude Code already writes JSONL session records on the machine. Agent Island reads recent activity from those local records and the matching Claude Desktop session metadata. The transcript is not sent to an Agent Island service, and no Agent Island account is required.
A monitor can use three kinds of evidence: a recent file write, the semantic event at the end of the transcript, and activity observed by the desktop session store. None is reliable alone. File modification time can include bookkeeping. A completion marker can be stale. Desktop activity can happen a few seconds after the assistant's final event.
Use a small state model
The current scanner keeps the model narrow: idle, working, your turn, stalled, authentication required, or rate limited. A fresh assistant event without a terminal stop reason remains working. A fresh terminal assistant turn can become your turn. Attention states are reserved for evidence that needs action instead of treating every pause as an error.
The timing rules are deliberately conservative. Very recent activity is working. A session previously observed working may become stalled after a longer quiet period, but only inside a bounded attention window. A completed turn also expires instead of remaining your turn forever. Once the evidence is old enough, the state returns to idle.
Freshness beats file modification time
Claude Desktop can update its own activity record shortly after an assistant finishes. Treating that write as a user reply would erase the your-turn state. Agent Island therefore gives the completion event a short bookkeeping grace period. Activity well after that grace is treated differently: it usually means the user returned, so the old completion should no longer trigger an alert.
The same rule prevents startup noise. A turn that finished before the monitor started is history, not a new event. It can be displayed as current context, but it should not interrupt the user as if it just happened.
Choose one useful status from many sessions
A developer may have several Claude sessions on disk. Archived sessions and subagent transcripts should not drive the main indicator by default. Duplicate records for the same session must also be collapsed. After filtering, the monitor chooses the most urgent current state for the provider rather than rendering every file it found.
What a status monitor cannot know
Local transcript activity can show that a run is moving or has ended a turn. It cannot prove the generated code is correct, that the task is complete in the product sense, or that a silent process is healthy. A stalled state is an attention hint, not a diagnosis.
Agent Island is a status companion for Claude Code and Codex on macOS and Windows. The shared released scope includes live session state and your-turn alerts. Platform-specific usage and reporting surfaces require separate verification and are not part of this monitor claim.
Agent Island v1.6.1 is the current stable release. The project is open source, so the scanner and state tests can be inspected alongside the binaries.
← All posts