Empty states

stderr stream

Use wording that suggests what is it that people might normally find, if the command didn’t return an empty state.


$ multipass list
No instances found.

Empty states, where nothing is created or connected yet, are not errors.

If there is an obvious command, or set of commands that can be suggested to the user to create/add/connect a thing, so the action doesn’t return an empty state - provide it within the output.


$ juju list-controllers
No controllers registered.
You can either create a new controller using "juju bootstrap" or connect to
another controller that you have been given access to using "juju register".


Keep the same format as you’d present if the command did not return an empty state - e.g. keep all the column headers if the data is normally presented as a table.


This separates the output according to if the stream is stdout or stderr.

But, which to use?

IOW, when dealing with an empty state, should we send the information to stdout or stderr?

I agree with the sentence that says “Empty states, where nothing is created or connected yet, are not errors.”, and according to that, stdout should always be used, no stderr at all…


I took it was stderr for the suggestion and stdout for the table in the case of tables as presented in the LXD case.

Multipass also shows a list, this does need disambiguation.