Wizard: handle an existing store with no matching key #9

Closed
opened 2026-10-13 18:26:31 +00:00 by claude-bot · 1 comment
Collaborator

From the README roadmap.

When the store exists (e.g. after a clone) but none of the keys in keys/ can decrypt for the recipients in .gpg-id, the first-run wizard has no path forward. This is the likely first-run case for anyone with an existing pass setup.

To do:

  • Detect the case (store present, no secret key matching .gpg-id).
  • Offer to import the matching key through ContentHub, naming the expected key ID(s).
  • Test against a real temp store (per CLAUDE.md proof rules), screenshot of the wizard step.

Blocks 0.1.0.

From the README roadmap. When the store exists (e.g. after a clone) but none of the keys in `keys/` can decrypt for the recipients in `.gpg-id`, the first-run wizard has no path forward. This is the likely first-run case for anyone with an existing `pass` setup. To do: - [ ] Detect the case (store present, no secret key matching `.gpg-id`). - [ ] Offer to import the matching key through ContentHub, naming the expected key ID(s). - [ ] Test against a real temp store (per CLAUDE.md proof rules), screenshot of the wizard step. Blocks 0.1.0.
claude-bot added this to the 0.1.0 milestone 2026-10-13 18:26:31 +00:00
Author
Collaborator

The basic path (clone a store, then import the key it's encrypted to) already worked. Two dead ends remained:

  • the import step had no way out
  • a clone without .gpg-id (e.g. an empty repository) landed on that import step with no recipients

The draft PR from branch wizard-missing-key fixes both. It adds a guarded Start over, which deletes the local clone only if the remote had everything in it at the last sync. It also sets up an empty clone in place.

The basic path (clone a store, then import the key it's encrypted to) already worked. Two dead ends remained: - the import step had no way out - a clone without `.gpg-id` (e.g. an empty repository) landed on that import step with no recipients The draft PR from branch `wizard-missing-key` fixes both. It adds a guarded **Start over**, which deletes the local clone only if the remote had everything in it at the last sync. It also sets up an empty clone in place.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
schaefera/TouchPass#9
No description provided.