FAQ & Troubleshooting
Installation
Section titled “Installation”Do I need the Azure CLI installed?
Section titled “Do I need the Azure CLI installed?”Yes. lazyaz uses DefaultAzureCredential which relies on az login for local development. Install the Azure CLI from Microsoft’s guide.
Do I need Go installed?
Section titled “Do I need Go installed?”No. The install script downloads a prebuilt binary. Go is only needed if you prefer go install github.com/karlssonsimon/lazyaz/cmd/lazyaz@latest (requires Go 1.25+).
Does it work on Windows / macOS / Linux?
Section titled “Does it work on Windows / macOS / Linux?”Yes. lazyaz is a Go binary that runs on all three platforms. It uses your terminal’s capabilities for rendering, so any modern terminal emulator works.
Authentication
Section titled “Authentication””failed to initialize default azure credential”
Section titled “”failed to initialize default azure credential””This means no Azure credential was found. Make sure you’re logged in:
az loginIf you’re using managed identity or environment variables, ensure they’re configured before launching lazyaz.
I see subscriptions but can’t access resources (403 errors)
Section titled “I see subscriptions but can’t access resources (403 errors)”This usually means your credential is authenticated against a different tenant than the one owning the resource. lazyaz handles this automatically by scoping credentials to each subscription’s tenant, but if you’re seeing persistent 403s:
- Check that your Azure AD identity has the right role on the resource (see Authentication for required permissions).
- Try switching to the correct tenant explicitly via Azure Login / Switch Tenant in the command palette (
Ctrl+P).
How do I switch between Azure tenants?
Section titled “How do I switch between Azure tenants?”Open the command palette (Ctrl+P), select Azure Login / Switch Tenant, and pick a tenant. No browser sign-in needed — it reuses your existing session. See Multi-Tenant Support for details.
Does lazyaz support managed identity?
Section titled “Does lazyaz support managed identity?”Yes. DefaultAzureCredential tries managed identity automatically when running on Azure VMs, App Service, or AKS. No extra configuration needed.
Blob Storage
Section titled “Blob Storage”Can I upload blobs?
Section titled “Can I upload blobs?”Yes. On the blobs pane, press a and choose Upload files… to open the
file browser. See Blob Storage — Uploading
for the full flow.
Can I rename or delete blobs and containers?
Section titled “Can I rename or delete blobs and containers?”Yes. The action menu (a) exposes Rename, Delete, and bulk-delete operations
for blobs, plus Create / Delete for containers. On HNS-enabled (Data Lake
Gen2) accounts you also get folder Create / Rename / Delete. See
Container, folder & blob operations
for the full list.
How does it handle containers with millions of blobs?
Section titled “How does it handle containers with millions of blobs?”In the default hierarchy mode, lazyaz only loads one level of virtual folders at a time using server-side prefix listing. This is fast regardless of container size. To search by prefix, press a to open the action menu and select Search by prefix — this runs a server-side query so it works on containers of any size.
For local fuzzy filtering on the full blob list, press A to switch to load-all mode — but this fetches every blob name, so it can be slow on very large containers.
Can I browse Azurite or a connection-string-only account?
Section titled “Can I browse Azurite or a connection-string-only account?”Yes. Open the command palette (Ctrl+P) or new-tab picker (Ctrl+T) and
pick Azurite (local emulator) to open a Blob tab pre-bound to the
well-known Azurite connection string, or Blob (connection string) to be
prompted for a custom one. These tabs are standalone — they bypass AAD,
share-key out of the connection string, and aren’t tied to any Azure
subscription, so the subscription picker shortcut is a no-op while one is
focused.
Where are downloaded blobs saved?
Section titled “Where are downloaded blobs saved?”Downloads go to <download_dir>/<account>/<container>/..., preserving the path structure. The default download directory is ~/Downloads. Change it in ~/.config/lazyaz/config.json:
{ "download_dir": "~/my-blobs" }Service Bus
Section titled “Service Bus”Does peeking consume messages?
Section titled “Does peeking consume messages?”No. Peeking is read-only — it does not lock or consume messages. You can peek the same messages repeatedly.
How do I requeue dead-letter messages?
Section titled “How do I requeue dead-letter messages?”Navigate to a queue or topic subscription, drill into the Active/DLQ picker, and select DLQ. Then:
- For all DLQ messages: while on the Active/DLQ picker, press
aand choose Requeue all DLQ messages (N). This drains the DLQ in batches. - For specific messages: drill into the DLQ messages pane, press
aand choose Peek messages to see what’s in the DLQ. To actually modify state, open the action menu again and choose Receive DLQ messages (with lock) — this locks messages so they can be requeued, moved, or completed safely. Mark messages withSpaceor visual-line mode (v) before choosing Requeue, Move to…, or Complete.
See Service Bus for the full workflow.
Can I send messages to a queue?
Section titled “Can I send messages to a queue?”Not currently. lazyaz focuses on inspection and DLQ management. Use az servicebus or your application code for sending.
Key Vault
Section titled “Key Vault”Is the secret value displayed on screen?
Section titled “Is the secret value displayed on screen?”No. When you press y to yank a secret, the value goes directly to your clipboard. It’s never rendered in the terminal. A confirmation toast appears to let you know it worked.
Can I create or update secrets?
Section titled “Can I create or update secrets?”Yes. From the secrets pane, press a and choose Create secret… to
open a two-field form (name + value). Submitting creates a new secret, or —
if a secret with that name already exists — adds a new version. The value
field is masked by default; press Ctrl+R to reveal while typing.
The action menu also exposes Add new version… on the versions pane and Delete secret… on the items pane (soft-delete — items move to the vault’s recovery bin). Disable and manual version pinning aren’t supported yet.
Can I browse certificates and keys?
Section titled “Can I browse certificates and keys?”Yes. Each vault has a three-row Kind picker between the vault list and the items list — Secrets, Certificates, Keys. Picking a row switches the items column. The action menu adapts: Create key…, Import certificate…, and per-kind delete entries appear when the matching kind is active.
General
Section titled “General”How do I change the color theme?
Section titled “How do I change the color theme?”Press T to open the theme picker. lazyaz ships with 300+ Base16 color schemes. Your selection is saved to ~/.config/lazyaz/config.json.
Can I customize keybindings?
Section titled “Can I customize keybindings?”Yes. Edit ~/.config/lazyaz/keymaps/default.json or create a new keymap file. See Keymaps for the full reference.
How do I open multiple resource types at once?
Section titled “How do I open multiple resource types at once?”Press Ctrl+T (or Ctrl+N in standard keymap) to open a new tab. Each tab can be Blob Storage, Service Bus, or Key Vault with its own subscription.
Is there mouse support?
Section titled “Is there mouse support?”Yes. You can click on tabs, click to focus panes, scroll with the mouse wheel, and select text in preview panes. But lazyaz is designed keyboard-first — everything is faster with shortcuts.
How do I report a bug or request a feature?
Section titled “How do I report a bug or request a feature?”Open an issue at github.com/karlssonsimon/lazyaz/issues.