You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the agent is locked, the TUI no longer dead-ends at a "run vault
unlock" banner — it shows an interactive unlock prompt for the registered
account. Type the master password, or Tab to a PIN when one is enrolled,
and drop straight into the browser. Reuses the readline TextInput (secret
masked with bullets) and the existing Unlock/UnlockPin requests — no
protocol or agent changes. Failed unlocks show the error (incl.
BadPin { attempts_remaining } / PinLockedOut) and clear the field; Esc
quits.
A locked agent reports server/email as None, so the TUI needs the account
from the registered profile. config.rs is extracted from vault-cli into a
shared vault-config crate, now used by both the CLI and the TUI (single
source of truth for config.toml; the agent still doesn't read config).
The locked screen reads vault_config::load().account() and queries
PinStatus to decide whether to offer the PIN toggle.
Tests: vault-config's units moved with it; new vault-tui units for
UnlockState::request (password vs PIN), toggle_pin (no-op without
enrollment, clears on switch), unlock_failed, and a TestBackend smoke
(account shown, secret masked, Tab hint only when a PIN is enrolled). 148
workspace tests green. No new external dependencies.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments