Passwords
fd0 pass is the password manager. An item is a title, a set of URLs, an optional note, and typed fields. It is stored like every other fd0 record, so a login is shared, synced, and revoked exactly the way a secret or an SSH key is — through its scope.
Field types
Create an item
$ fd0 pass add github --url https://github.com --scope work $ fd0 pass field set github username ada@example.com $ fd0 pass field set github password --secret --generate --length 32 $ fd0 pass totp add github "otpauth://totp/GitHub:ada@example.com?secret=..."
--generate creates the value without it ever appearing in your shell history. To pass a value you already have without recording it either, use - and pipe it in: fd0 pass field set github password - --secret.
Create an item. Repeat --url for several matching URLs. The command refuses an existing name; --force replaces the whole record rather than merging.
Set one field. The path is a plain name, or section/name for a field inside a section.
Add a section so related fields can be grouped under one path.
Store a TOTP URI. It lands in the totp field unless you name another one.
Attach a small file as a field. The field takes the file's basename unless you give a path.
Change the title or replace the URL list. Fields are edited with pass field set.
Read it back
$ fd0 pass # interactive browser $ fd0 pass github # browser, pre-filtered $ fd0 pass copy github # password to the clipboard, auto-cleared $ fd0 pass totp code github $ fd0 pass show github # secrets masked $ fd0 pass list --json
Bare fd0 pass opens the interactive browser; it needs a terminal, and it tells you to use pass list or pass show when there is not one. Secrets stay masked in the browser until you use the shortcut it shows you.
Print one item. Secrets are masked; --reveal prints them, --json prints the decrypted item.
Copy a field to the clipboard and clear it again. Without a field it copies the password; on a TOTP field it copies the current code.
Print one field value to stdout. --raw drops the trailing newline, which is what scripts want.
Match items by title or URL. --url is the browser-and-autofill lookup.
Write an attached file back to disk. It refuses to overwrite unless you pass --force.
Read, replace, or remove the item's free-text note.
Generate a password without storing anything.
Everything else is the shared grammar
pass takes the same verbs as every other module — list, rename, move, rm, and history. See the CLI reference for the full set.
$ fd0 pass rename github github-work $ fd0 pass move github --to-scope personal $ fd0 pass history show github $ fd0 pass history restore github 3 $ fd0 pass rm github