Net.Azure.ServiceBusConsole 0.3.0

dotnet tool install --global Net.Azure.ServiceBusConsole --version 0.3.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Net.Azure.ServiceBusConsole --version 0.3.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Net.Azure.ServiceBusConsole&version=0.3.0
                    
nuke :add-package Net.Azure.ServiceBusConsole --version 0.3.0
                    

azure-servicebus-console

A terminal UI browser for Azure Service Bus — explore namespaces, queues, topics, and messages directly from your terminal.

Install

Requires .NET 10 SDK and an active Azure CLI login.

dotnet tool install -g Net.Azure.ServiceBusConsole
az login
azsb

To update to the latest version:

dotnet tool update -g Net.Azure.ServiceBusConsole

Note: Subscription IDs are currently hardcoded. See Configuration.

Features

  • Browse Service Bus namespaces across multiple Azure subscriptions
  • Queues and topics with live message counts (active, DLQ, scheduled, transfer) — animated spinner while refreshing from cache
  • Filter queues, topics, and subscriptions by typing in the filter box
  • Scrollable tables — arrow keys or scrollbar to navigate long lists
  • Peek messages non-destructively (PeekLock) or receive/delete them (ReceiveAndDelete)
  • Inspect message properties and body (auto pretty-printed if JSON) with a scrollable body panel
  • Dead-letter queue browsing per queue and per subscription
  • Requeue DLQ messages — fetch-lock a dead-lettered message, republish it to the origin queue/topic, and complete it in one step
  • Delete individual queues, topics, subscriptions, or messages

Screenshots

Keyboard shortcuts

All screens

Key Action
Tab / Shift+Tab Move focus between controls
Esc Go back to previous screen

Connection screen

Key Action
F1 Open queue browser
F2 Open topic browser
F3 Open all-subscriptions view

Queue list / Topic list / Subscription list

Key Action
Type Filter list by name
Backspace Remove last filter character
/ Scroll list
Enter Open selected item
F5 Refresh
F9 / Del Delete focused item

Queue browser / Subscription browser

Key Action
F6 Toggle between active queue and DLQ
F7 Peek messages (non-destructive)
F8 Receive messages (destructive — deletes from queue)
F9 / Del Delete focused message
F10 Requeue focused DLQ message (DLQ mode only)
/ Scroll message list
Enter View message detail

Message detail

Key Action
/ Scroll message body
F9 / Del Delete message
F10 Requeue message (DLQ messages only)

Prerequisites

az login

Authentication uses AzureCliCredential — no connection strings or API keys are stored.

Running from source

git clone --recurse-submodules https://github.com/zidad/azure-servicebus-console
cd azure-servicebus-console
az login
dotnet run

Logs are written to ./logs/session-<timestamp>.log on each run.

Configuration

Azure subscription IDs are hardcoded in Pages/ConnectionPage.razor in the SubscriptionOptions array. Update these to match your environment before running from source.

How requeue works

When a message ends up in a dead-letter queue, F10 on the message list or message detail will:

  1. Receive the message from the DLQ with PeekLock
  2. Send an identical copy to the origin entity (queue or topic)
  3. Complete (permanently remove) the original from the DLQ

The message is immediately removed from the list on success.

Releasing

Every push to main checks the <Version> in ServiceBusConsole.csproj. If a tag for that version doesn't exist yet, the publish workflow will automatically create the tag, pack, and push to NuGet.org.

To release a new version, bump the version in ServiceBusConsole.csproj and merge to main:

<Version>0.2.0</Version>

Requires a NUGET_API_KEY secret in the repository settings.

Built with

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.3.0 0 3/23/2026
0.2.1 30 3/21/2026
0.2.0 31 3/21/2026