Most utilities seem to use a unique space between the colon and the program name, vmctl uses a tab that will expand to two spaces once invoked.
e.g. pfctl: unknown command line argument: tata ... usage: pfctl [-deghNnPqrvz] [-a anchor] [-D macro=value] [-F modifier] [-f file] tar foobar tar: f argument missing usage: tar {crtux}[014578befHhjLmNOoPpqsvwXZz] vmctl oops unknown argument: oops usage: vmctl [-v] command [arg ...] The style(9) manual page seems to recommend a unique space though: The getprogname(3) function may be used instead of hard-coding the program name. fprintf(stderr, "usage: %s [-ab]\n", getprogname()); exit(1); Index: main.c =================================================================== RCS file: /cvs/src/usr.sbin/vmctl/main.c,v retrieving revision 1.73 diff -u -p -u -p -r1.73 main.c --- main.c 1 Sep 2022 15:43:07 -0000 1.73 +++ main.c 30 Dec 2022 13:39:37 -0000 @@ -96,7 +96,7 @@ usage(void) { extern char *__progname; - fprintf(stderr, "usage:\t%s [-v] command [arg ...]\n", __progname); + fprintf(stderr, "usage: %s [-v] command [arg ...]\n", __progname); exit(1); } @@ -106,7 +106,7 @@ ctl_usage(struct ctl_command *ctl) { extern char *__progname; - fprintf(stderr, "usage:\t%s [-v] %s %s\n", __progname, + fprintf(stderr, "usage: %s [-v] %s %s\n", __progname, ctl->name, ctl->usage); exit(1); }