Skip to content

TUI Guide

The nbx tui command launches a full-screen interactive terminal application built with Textual. It mirrors the NetBox web UI layout — navigation tree on the left, tabbed workspace in the center — and uses the same API client and schema index as the CLI.

The TUI also discovers plugin resources dynamically. If a NetBox plugin exposes a full REST API under /api/plugins/, nbx tui and nbx dev tui can add those resources to the sidebar automatically and load their data like any built-in NetBox resource.


Launching the TUI

nbx tui                    # default profile
nbx tui --theme dracula    # specific theme
nbx tui --theme            # list available themes

nbx demo tui               # demo profile (demo.netbox.dev)
nbx demo tui --theme dracula

nbx dev tui                # developer request workbench
nbx demo dev tui           # developer request workbench on demo.netbox.dev

Layout

┌─────────────────────────────────────────────────────────────┐
│  Theme ▾   [search bar]                          NetBox CLI │
├────────────────┬────────────────────────────────────────────┤
│  Navigation    │  Results  │ Details │ Filters              │
│                │                                            │
│  ▼ circuits    │  [Results table]                           │
│  ▼ core        │                                            │
│  ▼ dcim        │                                            │
│    ▸ devices   │  [Detail panel when row selected]          │
│    ▸ sites     │                                            │
│    ▸ …         │                                            │
│  ▼ ipam        │                                            │
│    ▸ prefixes  │                                            │
│    ▸ …         │                                            │
│                │                                            │
├────────────────┴────────────────────────────────────────────┤
│  Status bar / help hints                                    │
└─────────────────────────────────────────────────────────────┘

Tabs

Results

The main data view. Selecting a resource in the navigation tree loads its objects into the results table. Rows are rendered with prioritized columns (id, name, status, site, role, …).

  • Press Space to toggle selection on a row.
  • Press A to toggle all visible rows.
  • Press D or click a row to open its detail view.

Details

Shows the full object attributes as a key-value panel. For dcim/interfaces with a connected cable, an ASCII cable trace diagram is rendered below the attributes.

Filters

A form for applying API query filters to the current resource. Press F to open the filter modal.


The left panel shows all NetBox app groups as expandable sections. Click a resource to load its list, or use keyboard navigation:

  • G — focus the navigation tree
  • Arrow keys — move through nodes
  • Enter — select / expand a node

Plugin resources

Plugin REST resources are appended under a Plugins menu automatically when the connected NetBox instance exposes them under /api/plugins/.

  • no hardcoded plugin list is required
  • plugin resources appear in both nbx tui and nbx dev tui
  • if the plugin exposes list/detail REST endpoints, the TUI can browse and render the returned data just like built-in resources

Press / to focus the top search bar. Typing filters the currently loaded results table in real time.


State persistence

The TUI saves and restores:

  • Last selected resource
  • Applied filters
  • Active theme

State is stored in ~/.config/netbox-cli/tui_state.json.


See also