Onlykey-cli refuse to work after restoring to a different key

step to reproduce the issue:

  • on macos, plugin key A,
  • create backup, then unplug A
  • plugin key B, then restore from the backup
  • run onlykey-cli credential ls, then got error below.
  • unplug key B, plug key A, run onlykey-cli credential ls, then also got error below.
Traceback (most recent call last):
  File "/Users/me/.local/bin/onlykey-cli", line 8, in <module>
    sys.exit(main())
             ~~~~^^
  File "/Users/me/.local/pipx/venvs/onlykey/lib/python3.13/site-packages/onlykey/cli.py", line 1196, in main
    cli()
    ~~~^^
  File "/Users/me/.local/pipx/venvs/onlykey/lib/python3.13/site-packages/onlykey/cli.py", line 520, in cli
    solo.cli.key()
    ~~~~~~~~~~~~^^
  File "/Users/me/.local/pipx/venvs/onlykey/lib/python3.13/site-packages/click/core.py", line 1161, in __call__
    return self.main(*args, **kwargs)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Users/me/.local/pipx/venvs/onlykey/lib/python3.13/site-packages/click/core.py", line 1082, in main
    rv = self.invoke(ctx)
  File "/Users/me/.local/pipx/venvs/onlykey/lib/python3.13/site-packages/click/core.py", line 1697, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/Users/me/.local/pipx/venvs/onlykey/lib/python3.13/site-packages/click/core.py", line 1697, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/Users/me/.local/pipx/venvs/onlykey/lib/python3.13/site-packages/click/core.py", line 1443, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/me/.local/pipx/venvs/onlykey/lib/python3.13/site-packages/click/core.py", line 788, in invoke
    return __callback(*args, **kwargs)
  File "/Users/me/.local/pipx/venvs/onlykey/lib/python3.13/site-packages/solo/cli/key.py", line 552, in cred_ls
    client = solo.client.find(serial, udp=udp)
  File "/Users/me/.local/pipx/venvs/onlykey/lib/python3.13/site-packages/solo/client.py", line 32, in find
    p.find_device(dev=raw_device, solo_serial=solo_serial)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/me/.local/pipx/venvs/onlykey/lib/python3.13/site-packages/solo/devices/solo_v1.py", line 63, in find_device
    raise solo.exceptions.NonUniqueDeviceError
solo.exceptions.NonUniqueDeviceError

everything else works without problem with key B.
I can use it to ssh/fido2 login etc..

Are both keys running the latest firmware before backup/restore?

absolutely. I just bought it recently. I have checked the firmware.