Skip to main content
Fabled

Module Creator

Pair the Module CLI securely

Create a scoped publishing session without copying a browser account token. This opaque flow requires matching source CLI and backend versions; the published npm bootstrap.1 release does not include it.

Create and exchange a pairing code

Sign in to Fabled, open /account?tab=security#module-cli-pairing, and generate a Module CLI code. This is separate from companion-device pairing. The URI has the form fabled://module-cli/<43-character-code>, expires after 120 seconds, and can be exchanged once.

fabled module login

Paste either the complete URI or the 43-character code into the hidden prompt. You may pipe it through stdin. Pairing material is deliberately not accepted as a command-line option and is never printed.

What the saved session can do

The saved opaque credential is bound to the API origin used during pairing and expires 8 hours after issuance. The CLI does not refresh it or exchange credentials with Google. Pair again after expiry; using it does not extend its lifetime.

Protect and remove the credential

Protect the saved credential, especially on shared machines. Logout revokes a live CLI session on the server before deleting its local file. If revocation fails, the file remains so you can retry. An expired session only needs local cleanup. Legacy version-1 files are rejected for publishing; logout removes them locally but does not revoke the old Firebase session.

fabled module logout
  • POSIX: the CLI requires private directories and a credential file with mode 0600, rejects links, and verifies ownership.
  • Windows: POSIX mode checks are unavailable. Keep credentials inside a private Windows user profile protected by that user's ACL.
  • FABLED_CREDENTIALS_PATH may select another absolute path. FABLED_API_URL changes the bound API origin; HTTP is accepted only for loopback development.

Non-interactive authentication

For automation, FABLED_ACCESS_TOKEN overrides the saved login. --token-stdin overrides both and keeps the token out of process arguments.

printf '%s' "$FABLED_ACCESS_TOKEN" | \
  fabled module publisher status --token-stdin