Skip to content

Blob Storage - Browse Containers, Preview & Download Blobs from Terminal

The Blob Storage view lets you browse storage accounts, containers, and blobs with virtual folder navigation. You can preview files inline, multi-select blobs, and download them in bulk.

Common tasks this replaces:

  • az storage blob list + az storage blob download pipelines
  • Opening Azure Portal to check “what’s in this container?”
  • Using Storage Explorer to browse a folder structure or preview a file
  • Writing scripts to search for blobs by prefix

The view uses a miller-columns layout with up to four panes:

Storage AccountsContainersBlobsPreview

Focus moves between panes with Tab / Shift+Tab. Press Enter or l to drill into the selected item, and h or Left to go back.

When browsing inside a virtual folder, the left column shows the parent folder contents so you can see where you came from. Press Backspace to go up one level.

Blobs load in hierarchy mode by default — the view shows one level of virtual folders and files at a time, similar to a file manager. This is fast even on containers with millions of blobs.

Press A to switch to load-all mode, which fetches every blob in the container as a flat list. This enables local fuzzy filtering but can be slow on large containers.

KeyModeHow it works
/EitherLocal fuzzy filter on the current blob list
a → Search by prefixHierarchyServer-side prefix search — calls the Azure API, works on any container size
EscEitherClear active filter

Use / for quick local filtering on what’s already loaded. For large containers in hierarchy mode, use the action menu (a) and select Search by prefix to run a server-side query — this works regardless of container size.

Press Enter on a blob to open the preview pane. The preview uses range reads — it doesn’t download the entire file, so it’s safe to open large blobs.

Syntax highlighting is applied automatically based on the file extension or content type — Chroma covers most common languages (JSON, XML, YAML, Go, Python, SQL, shell, HCL, and many more).

KeyAction
j / kScroll line by line
Ctrl+D / Ctrl+UHalf-page scroll
GJump to bottom
ggJump to top
h / Left / EscClose preview

You can select text in the preview with the mouse — the selection is copied to your clipboard on release.

Mark individual blobs with Space, or use visual-line mode for ranges:

  1. Press v to enter visual-line mode on the blobs pane.
  2. Move the cursor to extend the selection. Press o to extend from the other end.
  3. Press v again or Esc to commit the range to marks.
  4. Press D to download all marked blobs.

Downloads are saved to <download_dir>/<account>/<container>/..., preserving the blob path structure. Configure download_dir in config.json (defaults to ~/Downloads).

Press a on the blobs pane and choose Upload files… to open a prompt for the destination prefix — it’s prefilled with your current folder, but you can edit it to upload anywhere (new prefixes are created on the fly). Confirm to open the file browser. Navigate with j/k/h/l, mark files or folders with space (or v for visual-line range), and press enter to confirm.

Folder picks are recursive and rooted at the folder’s basename: picking ./data uploads as <dest>/data/2026/q1/report.csv. Single-file picks land at <dest>/<basename>. Symlinks are skipped.

Conflicts. When a blob already exists, a prompt appears:

  • y — overwrite this one
  • n — skip this one
  • a — overwrite all remaining
  • s — skip all remaining
  • c — cancel the whole operation

Progress. A panel shows overall byte progress, the current filename, and the (N of M) counter. The upload continues while you navigate — the panel is non-modal.

Errors. Failures don’t abort the whole batch — they’re collected and shown in the completion summary alongside the success count.

Beyond browse and download, the action menu (a) exposes write operations:

  • Create container… — available when a storage account is selected.
  • Delete container… — available when a container is focused.
  • Rename blob… / Delete blob… — on any blob (not a virtual folder).
  • Delete marked (N)… — bulk delete of marked blobs.
  • Delete folder… — on a virtual folder, recursive. Works on both HNS and flat-namespace accounts: HNS uses the atomic Data Lake delete; flat namespace enumerates blobs under the prefix and deletes them in sequence.

For storage accounts with hierarchical namespace (Data Lake Gen2), folders are first-class resources, so two additional actions appear:

  • Create folder… (HNS only)
  • Rename folder… (HNS only — atomic via the Data Lake path API)

All write operations open a confirmation or input prompt before they touch the storage account. On non-HNS accounts a blob “rename” is implemented as a server-side copy followed by a delete of the original.

Blobs are sorted by Date descending (newest first) when a container first opens. Press s on the blobs pane to open the sort picker:

  • Default (server / Azure order, no client-side sort)
  • Name (ascending / descending)
  • Size (ascending / descending)
  • Date (ascending / descending)

The active sort is shown in the pane title.

KeyAction
yYank blob content to clipboard (non-empty blobs under 5 MB)

You can also yank blob names and content through the action menu (a).

Press K to toggle an inline detail strip below the focused pane. It shows metadata for the selected item — storage account properties, container details, or blob size/type/tier/modified time — and updates live as you move the cursor.

Press a to open the action menu. Available actions depend on context:

ActionDescription
Upload files…Open the file browser to upload local files into the current folder
Load all blobs / Browse by folderSwitch between hierarchy and flat load-all mode
Search by prefixServer-side prefix search (hierarchy mode only)
Sort blobsOpen the sort picker
Toggle markMark or unmark the current blob
Toggle visual line selectionEnter or exit visual-line mode
Download selectionDownload marked or visually selected blobs
Download marked (N)Download all marked blobs (shown when marks exist)
Clear all marksRemove all marks (shown when marks exist)
Download current blobDownload the blob under the cursor
Yank blob nameCopy the blob name to clipboard
Yank blob contentCopy the blob data to clipboard (blobs under 5 MB)
Rename blob…Rename the blob under the cursor
Delete blob…Delete the blob under the cursor
Delete marked (N)…Bulk delete of marked blobs (shown when marks exist)
Create folder…Create a new folder (HNS-enabled accounts only)
Rename folder…Rename the current folder (HNS-enabled accounts only)
Delete folder…Delete the current folder, recursive (works on HNS and flat-namespace)
ActionDescription
Delete container…Delete the container under the cursor

Any pane (after a storage account is selected)

Section titled “Any pane (after a storage account is selected)”
ActionDescription
Create container…Create a new container in the selected storage account
ActionDescription
RefreshReload the current scope
Toggle details panelShow or hide the inspect strip
Change subscriptionOpen the subscription picker
KeyAction
Tab / Shift+TabCycle pane focus
Enter / lOpen / drill in
h / LeftGo back
BackspaceUp one folder (blobs pane, hierarchy mode only)
/Filter current list
Ctrl+D / Ctrl+UHalf-page scroll
aAction menu
AToggle load-all mode
sSort blobs
SpaceToggle mark
v / VVisual-line selection
oSwap visual anchor
DDownload marked blobs
yYank blob content
KToggle inspect panel
SSwitch subscription
rRefresh current scope