# Vscode

> Run the VS Code Server for a workspace directory and open the Workbench in the Console; use it when a person needs a full editor next to the chat, not when the agent itself needs to read or edit files.

- Skill: `iii-hq/vscode` (Agent Skill)
- Install (CLI): `npx skillmds@latest add iii-hq/vscode`
- Raw SKILL.md: https://api.skillmd.com/api/skills/iii-hq/vscode/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: iii-hq (https://skillmd.com/u/iii-hq)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/iii-hq/vscode

---


# vscode

The vscode worker runs the VS Code Server through the `code` CLI, one loopback
process per workspace directory with its own isolated profile, and ships a
Console page that embeds the Workbench for the chat's working directory. It
gives people the editor they already use, with their extensions, settings sync,
and terminals, inside the Console beside the conversation. Requires the VS Code
CLI on the host; the first start of a workspace downloads the matching server
build.

The worker owns process lifecycle only. It does not read, write, or search
files on the agent's behalf and it never exposes the server beyond loopback.

## When to Use

- A person asks to open the working directory, a repository, or a folder in
  VS Code, or wants an editor beside the chat.
- A person wants to inspect a change in a real editor before continuing the
  conversation, and `vscode::start` for that folder returns a running server
  the Console page then shows.
- A workspace's server should be reused, listed, stopped, or its profile
  removed after work is done.

## Boundaries

- Not a file API. For reading, searching, or editing files use `shell` or
  `coder::*`; for a shared buffer the agent and person both see, use `editor`.
- Not remote access. The server binds only to loopback and refuses any other
  `bind_host`; a remote or multi-user Console needs its own authenticated
  proxy first.
- Starting a server exposes the host filesystem to the local browser, so
  `vscode::start` is allowed by default while `vscode::stop` and
  `vscode::delete` stay approval-gated.
- The Workbench itself is VS Code Web; the worker adds no editor features of
  its own.

## Functions

- `vscode::start` — start a server for an absolute `workspace` directory, or return the running one; the id defaults to a stable hash of the path.
- `vscode::instances::list` — every server the worker owns with host, port, pid, status, and exit code.
- `vscode::stop` — stop a server's process group by id.
- `vscode::delete` — stop a server, forget it, and optionally remove its data directory with `delete_profile`.

The Console page calls `vscode::start` for the chat's working directory and
opens `http://<host>:<port>/` in a frame; another worker can open a specific
folder with `panels.open({ pageId: 'vscode', context: { workspace } })`.
Configuration (CLI path, data directory, bind host, port range, timeouts) is
managed by the `configuration` worker under the id `vscode`.

