When WP_CLI runs WordPress from the command line, are hooks called?

WP CLI will run plugins by default, so any hooks used in active plugins would be run.

You can tell WP CLI to not run the active plugins, though. To get the full list of plugins, even if a malicious plugin tries to hide itself, the following should work:

wp plugin list --skip-plugins

(Caveat: any must-use plugins will still be loaded. To disable MU plugins, you’d need to remove them from the wp-content/mu-plugins directory.)

--skip-plugins is a global parameter, so you should be able to use it on any wp * command. --skip-themes is also available.