Creating advanced Console interfaces is important for lots of applications,
even those which are not Console based but include some commands to perform
certain tasks.

Rendering clickable hyperlinks is one of the most important missing features of
Console apps and commands. Although most of the terminal emulators auto-detect
URLs and allow to click on them with some key combination, it's not possible to
render clickable text that points to some arbitrary URL.

However, some terminal emulators led by iTerm2 and GNOME Terminal, are
working on a new specification to add support for this feature. That's why
Symfony 4.3 added support for hyperlinks in the Console using the
following syntax:

If your terminal does not support hyperlinks, they will be rendered as normal
and non-clickable text and you won't see their URLs. That's why it's recommended
to check out the growing list of terminal emulators that support hyperlinks
before using this feature in your own apps and commands.

Hmm... I have mixed feelings about this. PuTTY has good reasons to not allow OSC escape sequences (https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/osc.html) and even if this is "only" allowing to open the local browser with an arbitrary URL, that URL could lead to a malicious webpage. The terminal stream potentially becomes insecure. Furthermore browsers show the target URL in the status bar and allow you to copy the link so that you can decide by yourself what to do with it or if you trust it, but as far as I can see there's no such feature in the terminal clients supports OSC URLs.

Users that don't want to use this feature or whose long used terminal client doesn't support OSC URLs won't be able to see the origin URL. They are locked out which doesn't feel very Symfony'ish. So I would at least recommend to add a global command line option to disable them and display them instead, e.g. in the form "URL - TITLE".

Your putty link deals only with escape sequences which can execute an arbitrary local command

> there's no such feature in the terminal clients supports OSC URLs

There is, check the screenshot in https://github.com/symfony/symfony/pull/29168

> Users that don't want to use this feature or whose long used terminal client doesn't support OSC URLs won't be able to see the origin URL

True, I already raised this concern once, it needs to be handled on case by case basis. I don't think global switch is good thing. Hopefully not providing it will push other terminals to support this sooner. I'm Terminator user which doesn't support this yet myself.