Topaz - VS Code Extension

Explore and manage emulated Azure resources using Topaz directly from VS Code.
Important: This version of the extension requires Topaz 1.9 (currently available as the nightly build: thecloudtheory/topaz-host:nightly). It is not compatible with earlier releases.
What is Topaz?
Topaz is a single-binary Azure emulator. Instead of running Azurite for Storage, a separate emulator for Service Bus, and another for Key Vault — you run one tool. It supports both the control and data planes of Azure services, emulates ARM deployments with Bicep and ARM Templates, and implements Azure RBAC, all locally with no Azure subscription required.
This extension lets you browse and manage Topaz resources (resource groups, storage accounts, Service Bus namespaces, and more) directly from the VS Code sidebar — without leaving your editor. You can also manage the emulator itself: monitor its health, version, and running mode, and create Azure resource hierarchy objects such as management groups, subscriptions, and resource groups directly from the sidebar.
Prerequisites
Topaz must be running in the background before using this extension. Start it using one of the following methods:
# macOS
brew tap thecloudtheory/topaz && brew install topaz && topaz-host
# Linux
curl -fsSL https://raw.githubusercontent.com/TheCloudTheory/Topaz/main/install/get-topaz.sh | bash
# Docker (latest stable release)
docker run -p 8899:8899 thecloudtheory/topaz-host
# Docker (nightly — built daily from main)
docker run -p 8899:8899 thecloudtheory/topaz-host:nightly
By default, the extension connects to https://topaz.local.dev:8899. You can change this in VS Code settings under Topaz > Base URL.
Settings
| Setting |
Default |
Description |
topaz.baseUrl |
https://topaz.local.dev:8899 |
Base URL of the running Topaz instance |
topaz.logSource |
none |
Where to stream Topaz logs from: none, file, or docker |
topaz.logFile |
(empty) |
Absolute path to topaz.log (used when logSource is file) |
topaz.containerName |
topaz.local.dev |
Docker container name to stream logs from (used when logSource is docker) |
topaz.dockerImage |
thecloudtheory/topaz-host:latest |
Docker image used when starting Topaz via the Start Topaz (Docker) button. Use thecloudtheory/topaz-host:nightly for the nightly build or a local image name. |
Log streaming
To stream logs from a log file, set topaz.logSource to file and point topaz.logFile at the topaz.log produced in Topaz's working directory.
To stream logs from a Docker container, set topaz.logSource to docker and make sure Topaz is started with the matching --name flag:
docker run -p 8899:8899 --name topaz.local.dev thecloudtheory/topaz-host
Logs appear in the Output panel (⇧⌘U) under the Topaz Logs channel.
Features
- Browse resources grouped by resource group or by service type
- Create management groups, subscriptions, and resource groups
- Monitor emulator status: health, version, and running mode
- Start Topaz directly from the Status panel — as a standalone process (
topaz-host) or via Docker
- Stream Topaz logs from a local log file or a Docker container
- Refresh resource views on demand