Skip to content

lasbolt

Generated from lasbolt help and lasbolt <command> --help, and the command table in client/internal/cli/app.go. Do not edit.

lasbolt is the command line client. It talks to your server and to the local agent. Each command below shows its forms and its flags.

Usage

$ lasbolt help
lasbolt: command line client for Lasbolt

Usage: lasbolt <command> [flags] [arguments]

Account:
  login <server URL>              sign in: approve the code in the browser
                                  (--access read|write|admin, --meta, --no-browser)
  login --password <server URL>   log in with the master password
  login --key <server URL>        use a scoped key (key string on stdin)
  logout                          revoke this device and wipe local data
  recover                         forgot the master password: use the recovery code
  unlock                          open the end-to-end folders again
  lock                            drop the end-to-end keys from memory
  e2e accept-rollback <folder>    accept the state of an end-to-end folder after
                                  the server was restored from a backup (--yes)
  e2e rotate-keys                 make new user keys and rewrap the end-to-end folders
                                  (--new-password, --yes, --kit-file PATH)
  status                          show the login and sync state
  sync                            pull and push changes
Read:
  ls [path]                       list spaces, folders and items
  search <text>                   search names, usernames and URLs
  show <ref>                      show an item (secrets hidden)
  read <ref>                      print one value
  conflicts                       list fields that changed on two devices
