:LovelaceAuth
Pair (trust) this Neovim client with your Lovelace Lattice daemon.
Command Signature
:LovelaceAuth
Alias: :LAuth
Description
The Neovim extension uses the Lattice daemon pairing APIs (pairing.*) instead of an OAuth device code flow.
What it does:
- Shows current pairing/trust status (
pairing.status) - If the device is not set up, starts pairing (
pairing.initiate) and shows a 4-word code - Lets you refresh the code (
pairing.getCode) and cancel a pending request (pairing.cancel)
When to use:
- First-time setup after installation
- When
:LovelaceHealthshows "Device not set up" - When you want to confirm trust status (DID / trust level)
Output Format
When Already Set Up
## Pairing / Trust
✓ Device is set up
DID: did:key:...
Trust: platform_verified
Pending requests: 0
When Pairing Is Required
# Pair This Neovim Client
Pairing code: apple-banana-cherry-date
Expires: 2026-02-08T21:15:00Z
Request ID: 9f5b...
Keybindings:
c - Copy pairing code
r - Refresh code
x - Cancel request
q - Close
Pairing Keybindings
While the pairing window is open:
| Key | Action | Description |
|---|---|---|
c | Copy code | Copy the pairing code to clipboard |
r | Refresh | Refresh the pairing code (if supported) |
x | Cancel | Cancel the pending pairing request |
q | Close | Close the window |
Pairing Walkthrough
-
Run:
vim:LovelaceAuth -
Press
cto copy the pairing code. -
Approve the code on a trusted device (example):
bashada pair approve apple-banana-cherry-date -
Back in Neovim, press
rto refresh (or re-run:LovelaceHealth).
Device Identity Persistence
The extension persists a device DID under Neovim's data directory:
stdpath("data")/lovelace/device.json
Deleting this file will cause Neovim to generate a new device identity the next time you pair.
Troubleshooting
Daemon Not Running
If :LovelaceAuth fails to connect:
lattice-ctl daemon start
lattice-ctl daemon status
Then re-run:
:LovelaceHealth
Pairing Code Expired
Pairing requests expire after a short time window (typically 5 minutes). If the code expires:
:LovelaceAuth
Generate a new code and approve it again.
Rate Limited
If pairing initiation is rate limited, wait briefly (often ~30 seconds) and try again.
Socket Path Issues
If your daemon uses a non-default socket path, configure either:
- Plugin config:
daemon.socket_path = "/path/to/daemon.sock" - Environment:
LOCALHOST_SOCKET=/path/to/daemon.sock
Related Commands
| Command | Purpose |
|---|---|
| :LovelaceHealth | Verify connectivity and pairing status |
| :LovelaceTasks | List tasks |
| :LovelaceSession | Show workspace/session info |