The usage message and the man page both show that [-c | -s] [-Dd] are compatible with [command [arg ...]]. ``` $ ssh-agent -D /bin/bash usage: ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash] [-P provider_whitelist] [-t life] [command [arg ...]] ssh-agent [-c | -s] -k $ ``` The SYNOPSIS and the usage message should both be changed to show that they are incompatible. This would have saved me hours: usage: ssh-agent [-a bind_address] [-E fingerprint_hash] [-P provider_whitelist] [-t life] ( [-c | -s] [-Dd] | [command [arg ...]] ) ssh-agent [-c | -s] -k
We actually did that recently (https://github.com/openssh/openssh-portable/commit/00531bb42f1af17ddabea59c3d9c4b0629000d27) and it's in 8.4p1 which was released in the last couple of days. $ ssh -V OpenSSH_8.4, LibreSSL 3.2.2 $ ssh-agent -? ssh-agent: unknown option -- ? usage: ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash] [-P allowed_providers] [-t life] ssh-agent [-a bind_address] [-E fingerprint_hash] [-P allowed_providers] [-t life] command [arg ...] ssh-agent [-c | -s] -k
close bugs that were resolved in OpenSSH 8.5 release cycle