Use:
  run --env NAME=ref ... -- cmd   run a command with secrets in its environment
  inject [-i file] [-o file]      fill {{ lasbolt://... }} in a template
Write:
  edit <ref> --set field=value    change fields of an item
  purge <ref>                     delete an item or folder in an end-to-end folder
                                  for good (--yes)
  new <login|note|folder> <path>  make an item or a folder
  rm <ref>                        move an item to the trash
  meta set <item> key=value ...   set metadata of an item (--type, --dry-run)
  meta unset <item> key ...       clear metadata of an item
  import bitwarden FILE           import a Bitwarden export: JSON, password protected
                                  JSON, CSV or ZIP (--into FOLDER, --dry-run,
                                  --include-deleted, --skip-existing). The password
                                  of a protected file: prompt, stdin or
                                  LASBOLT_IMPORT_PASSWORD

Keys and sessions (need admin access and your user keys):
  keys list|create|revoke         scoped keys (create <name> --access --values --folder
                                  --item --e2e-grant --expires --ip)
  sessions list|revoke            device-code sessions

Peer sync (devices of one user sync with each other, also without the server;
the agent does it, DESIGN 15):
  peer status                     peer sync state, this device's key fingerprint,
                                  the peers with their path (lan, direct, none),
                                  the last exchange and the unsettled op count
  peer list                       the peers and their key fingerprints
  peer on|off                     turn peer sync on or off for this device
  peer set networks any|lan|RANGES  which networks to use (RANGES: 192.168.0.0/16,...)
  peer set beacons on|off         LAN discovery beacons
  peer set port N|auto            the UDP port (auto: 7849, else a free port)
  peer set pinned on|off          use a new peer key only after you confirm it
  peer confirm DEVICE [--yes]     confirm the key fingerprint of a peer (for pinned)
  peer add HOST:PORT              add an endpoint that the device tries for all peers

Agent:
  agent start|stop|status         the local agent holds the keys and the store
  mcp                             MCP server on stdio for AI agents (tools: status,
                                  search, describe, run, login; no secret values)

Browsers:
  integrate firefox|chrome        write the native messaging host manifest
                                  (--extension-id ID, --uninstall, --dry-run, --json)
  nm-host                         native messaging host (a browser starts it, not you)

Flags for all commands: --json, --offline, --purpose TEXT, --no-agent.
Set LASBOLT_AGENT=off to run without the agent. LASBOLT_KEY=lasbolt_sk_… with
LASBOLT_SERVER=<URL> runs one command with a scoped key, in memory only.
References: lasbolt://space/folder/item/field, lasbolt://id/<item ID>/<field>,
or a plain path such as Personal/Web/github/password.

Flags for all commands

FlagValueMeaning
--json(none)print JSON
--no-agent(none)do not use the agent (direct mode)
--offline(none)do not use the network
--purposestringreason for this use (audit)
Flags for all commands: --json, --offline, --purpose TEXT, --no-agent.
Set LASBOLT_AGENT=off to run without the agent. LASBOLT_KEY=lasbolt_sk_… with
LASBOLT_SERVER=<URL> runs one command with a scoped key, in memory only.
References: lasbolt://space/folder/item/field, lasbolt://id/<item ID>/<field>,
or a plain path such as Personal/Web/github/password.

Exit codes are on the exit codes page. Error codes in the JSON output are on the error codes page.

lasbolt login

FormWhat it does
lasbolt login <server URL>sign in: approve the code in the browser (–access read|write|admin, –meta, –no-browser)
lasbolt login --password <server URL>log in with the master password
lasbolt login --key <server URL>use a scoped key (key string on stdin)

Flags of this command, besides the flags for all commands:

FlagValueMeaning
--accessstringaccess of the session: read, write or admin (default “read”)
--allow-http(none)allow plain http to a non-local host
--device-namestringname of this device (default: host name)
--key(none)log in with a scoped key (the key string from stdin or LASBOLT_KEY)
--meta(none)ask for a session that sees names and metadata only
--no-browser(none)do not open a browser; only print the address
--pair-idstringpairing offer ID from a QR code of the web app (device-code login only)
--password(none)log in with the master password
--totpstringauthentication code (or LASBOLT_TOTP)
--userstringuser name (or LASBOLT_USERNAME)

lasbolt logout

FormWhat it does
lasbolt logoutrevoke this device and wipe local data

Flags of this command, besides the flags for all commands:

FlagValueMeaning
--force(none)wipe even if changes are not pushed

lasbolt recover

FormWhat it does
lasbolt recoverforgot the master password: use the recovery code

Flags of this command, besides the flags for all commands:

FlagValueMeaning
--allow-http(none)allow plain http to a non-local host
--device-namestringname of this device for the login after the recovery
--kit-filestringsave the new recovery kit as a text file (mode 0600; an existing file is not replaced)
--no-login(none)do not log in after the recovery
--serverstringserver URL (default: LASBOLT_SERVER, else the current login)
--stdin(none)read the recovery code from the first line of stdin
--totpstringauthentication code for the login after the recovery (or LASBOLT_TOTP)
--userstringuser name (default: LASBOLT_USERNAME, else the current login)

lasbolt unlock

FormWhat it does
lasbolt unlockopen the end-to-end folders again

lasbolt lock

FormWhat it does
lasbolt lockdrop the end-to-end keys from memory

lasbolt e2e

FormWhat it does
lasbolt e2e accept-rollback <folder>accept the state of an end-to-end folder after the server was restored from a backup (–yes)
lasbolt e2e rotate-keysmake new user keys and rewrap the end-to-end folders (–new-password, –yes, –kit-file PATH)

lasbolt e2e accept-rollback

FlagValueMeaning
--yes(none)do not ask

lasbolt e2e rotate-keys

FlagValueMeaning
--kit-filestringalso save the new recovery kit to this file (mode 0600, never replaced)
--new-password(none)also set a new master password
--yes(none)do not ask

lasbolt status

FormWhat it does
lasbolt statusshow the login and sync state

lasbolt sync

FormWhat it does
lasbolt syncpull and push changes

lasbolt ls

FormWhat it does
lasbolt ls [path]list spaces, folders and items

lasbolt search

FormWhat it does
lasbolt search <text>search names, usernames and URLs

lasbolt show

FormWhat it does
lasbolt show <ref>show an item (secrets hidden)

lasbolt read

FormWhat it does
lasbolt read <ref>print one value

Flags of this command, besides the flags for all commands:

FlagValueMeaning
--approval-timeoutstringhow long to wait for a per-use approval in the web app (env LASBOLT_APPROVAL_TIMEOUT; default 2m)
--n(none)do not print a newline

lasbolt conflicts

FormWhat it does
lasbolt conflictslist fields that changed on two devices

Flags of this command, besides the flags for all commands:

FlagValueMeaning
--reveal(none)print secret values too

lasbolt run

FormWhat it does
lasbolt run --env NAME=ref ... -- cmdrun a command with secrets in its environment

Flags of this command, besides the flags for all commands:

FlagValueMeaning
--approval-timeoutstringhow long to wait for a per-use approval in the web app (env LASBOLT_APPROVAL_TIMEOUT; default 2m)
--envvalueNAME=ref (repeatable)

lasbolt inject

FormWhat it does
lasbolt inject [-i file] [-o file]fill {{ lasbolt://… }} in a template

Flags of this command, besides the flags for all commands:

FlagValueMeaning
--approval-timeoutstringhow long to wait for a per-use approval in the web app (env LASBOLT_APPROVAL_TIMEOUT; default 2m)
--istringtemplate file (default: stdin)
--ostringoutput file, mode 0600 (default: stdout)

lasbolt edit

FormWhat it does
lasbolt edit <ref> --set field=valuechange fields of an item

Flags of this command, besides the flags for all commands:

FlagValueMeaning
--approvestringeach-use: a session or a key must ask in the web app before it reads a secret of the item; off: it need not
--dry-run(none)show the changes, do not write
--namestringnew name of the item
--secret(none)new custom fields are secret
--setvaluefield=value (repeatable)
--stdinstringread the value of this field from stdin
--unsetvaluefield to clear (repeatable)

lasbolt purge

FormWhat it does
lasbolt purge <ref>delete an item or folder in an end-to-end folder for good (–yes)

Flags of this command, besides the flags for all commands:

FlagValueMeaning
--yes(none)do not ask

lasbolt new

FormWhat it does
lasbolt new <login|note|folder> <path>make an item or a folder

Flags of this command, besides the flags for all commands:

FlagValueMeaning
--dry-run(none)show the changes, do not write
--if-missing(none)succeed if the entry exists already
--secret(none)new custom fields are secret
--setvaluefield=value (repeatable)
--stdinstringread the value of this field from stdin

lasbolt rm

FormWhat it does
lasbolt rm <ref>move an item to the trash

lasbolt meta

FormWhat it does
lasbolt meta set <item> key=value ...set metadata of an item (–type, –dry-run)
lasbolt meta unset <item> key ...clear metadata of an item

lasbolt meta set

FlagValueMeaning
--dry-run(none)show the changes, do not write
--typestringtype of the values: text, url, date, duration, enum, list or number

lasbolt meta unset

FlagValueMeaning
--dry-run(none)show the changes, do not write

lasbolt import

FormWhat it does
lasbolt import bitwarden FILEimport a Bitwarden export: JSON, password protected JSON, CSV or ZIP (–into FOLDER, –dry-run, –include-deleted, –skip-existing). The password of a protected file: prompt, stdin or LASBOLT_IMPORT_PASSWORD

Flags of this command, besides the flags for all commands:

FlagValueMeaning
--dry-run(none)print the report and write nothing
--include-deleted(none)import items from the Bitwarden trash (they go to the trash)
--intostringtarget folder (a path or lasbolt://id/…); default: the root of the personal space
--skip-existing(none)skip items that match an item of the vault by name, user name and URL

lasbolt keys

FormWhat it does
lasbolt keys list|create|revokescoped keys (create <name> –access –values –folder –item –e2e-grant –expires –ip)

lasbolt keys create

FlagValueMeaning
--accessstringread or write (default “read”)
--e2e-grantvaluegive the key of an encrypted folder or item (repeatable)
--expiresstringend of the key: 30d, 12h, 2026-12-31
--foldervaluelimit to a space or folder (repeatable)
--ipvalueallowed client IP range, CIDR (repeatable)
--itemvaluelimit to an item (repeatable)
--valuesstringall or meta (names and metadata only) (default “all”)

lasbolt keys list

FlagValueMeaning
--all(none)include revoked and expired keys

lasbolt sessions

FormWhat it does
lasbolt sessions list|revokedevice-code sessions

lasbolt peer

FormWhat it does
lasbolt peer statuspeer sync state, this device’s key fingerprint, the peers with their path (lan, direct, none), the last exchange and the unsettled op count
lasbolt peer listthe peers and their key fingerprints
lasbolt peer on|offturn peer sync on or off for this device
lasbolt peer set networks any|lan|RANGESwhich networks to use (RANGES: 192.168.0.0/16,…)
lasbolt peer set beacons on|offLAN discovery beacons
lasbolt peer set port N|autothe UDP port (auto: 7849, else a free port)
lasbolt peer set pinned on|offuse a new peer key only after you confirm it
lasbolt peer confirm DEVICE [--yes]confirm the key fingerprint of a peer (for pinned)
lasbolt peer add HOST:PORTadd an endpoint that the device tries for all peers

lasbolt peer confirm

FlagValueMeaning
--yes(none)do not ask

lasbolt agent

FormWhat it does
lasbolt agent start|stop|statusthe local agent holds the keys and the store

lasbolt mcp

FormWhat it does
lasbolt mcpMCP server on stdio for AI agents (tools: status, search, describe, run, login; no secret values)

lasbolt integrate

FormWhat it does
lasbolt integrate firefox|chromewrite the native messaging host manifest (–extension-id ID, –uninstall, –dry-run, –json)

Flags of this command, besides the flags for all commands:

FlagValueMeaning
--dry-run(none)show what would change
--extension-idstringID of the extension
--uninstall(none)remove the manifest

lasbolt nm-host

FormWhat it does
lasbolt nm-hostnative messaging host (a browser starts it, not you)