(//I've since worked out that this is probably only a problem on w32 - Unfortunately I can't test a physical linux system at present, but from the dim dark past I seem to remember it working there//)
Currently, if you have the wrong smart card inserted, the agent requests you to insert the right card. It would be nice if it also did this when you don't have a card inserted at all.
~~Looking at [[ https://dev.gnupg.org/source/gnupg/browse/master/agent/divert-scd.c;47106ac435e891ced67f0ad9bb6b2ee12098c880$111 | line 111 ]] of `agent/divert-scd.c`, in my limited knowledge of the code base, it looks like the logic test could be changed from:~~
```
if (!rc) {
```
~~to:~~
```
if (!rc || no_card) {
```
~~to achieve this?~~
~~The ternary operator on [[ https://dev.gnupg.org/source/gnupg/browse/master/agent/divert-scd.c;47106ac435e891ced67f0ad9bb6b2ee12098c880$117 | line 117 ]] appears to already have the appropriate prompt ready to go, but the code path will never make it there (`rc` is only ever set when there is a card inserted, `no_card` is only set when there isn't a card present - the check above only checks `rc`)~~