The problem I see here is that the white space changed its meaning in the middle of the string without a clear visual signal.

The first one is a delimiter between a keyword `ci` and the rest; the second one is a literal inside a variable name. I find this very confusing. There is a reason that shells don't allow this, and that they demand an escape `\ ` or a quote (either single or double).

If `foo` were a recognized command, `[ci foo bar=baz]` is ambiguous.