For every program every time you apply the pattern, one of the things we need to think about is:
Am I adding more coupling to many commands and the clients for only some specific error cases?
Command pattern is used to decouple command with the caller. Command object is supposed to know how to execute it.
In case, command pattern returns status to caller, caller has less option to handle it. This is because of the way command pattern is designed. To recall, command pattern ensures that command contains all the info for execution of command. So, caller need not be aware of command internals. So, caller has little choice other than providing generic way to handling error. This couldn't be sufficient for many cases.
Considering above analysis, below approach could be a possible exploration.
First attempt should be to explore the approach so that command object can handle error itself. In this case, command pattern need not communicate to the caller.
In case, command object can't handle error itself, then command object should publish the error. This could be done by notifying error (using observer pattern).
https://stackoverflow.com/questions/1154935/command-pattern-returning-status