Copilot Brain: See What Copilot
Is Actually Doing in VS Code

October 22, 2026  ·  VARØ Industries
← Back to Blog

Copilot in agent mode is a black box with a progress spinner. It picks a model without telling you which. It reads files, runs commands and calls other agents, and you see a tidy summary of maybe three of those steps. It spends tokens and premium requests, and the first time you find out how many is when the quota bar moves. When a turn takes four minutes, you have no way to know whether it's thinking hard or stuck in a loop.

Copilot keeps detailed records of all of it. It just doesn't show them to you.

Copilot Brain is a VS Code extension that puts those records in an Output channel, line by line, as the work happens.

▶ check whether the retention jobs config is wired up
  🛠 Auto → gpt-6-luna
    💭 The config lives in the solution scripts. Checking the deploy module first.
    🔧 view C:\Projects\CWE\solution\scripts\New-RetentionJobs.ps1
    🔧 Search for retentionconfigs|asyncoperations
    🔧 bash -lc "git log --oneline -5"
    🤖 Explore (gpt-5.3-codex) · 4 tools · 12,000 tok · 8.5s
11:31:11 ✓ gpt-6-luna | cli | in 64,000 (30,000 cached) out 1,234 (512 reasoning)
    ✔ session so far · 3 premium req · 2.09 AIC

That's one turn. The model Auto chose, its reasoning, every tool call as it completes, a subagent with its own model and token count, the tokens the request actually cost split into fresh and cached, and the running credit total for the session.

What Each Line Tells You

Which Model Answered
Auto mode picks for you and never says which. Copilot Brain prints the resolved model for every request, plus the routing decision itself.
Tokens, Split Properly
Input and output, with the cached share and the reasoning share called out separately — the difference between a cheap turn and an expensive one.
Context Fill
How full the window is, as a percentage of the model's limit, and what is filling it: system instructions, tool definitions, your messages, tool results.
Cost As It Accrues
Premium requests and AI credits for the session, updated as you work, rather than discovered at the end of the month.
Every Tool Step
Each file read, search and command as it finishes — including the ones the Chat panel collapses out of sight — marked when one fails.
The Thinking
The model's reasoning text, where the backend records it in readable form. This is the part the Chat panel reduces to the word “Thinking”.

There's a status bar item too: requests and tokens so far for the window, with a per-model breakdown on hover. Click it to open the channel.

The Part That Took the Longest to Find

Copilot doesn't offer an API for any of this, and VS Code deliberately prevents one extension from reading another's Output channel. So the extension reads what Copilot writes to disk. The surprise was that there isn't one place — there are three, and which one is live depends on which backend is behind your chat.

That third one is the one to know about. Newer VS Code chat panes — the ones with Agent / Auto / Intelligence along the bottom — don't run on the Copilot Chat extension at all. They run on the agent host, which is Copilot CLI underneath, and they write to none of the first two sources. Point a log reader at the Copilot Chat log during one of those sessions and it looks almost idle: a couple of small background calls to a mini model and nothing else, while a full agent run is plainly happening in front of you.

It's also the richest of the three. It's the only source that carries readable thinking text, the auto-routing decision, and subagent runs with their own model and token counts. Copilot Brain reads all three, so it keeps working whichever backend your chat happens to be using.

Unofficial, and honestly so. None of these formats are documented or promised by GitHub. A Copilot update can change one, and when it does, those lines stop appearing until the parser catches up. Because the three sources are read independently, a change to one doesn't take the others down with it.

Nothing Leaves Your Machine

Copilot Brain reads files Copilot has already written on your own disk and appends text to an Output channel. No account, no API key, no network call, nothing uploaded. It's about 400 lines of plain JavaScript with no dependencies and no build step.

Install

Download copilot-brain-*.vsix from the latest release, then:

code --install-extension copilot-brain-0.0.4.vsix

Or use the Extensions view → ... → Install from VSIX. Reload the window, use Copilot Chat, then open the Output panel and pick Copilot Brain from the dropdown.

