Skip to content

TUI: Nx Cloud run details link is lost when TUI exits #34434

@ChrisSargent

Description

@ChrisSargent

Current Behavior

When using the TUI (tui.enabled: true), the Nx Cloud "Run Details" link that was previously printed to stdout after task completion is no longer visible. The TUI captures all output in its interactive display, and when it exits (especially with autoExit: true), the cloud link is lost entirely.

Before the TUI, running a task would print something like:

View run details at https://cloud.nx.app/runs/abc123

This link is essential for debugging cache misses, investigating task failures, and generally accessing the cloud dashboard for a specific run.

Expected Behavior

The Nx Cloud run details link should be printed to the terminal after the TUI exits, so it remains visible in terminal scrollback. This is especially important for local development runs, which are difficult to find through the Nx Cloud dashboard (the dashboard is oriented around CI pipeline executions, not local runs).

Workarounds explored (none are viable)

  • nx view-logs: Outputs "Refer to the output of the last command to find the Nx Cloud link" when the workspace is already connected — which is circular since the TUI ate that output.
  • Nx Cloud dashboard: Local dev runs are very hard to locate through the web UI; it's oriented around CI pipeline executions and branches.
  • Increase autoExit delay: Not practical for teams that run multiple tasks in series and don't want artificial delays.
  • --no-tui per command: Works but defeats the purpose of enabling the TUI globally.

Steps to Reproduce

  1. Enable TUI in nx.json: { "tui": { "enabled": true, "autoExit": true } }
  2. Connect workspace to Nx Cloud (e.g. via nxCloudAccessToken)
  3. Run any cacheable task: nx run my-project:build
  4. TUI opens, task runs, TUI auto-exits
  5. No Nx Cloud run link is visible in the terminal

Environment

  • Nx: 21.3.11
  • OS: macOS
  • Terminal: Cursor integrated terminal (also reproducible in other terminals)
  • TUI config: { "enabled": true, "autoExit": true }

Metadata

Metadata

Assignees

Labels

priority: mediumMedium Priority (not high, not low priority)scope: miscMisc issues

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions