Skip to content

FAQ & Troubleshooting

Yes. lazyaz uses DefaultAzureCredential which relies on az login for local development. Install the Azure CLI from Microsoft’s guide.

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+).

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.

”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:

Terminal window
az login

If 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:

  1. Check that your Azure AD identity has the right role on the resource (see Authentication for required permissions).
  2. Try switching to the correct tenant explicitly via Azure Login / Switch Tenant in the command palette (Ctrl+P).

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.

Yes. DefaultAzureCredential tries managed identity automatically when running on Azure VMs, App Service, or AKS. No extra configuration needed.

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.

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" }

No. Peeking is read-only — it does not lock or consume messages. You can peek the same messages repeatedly.

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 a and choose Requeue all DLQ messages (N). This drains the DLQ in batches.
  • For specific messages: drill into the DLQ messages pane, press a and 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 with Space or visual-line mode (v) before choosing Requeue, Move to…, or Complete.

See Service Bus for the full workflow.

Not currently. lazyaz focuses on inspection and DLQ management. Use az servicebus or your application code for sending.

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.

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.

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.

Press T to open the theme picker. lazyaz ships with 300+ Base16 color schemes. Your selection is saved to ~/.config/lazyaz/config.json.

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.

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.