Trying to add subkeys for either sign or auth with future-default as the algo argument it fails with:
gpg: Key generation failed: Wrong key usage
gpg: Key not changed so no update needed.
Adding an encr key with future-default works as expected. Manually specifying ed25519 as the algo for auth/sign works as well of course.
Below is a full printout showing/testing the above, i.e. make a new key, then try to add future-default subkeys for auth, sign and encr.
Then manually specifying ed25519 for auth/sign showing that it works. As well as listing the keys.
$ gpg --quiet --batch --passphrase "" --quick-generate-key TEST future-default cert 0 gpg: key 2E2655B274A961E3 marked as ultimately trusted $ gpg --quiet --list-keys /home/alice/.gnupg/pubring.kbx ------------------------------ pub ed25519 2018-01-18 [C] A528F3A24FF0FC6BDFC2AAD22E2655B274A961E3 uid [ultimate] TEST $ gpg --batch --passphrase "" --quick-add-key A528F3A24FF0FC6BDFC2AAD22E2655B274A961E3 future-default auth gpg: Key generation failed: Wrong key usage gpg: Key not changed so no update needed. $ gpg --batch --passphrase "" --quick-add-key A528F3A24FF0FC6BDFC2AAD22E2655B274A961E3 future-default sign gpg: Key generation failed: Wrong key usage gpg: Key not changed so no update needed. $ gpg --batch --passphrase "" --quick-add-key A528F3A24FF0FC6BDFC2AAD22E2655B274A961E3 future-default encr $ gpg --list-keys /home/alice/.gnupg/pubring.kbx ------------------------------ pub ed25519 2018-01-18 [C] A528F3A24FF0FC6BDFC2AAD22E2655B274A961E3 uid [ultimate] TEST sub cv25519 2018-01-18 [E] $ gpg --batch --passphrase "" --quick-add-key A528F3A24FF0FC6BDFC2AAD22E2655B274A961E3 ed25519 auth $ gpg --batch --passphrase "" --quick-add-key A528F3A24FF0FC6BDFC2AAD22E2655B274A961E3 ed25519 sign $ gpg --list-keys /home/alice/.gnupg/pubring.kbx ------------------------------ pub ed25519 2018-01-18 [C] A528F3A24FF0FC6BDFC2AAD22E2655B274A961E3 uid [ultimate] TEST sub cv25519 2018-01-18 [E] sub ed25519 2018-01-18 [A] sub ed25519 2018-01-18 [S] $ gpg --version gpg (GnuPG) 2.2.4 libgcrypt 1.8.1 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Home: /home/alice/.gnupg Supported algorithms: Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256 Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224 Compression: Uncompressed, ZIP, ZLIB, BZIP2