Three settings control how much it prints: copilotBrain.showThinking, copilotBrain.showTools and copilotBrain.showBackground. All default to on. Turn off the last one to hide Copilot's own housekeeping requests — the small model calls that generate chat titles and todo lists — and keep only your turns.

The Rest of the Set

Copilot Brain is the fifth VS Code extension we've built for our own daily use. They're all free, MIT licensed, and installed from a VSIX rather than the marketplace.

Copilot HUD

Your Copilot quota as a status bar meter. Usage bars for premium requests, chat and completions, and a click-through dashboard with ring gauges, a burn-rate forecast that tells you whether you'll run out before the monthly reset, and warnings at 75% and 90%. It uses your existing VS Code GitHub sign-in, so there's nothing to configure. If Copilot Brain tells you what this request cost, Copilot HUD tells you how much of the month you have left.

VSCodeCoPilotHUD on GitHub

Copilot Auto Model

The smallest of the set, and the one that started this line of work: a single status bar item showing which model Auto actually used for your last chat turn. It deliberately ignores Copilot's background requests so the display stays on the model that answered you. No sign-in, no setup, about fifty lines of code. Copilot Brain grew out of asking what else was sitting unused in the same log file.

VSCodeAutoCopilotPlugin on GitHub

KnotDo for VS Code

Link a KnotDo list to a workspace and work your tasks without leaving the editor. Tick things off, set due dates and priority, and turn a TODO comment into a real task that jumps back to the line of code it came from. Shared lists can be scoped to a single project by title prefix.

VSCodeKnotDoPlugin on GitHub

NoteSmith for VS Code

Browse and edit your NoteSmith documents in the sidebar, as a normal editor tab. Useful for the notes that belong next to the code rather than in it — deploy runbooks, API keys' locations, the reasoning behind a decision you'll question in six months.

VSCodeNoteSmithPlugin on GitHub


Check out more free tools and apps at varo.industries/apps.

Frequently Asked Questions

How can I tell which model Copilot Auto mode actually used?
Copilot does not display it, but it does record it. Copilot Brain reads the resolved model for each request and prints it in an Output channel, including the routing decision Auto made. Copilot Auto Model does the same thing in a smaller way, showing just the last model in the status bar.
Can a VS Code extension read how many tokens Copilot used?
Not through any public API — there is none for this. But Copilot writes per-request usage to its own debug documents and session files on disk: prompt tokens, completion tokens, the cached and reasoning share, the context limit and the AI credit cost. Copilot Brain reads those files and prints the numbers as each request finishes.
Why does the Copilot Chat log look empty while my chat is clearly working?
Because newer VS Code chats can run on the agent host, which is backed by the Copilot CLI rather than the Copilot Chat extension. Those sessions never write to GitHub Copilot Chat.log. Their activity goes to ~/.copilot/session-state/<id>/events.jsonl instead, which is also the only one of the three sources that carries readable thinking text.
Can one VS Code extension read another extension's Output channel?
No. VS Code has no API for reading another extension's Output channel. The way around it is that VS Code also writes those channels to log files on disk, so an extension can follow the file instead of the channel.
Does Copilot Brain send my code or prompts anywhere?
No. It only reads files Copilot has already written on your own machine and appends lines to a VS Code Output channel. There is no account, no key and no network call.
Will Copilot Brain break when GitHub updates Copilot?
It can. None of the three file formats it reads are documented or promised, so an update can change one and those lines stop appearing. It reads all three independently, so a change to one does not stop the others.

Sources & References

  1. Copilot Brain
  2. Copilot HUD
  3. Copilot Auto Model
  4. KnotDo for VS Code
  5. NoteSmith for VS Code
  6. ClaudeTray: A Battery Meter for Your Claude Code Rate Limits — VARØ Industries Blog
  7. KnotDo: Task Management with List, Kanban, Gantt, Calendar & Timeline Views — VARØ Industries Blog
  8. NoteSmith: Collaborative Documents — VARØ Industries Blog