Sign in during Public Preview to get the Team plan free, plus an early-adopter discount when we launch. Sign in
A complete Azure environment that starts in seconds, on your laptop or in CI. Works with the Azure CLI, Terraform, Pulumi, Bicep, and ARM templates.
Works with the tools you already use
Three minutes with Locally: a complete Azure environment, running on your machine.
Walkthrough of Locally · 3:12
Free during Public Preview. No credit card required.
Then prefix any command with
locally run
to hit your local Azure environment.
Full walkthrough in the Getting Started guide.
Time to deploy a resource group, network, two subnets, a NIC and a Windows VM.
Azure Compute / Networking SDKs
Last tested on 25th September 2026 against Locally v2026.09.
Median of 5 runs, provisioning a Windows Server 2022 VM (size Standard_D2als_v6) and its network, in Sweden Central.
| Tool | Azure | Locally | Faster | Versions |
|---|---|---|---|---|
| Azure SDK for Go | 1m 17s | 6.5s | 11.9× | azcore v1.23.1 · armcompute v8.4.0 · armnetwork v9.0.0 |
| Bicep | 1m 11s | 9s | 7.8× | v0.47.16 |
| OpenTofu | 2m 6s | 34s | 3.7× | v1.12.6 · AzureRM v5.7.0 |
| Terraform | 2m 6s | 35s | 3.6× | v1.16.4 · AzureRM v5.7.0 |
No new SDKs, no credentials to configure, no Azure subscription to provision. Start the environment, then prefix any tool you already use with locally run.
$ locally build
__ ___ ___
/\ \ /\_ \ /\_ \
\ \ \ ___ ___ __ \//\ \ \//\ \ __ __
\ \ \ __ / __`\ /'___\ /'__`\ \ \ \ \ \ \ /\ \/\ \
\ \ \L\ \/\ \L\ \/\ \__//\ \L\.\_ \_\ \_ \_\ \_\ \ \_\ \
\ \____/\ \____/\ \____\ \__/.\_\/\____\/\____\\/`____ \
\/___/ \/___/ \/____/\/__/\/_/\/____/\/____/ `/___/> \
/\___/
\/__/
All services started ✓
Locally (2026.09.03) is now running.
We've opened a browser to the dashboard at: https://127.0.0.1:5678
You can find the documentation at: https://locally.build/docs
┌ Try it out ────────────────────────────────────────────┐ │ │ │ locally run [command] [args] │ │ │ └────────────────────────────────────────────────────────┘
$ locally run az servicebus namespace create \
-n servicebus1 -g example-resources -l berlin
{
"id": "/subscriptions/193c8904-55b9-4875-9690-01997f5f3839/resourceGroups/example-resources/providers/Microsoft.ServiceBus/namespaces/servicebus1",
"location": "berlin",
"minimumTlsVersion": "1.2",
"name": "servicebus1",
"provisioningState": "Succeeded",
"resourceGroup": "example-resources",
"serviceBusEndpoint": "https://servicebus1.servicebus.locally:5662",
"sku": { "name": "Standard", "tier": "Standard" },
"status": "Active",
"type": "Microsoft.ServiceBus/namespaces"
}
locally build
Starts your local cloud environment: control plane, identity, data plane emulators, and dashboard. Ready in seconds.
locally run
Prefixes any command to inject credentials automatically. Leave the prefix off and use an Azure region to hit real Azure.
A local cloud you can't introspect is just a black box. The dashboard ships with a full observability stack so when something doesn't behave the way you expect, the answer is one click away.
Every HTTP request and response across every service - with filtering, replay, and a one-click pivot to the matching trace.
A live diagram of the resources you've provisioned, including data-plane sub-resources and the dependencies Locally infers between them.
Per-resource ballpark monthly cost computed from the SKU, capacity, and redundancy you've actually deployed - spot expensive choices before they hit Azure.
Prefix a command with locally run to hit Locally. Leave the prefix off and use an Azure region to hit Azure.
1. Wrap your tool
2. Target a Locally region
On the Team plan, copy the regions from Azure Public, China or US Government - or define your own.
Let your agents deploy, break and fix things on their own, well away from your real subscription. When it works here, take it to Azure.
locally run gives it credentials for Locally and nothing else. Locally's regions don't exist in Azure either, so a command that misses Locally fails instead of deploying.--subscription and they won't trip over each other, or you.locally chaos, then tell you how your app copes. See how →# Once: give Claude the Locally skills
$ npx skills add locallybuild/skills
> Deploy this app to Locally, then show me how it behaves when the primary region is down.
⏺ Bash(locally run terraform apply -auto-approve)
⎿ Apply complete! Resources: 9 added, 0 changed, 0 destroyed.
⏺ Bash(locally chaos storage outage --percentage 100 --location london)
⎿ storage outage: any plugin in london now fires on 100% of requests.
⏺ Bash(locally chaos servicebus outage --percentage 100 --location london)
⎿ servicebus outage: any plugin in london now fires on 100% of requests.
⏺ Bash(locally run npm run test:e2e)
⎿ 3 failed, 9 passed
⏺ With London down, new orders fail after a 30s timeout. The Paris storage account and namespace are deployed, but the app only reads its London connection strings, so it never fails over. Want me to add that?
The skills teach Claude, and other agents, how to set up, run, debug and adapt your config for Locally. Browse them on GitHub →
The fast iteration loop is just the start. Locally has the tools to test failure conditions, enforce guardrails across your team, and let your AI assistant work alongside you.
Inject 429s, 500s, dropped connections, and provider outages at the control plane layer. Verify your retry logic before it matters in production.
Learn more →
Validate your policies - built-in regulatory frameworks and your team's custom rules - on every developer's machine. Find violations during development, not after a failed deploy.
Learn more →
Built-in MCP server lets Claude Code, Claude Desktop, OpenCode, and VS Code Copilot browse, query, and act on your local environment without leaving the editor.
Learn more →
Runs entirely on your machine, with the tools you already use.
Install Locally →Or read more:
Your Azure infrastructure, running on your machine. Deploy in seconds, break things freely, and ship to Azure when you're ready.