Why the recovery phrase, and not the device
Short answer: a wallet is not the device. The device only holds keys, and the keys are derived from the phrase — so the phrase rebuilds everything the device can.
What actually gets lost
When the USB handshake dies, the descriptor is never re-read, so the wallet index on this Mac is never re-mounted. The index is the list of accounts and addresses the app derived earlier. It is small, local and disposable — it can be rebuilt from scratch, deterministically, from the phrase alone.
Derivation, concretely
Ledger Live uses the standard BIP32/BIP44 scheme. Bitcoin accounts live on m/84'/0'/0', Ethereum on m/44'/60'/0', Solana on m/44'/501'/0'. The seed is stretched with PBKDF2-HMAC-SHA512 into a master key, and every address below is a pure function of it:
seed = PBKDF2-HMAC-SHA512(phrase, "mnemonic", 2048)
master = HMAC-SHA512("Bitcoin seed", seed)
acct_i = CKD(master, 84' / 0' / i')
addr_i = hash160(pubkey(acct_i))
Same phrase, same indexes — same addresses. That is why a deterministic rebuild is possible without the hardware.
What the console does and does not take
- Takes: the words, in order, plus the passphrase if you use one.
- Does not take: the PIN, the device, an email, a password, a signature.
- Produces: a read-only view of the derived addresses and their on-chain balances.
- Cannot do: move funds unless you explicitly start a transfer.
Why not just reinstall or reset the bridge?
You can — reinstalling clears the descriptor cache but keeps the broken index. A bridge reset also drops the index, which is exactly the state you then have to rebuild. In both cases the phrase is the step that finishes the job; the console just does it without waiting for USB to come back.
If you use a passphrase (25th word)
A BIP39 passphrase is not stored in the 12/24 words. It is appended to the seed during derivation, so a phrase typed without it produces a different, empty wallet. Enter it separately in the field behind the checkbox — it is case sensitive and may contain spaces.