service-bus-tui

May 3, 2026 ยท View on GitHub

Go Report Card Quality Gate Status CI

GitHub Release Homebrew WinGet Version Chocolatey

service-bus-tui

A terminal-based explorer for Azure Service Bus.

Work in Progress: This project is currently under active development.

Previews

asb-tui send-message

Features

Authentication

  • Azure CLI authentication (uses existing az login session)
  • 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)
  • Keyboard-driven interface
  • up/down or j/k: Navigate items
  • left/right or h/l or enter: Expand/collapse nodes
  • tab: Switch between namespace tree and messages pane
  • ctrl+n / ctrl+p: Next/previous page of messages
  • ctrl+y: Copy raw message body to clipboard (message list, detail, send/resend-edit body)
  • S: Open send message modal from selected topic/queue
  • space: Select/deselect messages
  • R: Resend selected messages (or current row if none selected; single selection opens editable form)
  • esc: Go back
  • ctrl+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 login must be completed beforehand
  • For Emulator: Docker with the Service Bus emulator running