JSON output is meant to be processed by subsequent scripts etc., so any further output must currently be filtered out manually.
E.g. this:
$ yt --no-progress --quiet issues list --query "project:FOO type: Epic" --format json
🔍 Fetching issues...
[
{
"updated": 1774370637744,
…
I expected --no-progress to actually already do this, but from my limited Python knowledge, I could not figure out if this is indeed intended or "no progress" just means "no spinner" here.