Copilot,
in your notch.
GitHub Copilot CLI and VS Code agent notifications on your Mac
Gnista shows GitHub Copilot’s sessions in your MacBook’s notch, from Copilot CLI and from Copilot Chat’s agent in VS Code: what it’s doing, when it needs you and what it’s asking, and how many premium requests it’s used.
Gnista with Copilot, at a glance.
- Where it runs
- Copilot CLI in any terminal, and Copilot Chat’s agent in VS Code.
- Setup
- Gnista’s own file,
~/.copilot/hooks/gnista.json, which VS Code’s Copilot agent reads too. - Needs you
- Permission requests, worded by Gnista with the full command or file, and Copilot’s questions.
- Answer from the notch
- No: Copilot’s permission hook runs for every tool call, not only the ones Copilot asks about, so you answer in Copilot, one click away.
- Reply from the notch
- Typed into the session’s terminal: Terminal, iTerm, Ghostty, a tmux pane, or an editor’s terminal with Gnista’s extension.
- In the row
- The session’s title, your prompt, the reply, the tool it’s running, and a fatal error’s message when one ends the turn.
- Subagents
- Shown on the parent’s row, with the one at work, its step and how many are done, background ones included.
- Cost and limits
- Premium and chat requests left on your plan, tokens, and cost in dollars where the model has a list price.
What it’s asking, in full.
When Copilot asks to run a command or read a file, Gnista reads the request from Copilot’s own session events and words it: “Copilot CLI wants to run…”, with the whole command, not a shortened line.
CLI and VS Code, in one list.
Copilot CLI sessions and Copilot Chat’s agent in VS Code show side by side, labelled, so you know which window to go to. A VS Code chat shows as done after each request, and goes when VS Code quits.
Which model, at a glance.
Copilot runs models from several makers. The row shows Copilot’s icon with a small badge for the model, and the tooltip names both. For a model Gnista doesn’t know, describe your own.
Premium requests, counted.
Gnista reads Copilot’s own quota records, so your premium and chat requests sit under your sessions, with when they reset. Unlimited ones are left out. Copilot counts cost in premium requests, so dollars show only where the model has a list price.
What it can’t do with Copilot, and why.
- Answering from the notch: Copilot CLI’s permission hook runs for every tool call, before Copilot’s own rules, so Gnista can’t tell which calls Copilot would ask you about. VS Code’s Copilot agent has no such hook. You allow or deny in Copilot, and a click on the row takes you there.
- Gnista leaves Copilot’s pre-tool hook alone: that hook decides, and any hiccup in it would block the tool.
- Replies from the notch are typed into the session’s terminal, so they work only in Terminal, iTerm, Ghostty, a tmux pane, or an editor’s terminal with Gnista’s extension. Copilot has no other way in.
Connected in a minute.
- Open Gnista and tick Copilot (CLI and VS Code).
- Gnista writes a file of its own,
~/.copilot/hooks/gnista.json. No file of yours is touched, so there’s nothing to back up. - Start a session in Copilot CLI or in VS Code’s Copilot Chat. The first time, Copilot CLI asks whether to trust the folder; that question is Copilot’s.
Copilot, asked and answered.
Does it work with Copilot in VS Code?
Yes. Copilot Chat’s agent in VS Code reads the same hooks folder, so one setup covers both, and its sessions show labelled VS Code.
Can I approve Copilot from the notch?
No. Copilot CLI’s permission hook runs for every tool call, before Copilot’s own rules decide, so Gnista can’t tell which ones Copilot would ask you about, and holding it would hold every call. Gnista shows what Copilot is asking, with the full command, and a click takes you to the prompt.
Can I reply to Copilot from the notch?
Yes, in Terminal, iTerm, Ghostty, a tmux pane, or an editor’s terminal with Gnista’s extension: Gnista types your reply into the session’s terminal.
How do I remove it?
Settings ▸ Agents ▸ Copilot (CLI and VS Code) ▸ Disconnect deletes Gnista’s file, and nothing else.
Gnista also keeps an eye on
Claude Code
Codex
Gemini CLI
OpenCode
Devin
Qwen Code
Cursor
Mistral Vibe
CodeBuddy
Kimi Code
Codewhale
Droid
Antigravity
Qoder CLI
Kilo Code
MiMoCode
ZCode
WorkBuddy
Grok Build
Amp
Pi
Goose
Auggie
OpenHands
Trae
Aider
DeepSeek Harness
Wrote your own? It can report to Gnista with one line of JSON: custom agents.