service-bus-tui
May 3, 2026 ยท View on GitHub
service-bus-tui
A terminal-based explorer for Azure Service Bus.
Work in Progress: This project is currently under active development.
Previews
Features
Authentication
- Azure CLI authentication (uses existing
az loginsession) - Interactive browser authentication
- Service principal (client ID / client secret)
- Connection string
- Optional save prompt after connection-string login
- Saved connection strings list with quick connect and delete
- Emulator (one-click connect to local Service Bus emulator)
Namespace Discovery
- Automatically lists all Service Bus namespaces across your Azure subscriptions
- Displays namespace name, subscription ID, and resource group
Resource Browsing
- Tree-based navigation of namespaces
- List topics and queues
- Expand topics to view subscriptions
- Expand queues to view active and DLQ messages
- View active messages and dead-letter queue (DLQ) messages per subscription or queue
Message Viewing
- Peek messages from subscriptions and queues (active and DLQ)
- Tabular display with sequence number, message ID, subject, enqueued time, and body preview
- JSON body formatting in preview
- Paginated browsing (100 messages per page) with automatic page detection at boundaries
- Copy raw message body to clipboard from message list/detail (
ctrl+y)
Message Resending
- Resend selected messages back to their source topic or queue
- If nothing is selected, resend uses the currently highlighted row
- Single-message resend opens editable send form prefilled with original message body/metadata
- Works on both active and dead-letter messages (DLQ replay)
- Multi-message selection support
- Option to keep original or generate new Message IDs
- Real-time progress tracking
Message Sending
- Send new messages directly to a topic or queue
- Compose subject, content type, and body from an in-app modal form
- Content type selection with built-in presets and custom value support
- Copy compose/resend-edit body to clipboard (
ctrl+y)
Navigation
- Keyboard-driven interface
up/downorj/k: Navigate itemsleft/rightorh/lorenter: Expand/collapse nodestab: Switch between namespace tree and messages panectrl+n/ctrl+p: Next/previous page of messagesctrl+y: Copy raw message body to clipboard (message list, detail, send/resend-edit body)S: Open send message modal from selected topic/queuespace: Select/deselect messagesR: Resend selected messages (or current row if none selected; single selection opens editable form)esc: Go backctrl+c: Quit
Installation
Homebrew (macOS/Linux)
brew tap monsieurtib/tap
brew install service-bus-tui
Winget (Windows)
winget install MonsieurTib.service-bus-tui
Chocolatey (Windows)
choco install service-bus-tui
Go Install
go install github.com/MonsieurTib/service-bus-tui@latest
Build from source
git clone https://github.com/MonsieurTib/service-bus-tui.git
cd service-bus-tui
go build -o service-bus-tui .
Usage
service-bus-tui
Select an authentication method, choose a namespace, and browse your Service Bus resources.
If you authenticate with a connection string, the app prompts you to optionally save it for later reuse.
Emulator Support
Supports the Azure Service Bus emulator running in Docker. Select Emulator (localhost) from the auth menu for default port.
Limitation: Total message count is unavailable (SDK bug) โ page indicator shows "?" but pagination works normally.
Saved Connection Strings
Saved connection strings are stored locally as plain JSON at:
~/.config/service-bus-tui/connections.json
The app writes this file with restrictive permissions (directory 0700, file 0600).
Requirements
- Go 1.24+
- Azure subscription with Service Bus namespaces (or the local emulator)
- For Azure CLI auth:
az loginmust be completed beforehand - For Emulator: Docker with the Service Bus emulator running