id = "bitwarden-cli"
name = "Bitwarden CLI"
homepage = "https://bitwarden.com/help/cli/"
executables = ["bw"]
[dotfiles]
paths = []
secret = ["[appData]/Bitwarden CLI/"]
side_effect = false
[commands]
format = 1
label = "Output options"
description = "Global output options for bw. Use the subcommand tabs for login, unlock, sync, list, get and generate; master passwords and session keys are never typed into this form."
quality = "ai-draft"
base = "fig:bw"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/bw.ts"
license = "MIT"
[[commands.field]]
id = "pretty"
label = "Pretty-print JSON"
description = "Format output; JSON is indented with two spaces."
type = "boolean"
option = ["--pretty"]
sources = ["fig"]
[[commands.field]]
id = "raw"
label = "Raw output"
description = "Return raw output instead of a descriptive message."
type = "boolean"
option = ["--raw"]
sources = ["fig"]
[[commands.field]]
id = "response"
label = "JSON response"
type = "boolean"
option = ["--response"]
sources = ["fig"]
[[commands.field]]
id = "quiet"
label = "Quiet"
description = "Do not return anything to stdout."
type = "boolean"
option = ["--quiet"]
sources = ["fig"]
[[commands.field]]
id = "nointeraction"
label = "No prompts"
description = "Do not prompt for interactive user input."
type = "boolean"
option = ["--nointeraction"]
sources = ["fig"]
[[commands.task]]
id = "scripting"
label = "Script-friendly output"
fields = ["raw", "nointeraction"]
required = []
set = { raw = [true], nointeraction = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["pretty", "raw", "response", "quiet", "nointeraction"]
[[commands.subcommand]]
path = ["login"]
label = "Log in"
description = "Log into a user account. The master password is entered at the prompt."
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/bw.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "email"
label = "Email"
type = "string"
position = 0
sources = ["fig"]
[[commands.subcommand.field]]
id = "sso"
label = "Single sign-on"
type = "boolean"
option = ["--sso"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "apikey"
label = "API key"
type = "boolean"
option = ["--apikey"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "method"
label = "Two-step method"
description = "Two-step login method."
type = "string"
option = ["--method"]
suggestions = [{ value = "0", label = "Authenticator app" }, { value = "1", label = "Email" }, { value = "3", label = "YubiKey" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "code"
label = "Two-step code"
type = "string"
option = ["--code"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "check"
label = "Check login status"
type = "boolean"
option = ["--check"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "login"
label = "Log in with email"
fields = ["email"]
required = ["email"]
[[commands.subcommand.task]]
id = "sso"
label = "Log in with SSO"
fields = ["sso"]
required = []
set = { sso = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["email", "sso", "apikey"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["method", "code", "check"]
[[commands.subcommand]]
path = ["unlock"]
label = "Unlock vault"
description = "Unlock the vault and print a new session key. The master password is entered at the prompt."
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/bw.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "passwordenv"
label = "Password variable"
description = "Name of an environment variable holding your password."
type = "string"
option = ["--passwordenv"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "passwordfile"
label = "Password file"
description = "File with the password as its first line."
type = "path"
option = ["--passwordfile"]
path = { kind = "file", role = "input" }
sources = ["fig"]
[[commands.subcommand.field]]
id = "check"
label = "Check lock status"
type = "boolean"
option = ["--check"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "unlock"
label = "Unlock"
fields = ["passwordenv", "passwordfile"]
required = []
[[commands.subcommand.task]]
id = "check"
label = "Check lock status"
fields = ["check"]
required = []
set = { check = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["passwordenv", "passwordfile", "check"]
[[commands.subcommand]]
path = ["sync"]
label = "Sync vault"
description = "Pull the latest vault data from the server."
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/bw.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "force"
label = "Force full sync"
type = "boolean"
option = ["--force", "-f"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "last"
label = "Show last sync"
type = "boolean"
option = ["--last"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "sync"
label = "Sync"
fields = ["force"]
required = []
[[commands.subcommand.task]]
id = "last"
label = "Last sync time"
fields = ["last"]
required = []
set = { last = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["force", "last"]
[[commands.subcommand]]
path = ["list"]
label = "List vault objects"
description = "List items, folders, collections or organizations."
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/bw.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "object"
label = "Object type"
type = "string"
position = 0
suggestions = [{ value = "items", label = "items" }, { value = "folders", label = "folders" }, { value = "collections", label = "collections" }, { value = "org-collections", label = "org-collections" }, { value = "org-members", label = "org-members" }, { value = "organizations", label = "organizations" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "search"
label = "Search"
type = "string"
option = ["--search"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "url"
label = "URL match"
description = "Filter login items by URL."
type = "url"
option = ["--url"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "folderid"
label = "Folder ID"
type = "string"
option = ["--folderid"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "collectionid"
label = "Collection ID"
type = "string"
option = ["--collectionid"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "organizationid"
label = "Organization ID"
type = "string"
option = ["--organizationid"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "trash"
label = "Items in trash"
type = "boolean"
option = ["--trash"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "items"
label = "Search items"
fields = ["object", "search"]
required = ["object"]
set = { object = ["items"] }
[[commands.subcommand.task]]
id = "folders"
label = "List folders"
fields = ["object"]
required = ["object"]
set = { object = ["folders"] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["object", "search", "url"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["folderid", "collectionid", "organizationid", "trash"]
[[commands.subcommand]]
path = ["get"]
label = "Get an object"
description = "Print one object from the vault. Output includes secrets; check who can see your screen."
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/bw.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "object"
label = "Object type"
type = "string"
position = 0
suggestions = [{ value = "item", label = "item" }, { value = "username", label = "username" }, { value = "password", label = "password" }, { value = "uri", label = "uri" }, { value = "totp", label = "totp" }, { value = "exposed", label = "exposed" }, { value = "folder", label = "folder" }, { value = "collection", label = "collection" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "id"
label = "Search term or ID"
type = "string"
position = 1
sources = ["fig"]
[[commands.subcommand.field]]
id = "organizationid"
label = "Organization ID"
type = "string"
option = ["--organizationid"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "totp"
label = "Get a TOTP code"
fields = ["id"]
required = ["id"]
set = { object = ["totp"] }
lock = ["object"]
[[commands.subcommand.task]]
id = "username"
label = "Get a username"
fields = ["id"]
required = ["id"]
set = { object = ["username"] }
lock = ["object"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["object", "id"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["organizationid"]
[[commands.subcommand]]
path = ["generate"]
label = "Generate password"
description = "Generate a password. Passphrase mode is left out."
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/bw.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "length"
label = "Length"
type = "integer"
option = ["--length"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "uppercase"
label = "Uppercase"
type = "boolean"
option = ["--uppercase", "-u"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "lowercase"
label = "Lowercase"
type = "boolean"
option = ["--lowercase", "-l"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "number"
label = "Numbers"
type = "boolean"
option = ["--number", "-n"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "special"
label = "Special characters"
type = "boolean"
option = ["--special", "-s"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "strong"
label = "24 characters, all classes"
fields = ["length", "uppercase", "lowercase", "number", "special"]
required = []
set = { length = [24], uppercase = [true], lowercase = [true], number = [true], special = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["length", "uppercase", "lowercase", "number", "special"]