Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Satellite AI AgentNew to Visual Studio Code? Get it now.
Satellite AI Agent

Satellite AI Agent

Hozana

|
2 installs
| (0) | Free
The Satellite coding agent, working on the folder you have open in VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Satellite AI Agent for VS Code

The Satellite coding agent, working on the folder you already have open.

This is a third host for the agent, not a second implementation of it. The loop, the tools, the planner, the skills, the checkpoints and the compaction all come from backend/src/agent, compiled into this extension at build time — the same modules the cloud server and the desktop app run. A fix to a tool in the backend is a fix here.

VS Code extension host (Node)
  └─ AgentSession implements RunHost          src/session.ts
       └─ driveAgent()                        backend/src/agent/loop.ts
            ├─ tools: read / write / edit / shell / search …
            ├─ skills, sub-agents, checkpoints, auto-verify
            └─ transport ─────────────────► POST /api/agent/inference

Sidebar webview  ⇄  postMessage  ⇄  AgentSession

What it does

  • Chat panel in the sidebar — streaming replies, tool cards, plans, clarifying questions, and diffs you can open in VS Code's own diff viewer.
  • Sees what you see. Every message carries the file you have open, the lines you have selected, and the errors your language server is currently reporting. That last one is the thing a bare folder cannot offer: the agent gets your real type errors without spending a tool call and half a minute running tsc to rediscover them.
  • Edits your workspace directly, with a checkpoint taken before the first change of every message — so "put the files back to how they were when I asked this" is always answerable.
  • Rewrite and re-run any earlier message, optionally reverting the files it produced.
  • Task history per folder, survives restarts, reopens where it stopped.
  • Drives a real browser. Ask it to check the page it just built and it starts your dev server, opens a Chrome window beside the editor and clicks through the page while you watch the cursor move — reading the DOM into numbered refs, reporting the console errors and failed requests each step caused, and handing the keyboard back to you for a login or a CAPTCHA. It is the same driver behaviour as the desktop app's Browser panel, over the DevTools protocol instead of an embedded view.

Commands

Command Default key
Satellite: Open Agent Panel Ctrl+Alt+S / Cmd+Alt+S
Satellite: Add Selection to Chat Ctrl+Alt+L / Cmd+Alt+L
Satellite: Explain This Code —
Satellite: Fix Problems in This File —
Satellite: New Task / Stop the Agent / Task History —
Satellite: Close the Agent Browser —
Satellite: Sign In / Sign Out / Open Dashboard —

Settings

Setting Default What it does
satellite.apiUrl https://api-satellite.isiri.rw The backend to sign in to. Change only for staging or self-hosted.
satellite.autoVerify true Run the project's own checker after edits and fix what it reports.
satellite.browser true Let the agent open and drive a real browser. Off means the browser tools are not offered at all.
satellite.browserPath (empty) Which Chromium to drive. Empty picks the first of Chrome, Edge, Chromium or Brave found.
satellite.includeDiagnostics true Send the active file's errors and warnings with each message.
satellite.includeSelection true Send the editor selection with each message.

Account and entitlement

Sign-in is email + password, then the six-digit code the backend mails. The session token is kept in VS Code's SecretStorage — Credential Manager on Windows, Keychain on macOS — never in a file.

Access is gated on the same plan.desktopApp entitlement as the desktop app, read from /api/agent/desktop-config. No backend or pricing change was needed to ship this, and no separate plan flag exists: an account that can run the desktop app can run this.

No model key ever reaches this machine. Inference is proxied through the backend, which authenticates the session, enforces the plan's quota and meters the real cost. The status bar mirrors the remaining credit and refuses locally when it is spent — but a local refusal is always re-checked against the server first, so nobody who has just topped up sits blocked by a stale cache.

Development

npm install
npm run build          # or: npm run watch

Then press F5 in VS Code to open an Extension Development Host with the extension loaded.

Verifying

npm run verify         # typecheck → build → activate → drive a real run → drive a real browser

Three checks, all worth knowing about:

  • verify:activate loads the built bundle against a stubbed vscode module and activates it. It catches the failures that are expensive to find by hand: a command declared in package.json that nothing registers, a view id mismatch, the agent core throwing at import time, and — deliberately — any network call made during activation while signed out.
  • verify:agent drives a real AgentSession against a real temp folder with the real loop and the real write_file tool. Only the model is scripted, by pointing the transport at a local server replaying fixed turns. It is what proves the RunHost wiring is correct end to end, which typechecking cannot.
  • verify:browser launches a real Chrome and drives it through the real driver against pages served over real HTTP: 67 assertions covering clicks that actually land, a form submitted with a real Enter, console and network capture, shadow roots and same-origin frames, a covered button that must be refused, and the browser being closed mid-session and relaunched. It asserts the same behaviours as the desktop app's suite, because the two drivers are meant to be indistinguishable to the agent. On a machine with no Chromium it skips rather than fails.

Deliberate limitations

  • The browser is a window, not a panel. A VS Code webview is a sandboxed iframe: the extension host cannot inject into it, read its DOM, or send it a trusted input event, so there is nothing in the editor to drive. The agent gets a Chrome of its own instead — launched on demand, in its own profile, driven over the DevTools protocol, with the same cursor and captions the desktop panel draws. On a machine with no Chromium at all, the browser tools are not offered to the model rather than offered and failing.
  • Reviews run on the writing model. The inference proxy will only ever honour a request for a cheaper tier than the plan's, never a dearer one, so a local review does not get the stronger reviewer a server-side run would. It is still a second reading in a fresh context, which is where most of its value is.
  • First workspace folder only. A multi-root workspace has no single right answer, so the first folder is used and a warning names which one — rather than silently writing into a repository you were not looking at.
  • Diffs show hunks, not whole files. A tool reports its patch, not the file, and by the time you click, the file on disk already is the "after" — so the before side is reconstructed from the patch and unchanged regions are elided.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft