Skip to content

Conversation

@strickvl
Copy link
Contributor

@strickvl strickvl commented Dec 8, 2025

Summary

  • Fixed CLI hyperlink wrapping that was breaking CMD-click in terminals
  • Added no_wrap=True to all declare() calls that print URLs

Problem

When ZenML CLI printed dashboard URLs, Rich's console was wrapping long URLs across multiple lines. This broke terminal hyperlink detection (CMD-click on macOS / Ctrl-click on Linux) because terminals couldn't recognize the URL as a single clickable entity.

Solution

Rich's Console.print() accepts no_wrap=True which prevents line wrapping. The existing declare() function already forwards **kwargs to console.print(), so we simply added no_wrap=True to the specific calls that print URLs:

  • cli/utils.py: Endpoint URL and Swagger URL in pretty_print_deployment()
  • cli/pipeline.py: Dashboard URL in deploy_pipeline() and deploy_snapshot()
  • cli/deployment.py: Dashboard URL in provision_deployment()

Test plan

  • Run any CLI command that prints a dashboard URL (e.g., zenml pipeline deploy)
  • Verify the URL stays on a single line
  • Verify CMD-click opens the link in a browser

URLs printed via declare() were wrapping across lines, breaking
terminal hyperlink detection. Added no_wrap=True to all declare()
calls that print URLs to keep them on a single line.
@strickvl strickvl added bug Something isn't working internal To filter out internal PRs and issues snack no-release-notes Release notes will NOT be attached and used publicly for this PR. snack-it labels Dec 8, 2025
@strickvl strickvl requested a review from schustmi December 8, 2025 11:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working internal To filter out internal PRs and issues no-release-notes Release notes will NOT be attached and used publicly for this PR. snack snack-it

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

Fix CLI hyperlink wrapping that breaks CMD-click

3 participants