Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>KushiNew to Visual Studio Code? Get it now.
Kushi

Kushi

Michele Pio Mischitelli

| (0) | Free
Connect to any personal Docker Registry (API V2) from VS Code: browse the image catalog, inspect tags, search and delete single tags or entire repositories.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Kushi 🍡

Connect to any personal Docker Registry (HTTP API V2) directly from VS Code: browse the image catalog, inspect tags, search and delete single tags or entire repositories.

Kushi (串) is the skewer your tags are threaded on — cute little dango included.

v1.0.0 — first official release.

Features

Activity bar view

A dedicated Kushi view in the activity bar (left sidebar) lists every registry you configure. From there you can:

  • Add / edit / remove registries — each entry stores a URL, an optional label and optional basic-auth credentials
  • Connect / disconnect with a single click (clicking a disconnected server connects to it)
  • The last connection is automatically restored when VS Code starts

Authentication

  • Basic auth and transparent Bearer token auth (WWW-Authenticate: Bearer): works with Docker Hub, GitHub Packages, GitLab-style registries and Harbor — challenge parsing, token exchange, per-scope caching and transparent retry are all handled for you
  • Docker CLI credentials reuse: credentials registered with docker login are looked up in ~/.docker/config.json and pre-filled when adding a registry
  • TLS opt-in per registry for self-signed or privately-signed certificates:
    • Verify TLS certificate (default) — system trust store
    • Trust a custom CA certificate — point Kushi at a PEM file (stored in SecretStorage); verification stays ON
    • Skip TLS verification (insecure) — explicit opt-out, and the tree marks those registries as "TLS unverified"

Catalog browsing

Once connected, the tree shows the image catalog of the registry. Clicking a repository expands its tag list — every tag, a dango on the skewer. Tag lists are fetched with full pagination support, so repositories with thousands of tags are never truncated.

Image details

Click a tag (or use its context menu) and the Details pane docked in the Kushi container shows:

  • Manifest digest, media type and size; Docker-Distribution-Api-Version of the registry
  • Platforms — for multi-arch indexes every platform is listed and the amd64 child is resolved
  • Config — entrypoint, cmd, env, ports, labels, created, author
  • Layers — expandable list with size and media type of each layer
  • Referrers (OCI 1.1) — signatures and SBOMs attached to the image (hidden when the registry does not implement the endpoint)
  • The ready-to-copy docker pull command, plus a Copy Value context-menu action on every value

An Open in Editor action opens the same details as a full editor tab.

Copy tags between registries

Right-click a tag → Copy Tag to Registry...: pick the destination registry and tag name, and Kushi transfers the image recursively — blobs (with dedup, skipping already-present ones), child manifests of multi-arch indexes and the root manifest. The copy keeps byte-identical digests.

Multi-select batch deletion

Ctrl/Cmd+click several tags (even across different registries) and delete them in one operation, with per-tag progress and a summary of any failures.

Search

The Kushi view ships with VS Code's native find/filter widget:

  • Click the magnifier icon in the view title (or focus the view and press Ctrl+F)
  • The native find bar opens on top of the tree; toggle the funnel inside it to switch from highlight to filter mode
  • Type to narrow repositories and tags live: both expose their name as filterText, so a query like my-app narrows the catalog and v2 narrows the tag lists of the expanded repositories

No dialogs involved — it is the very same search you get in the Explorer.

Tag and repository deletion

  • Right-click a tag → Delete Tag...: the extension resolves the manifest digest (HEAD /v2/<name>/manifests/<tag>) and issues DELETE /v2/<name>/manifests/<digest> after an explicit confirmation
  • Right-click a repository → Delete Repository...: deletes every tag of the repository (each with its own digest resolution), reporting per-tag failures if any

Note: the Registry V2 API only supports deletion by digest, and most registries ship with deletion disabled. For a standard registry:2 container set:

REGISTRY_STORAGE_DELETE_ENABLED=true

Security

Passwords and CA certificates are stored in VS Code SecretStorage (OS keychain / secret service) — never in plain-text settings or global state. The server list (URL, label, username, TLS opt-ins) is stored in the extension global state. TLS verification is always ON by default; any per-registry exception is opt-in and visible in the tree.

Commands

All commands live under the Kushi category:

Command Description
Kushi: Add Registry... Configure a new registry (URL, label, credentials, TLS mode)
Kushi: Edit Registry... Edit URL / label / credentials / TLS mode
Kushi: Remove Registry Remove a registry and its stored secrets
Kushi: Connect / Disconnect Open or close a session
Kushi: Refresh Re-fetch catalogs and tag lists
Kushi: Show Image Details... Inspect a tag in the Details pane
Kushi: Copy Tag to Registry... Copy a tag to another registry
Kushi: Open Details in Editor Full-page view of the last inspected tag
Kushi: Delete Tag... Delete one or more selected tags
Kushi: Delete Repository... Delete every tag of a repository

Filtering is built into the view itself: click the magnifier icon in the view title (or press Ctrl+F while the view has focus) and use VS Code's native find/filter widget — no dialogs involved.

Supported registries

Any implementation of the Docker Registry HTTP API V2, including:

  • registry:2 (Docker Distribution) — self-hosted, perfect for personal registries
  • Harbor, GitLab Container Registry, GitHub Packages (basic-auth endpoints permitting)
  • Any reverse-proxied registry (nginx, Traefik, Caddy) with basic authentication

Building from source

npm install
npm run compile     # bundle with esbuild into dist/
npm test            # unit tests (mock registry server)
npm run package     # build a .vsix with vsce

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft