You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
--format argument fails to change output of command #47
While trying to use the --format argument with the wp plugin verify-checksums commands I found the output wouldn't change. I've tried all format options listed and none of them change the format outputted.
Steps to reproduce
Run command ‘wp plugin verify-checksums --all’
Run command ‘wp plugin verify-checksums --all --format=json’
Run command ‘wp plugin verify-checksums --all --format=csv’
Run command ‘wp plugin verify-checksums --all --format=count’
Run command ‘wp plugin verify-checksums --all --format=yaml’
Run command ‘wp plugin verify-checksums --all --format=table’
Observe the output of all six commands is identical.
Environment
WP-CLI 1.5.1
Results and impacts
Severity – Moderate
Expected Results: Output in the format specified in the command line argument
Actual Results: The output does not follow the format specified.
This command has been incredibly useful to me in one off scenarios, but I can't use it effectively in scripts and Unix pipes without the option of a clean output format.
Thanks @wojsmol for pointing out the formatter only runs in error conditions. I can now get different output of the checksum errors, but the general warnings, errors, and details such as which plugins passed are not formatted.
@schlessera I would agree it's less than ideal and prevents capturing the output reliably. I'd add to @schlessera's screenshot showing how the warnings are added as STDOUT text. I was trying to get the JSON output from the command, but this is the response I'm greeted with:
I was expecting the output of the command would include clean JSON with details about which plugins were skipped, failed, or passed and a list of the failure details.
As always, thanks to all of you who work on this project. I love WP-CLI!
Wouldn't using --quiet work for now in this case, when one isn't interested in the warnings or errors, but only the command's actual output?
The thing is, for the i18n-command it wouldn't work. The warnings I use there contain relatively useful information. But I guess I should just use WP_CLI::log() instead.
This appears to be resolved on the current main branch. I tested wp plugin verify-checksums against a plugin with a modified file, and each documented output format now produces the expected distinct output:
--format=table
plugin_name file message
ai ai.php Checksum does not match
--format=json
[{"plugin_name":"ai","file":"ai.php","message":"Checksum does not match"}]
--format=csv
plugin_name,file,message
ai,ai.php,"Checksum does not match"
--format=count
1
--format=yaml
---
-
plugin_name: ai
file: ai.php
message: Checksum does not match
The --format flag now uses the standard WP_CLI\Formatter in Checksum_Plugin_Command.php, so JSON, CSV, count, and YAML outputs all work correctly for scripts and pipelines.
Tested with WP-CLI 2.13.0-alpha.
I think this issue can be closed. It would still be good to confirm that the core verify-checksums command behaves the same way.
Activity
[-]`--format` command fails to change output of command[/-][+]--format argument fails to change output of command[/+]wojsmol commentedon Jul 30, 2018
Hi @holtjohnson
Try to cause checksum error in one of the plugins, if I read code correctly the formatter is run only in error conditions.
schlessera commentedon Jul 31, 2018
I do get different output, but only for the issues that were actually detected. The status messages are added as normal STDOUT/STDERR labeled text.

I agree that this is less than ideal, and we should discuss how to better present the results for this command.
schlessera commentedon Jul 31, 2018
Right now, it is not easily possible to capture just the JSON/CSV output reliably.
This is one of the basic requirements for making the command scriptable.
swissspidy commentedon Jul 31, 2018
Related: wp-cli/i18n-command#39
I want to make that command scriptable as well and haven't found an ideal solution yet.
However, looking at this issue here I realize that this is a more common problem so it would be great to have a universal solution.
One thought was to just use a different logger that also catches STDOUT/STDERR output.
WP_CLI::error()could still halt the script, everything else would go into a log that's presented at the end.holtjohnson commentedon Aug 1, 2018
Thanks @wojsmol for pointing out the formatter only runs in error conditions. I can now get different output of the checksum errors, but the general warnings, errors, and details such as which plugins passed are not formatted.
@schlessera I would agree it's less than ideal and prevents capturing the output reliably. I'd add to @schlessera's screenshot showing how the warnings are added as STDOUT text. I was trying to get the JSON output from the command, but this is the response I'm greeted with:

I was expecting the output of the command would include clean JSON with details about which plugins were skipped, failed, or passed and a list of the failure details.
As always, thanks to all of you who work on this project. I love WP-CLI!
swissspidy commentedon Aug 23, 2018
Wouldn't using
--quietwork for now in this case, when one isn't interested in the warnings or errors, but only the command's actual output?The thing is, for the i18n-command it wouldn't work. The warnings I use there contain relatively useful information. But I guess I should just use
WP_CLI::log()instead.[-]--format argument fails to change output of command[/-][+]`--format` argument fails to change output of command[/+]schlessera commentedon Dec 12, 2018
I'll remove this from the v2.1.0 checklist again. Let's rediscuss and plan for v2.2.0.
ma-04 commentedon Nov 13, 2025
swissspidy commentedon Nov 13, 2025
I don't think so. #140 was for core checksums, whereas this issue here is about plugin checksums.
alaminfirdows commentedon Jun 27, 2026
This appears to be resolved on the current main branch. I tested wp plugin verify-checksums against a plugin with a modified file, and each documented output format now produces the expected distinct output:
The
--formatflag now uses the standardWP_CLI\FormatterinChecksum_Plugin_Command.php, so JSON, CSV, count, and YAML outputs all work correctly for scripts and pipelines.Tested with WP-CLI 2.13.0-alpha.
I think this issue can be closed. It would still be good to confirm that the core verify-checksums command behaves the same way.
szepeviktor commentedon Aug 17, 2026
How has the tokens to fix this ancient one? 🤖