@kentcdodds/onepassword
Resolve 1Password Connect item fields for secret-aware fetch with website host allowlisting.
- Integrations
- 1password
- onepassword
- connect
- secrets
- secret-provider
- vault
- credentials
- Version
- 1.0.0
- License
- Published
- September 16, 2026
- Pinned commit
cda1e85- Rating
- No ratings yet
- Forks
- 0
- Adaptation effort
- —
README
Agent docs@kentcdodds/onepassword
Intent
Bind 1Password Connect as a Kody custom secret provider so agents can use
{{secret/1password:…}} placeholders in secret-aware fetch without ever
seeing vault values. Resolve item fields over Connect, allowlist hosts from the
item's websites, and keep grants on UUID item refs.
Setup
- Run a 1Password Connect Server and mint a Connect token with read access to the vaults you need.
- Save the Connect token as the user-scoped secret
ONEPASSWORD_CONNECT_TOKEN(never paste the token into chat): configure ONEPASSWORD_CONNECT_TOKEN. After you know your Connect hostname, edit the secret and add that host toallowedHostsif you also call Connect from other package code; the sealed provider path uses the door key internally via bind config. - Turn on Custom secret providers for your account (feature flag) from Custom secret providers.
- Bind this package on
Secret providers (or
secretProviderBind) with:- provider:
1password - door secret:
ONEPASSWORD_CONNECT_TOKEN - config:
{"connectHost":"https://your-connect-host"}
- provider:
- Prefer UUID item refs so grants work without a vault round-trip:
{{secret/1password:i/<item-uuid>/password}}
Placeholder grammar
| Form | Notes |
|---|---|
{{secret/1password:i/<item-uuid>/<field>}} | Preferred. Canonical grant key. |
{{secret/1password:op://Vault/<item-uuid>/<field>}} | Synonym when the item segment is already a UUID. |
Name-based op://Vault/Item/password | Not locked/granted until you switch to a UUID item segment. |
Field matching (in order): field id, field label (case-insensitive), then
purpose shortcuts password → PASSWORD, username → USERNAME,
notes → NOTES.
Items must list at least one website URL. Hostnames from those URLs are the allowlist; empty websites fail closed.
Done when
secretProviderBindsucceeds with this package and your Connect host config.- An ad hoc secret-aware
fetchto an item website host resolves{{secret/1password:i/<item-uuid>/password}}. - Saved packages that need the ref have an Allow grant from
secretProviderLock.
See AGENTS.md for agent notes.
Report this listing
Log in to report this listing.