Skip to content

Session Monitoring

Copilot Island's core feature is real-time monitoring of your GitHub Copilot CLI sessions.

How Sessions Are Detected

Copilot Island watches ~/.copilot/session-state/ using macOS FSEvents — the same low-latency file system notification API used by Xcode and Spotlight. When Copilot CLI creates a new session directory, Copilot Island detects it within milliseconds.

~/.copilot/session-state/
└── {UUID}/                    ← new directory triggers detection
    ├── workspace.yaml         ← session metadata
    └── events.jsonl           ← event stream (appended in real-time)

No hooks, no plugins, no CLI modification required.

Session Cards

Each session is displayed as a card in the notch panel showing:

FieldDescription
🟢 Status dotGreen = active, Grey = ended
Project pathThe cwd from workspace.yaml
Git branchCurrent branch (if in a git repo)
Session summaryAuto-generated summary from Copilot CLI
Elapsed timeTime since session started

Event Stream

Inside each session, Copilot Island tails events.jsonl and processes these event types:

Event TypeWhat it means
session.startA new Copilot CLI session has begun
user.messageYou sent a message to Copilot
assistant.turn_startCopilot started thinking/responding
assistant.messageCopilot produced a response
tool.execution_startCopilot is about to run a tool
tool.execution_completeTool finished (success or error)
assistant.turn_endCopilot completed its response turn
abortSession was aborted by the user
session.shutdownCopilot CLI process exited

Multiple Sessions

Copilot Island tracks all concurrent sessions. If you have multiple terminal windows running copilot, each session appears as a separate card. Sessions are sorted by most recently active.

Session Retention

Ended sessions remain visible for the current app launch. Sessions are not persisted across app restarts (to keep the app lightweight and respect your privacy).

Privacy

Copilot Island reads session data locally from your Mac. Nothing is uploaded or shared. The GitHub Models API chat feature is the only network feature, and it's entirely opt-in.

Released under the Apache 2.0 License.