A parse failure, as tcm reports it: what's wrong (with the option meant, for one that's misspelt), and what the command takes, as its help says: its usage, arguments and options. `--branch` given to a command that changes things is refused, saying which commands read another branch.
What a command takes, as its help says it: its usage line (its subcommands'), arguments, subcommands and options. Help shows it, and so does a usage error.
The names closest to one that isn't there, most likely first: the same last part under another namespace (sharing more of the namespace first), then the names fewest letters off, if they're only a few.
What to say for a name that isn't found, given the names there are: a namespace's (what it holds), or the names meant most likely (the same name in another namespace, or one spelled almost the same).
Whether a command only reads, and so reads another branch with `--branch` (`readBranch`): `tcm branch <name>`'s argument, and `tcm mcp --branch`, are other things. (Every run asks, so it reads the route alone, not the help.)