pass-cli doesn't detect server-side session invalidation
Description:
## Summary
When sessions are terminated via Proton account settings, pass-cli fails to detect that its local session token is invalid. The CLI reports "already
authenticated" but fails when attempting API operations.
## Version Information
- pass-cli version: 1.4.3 (492a01f)
- Platform: macOS (Darwin 25.3.0)
## Steps to Reproduce
1. Login to pass-cli: pass-cli login
2. Verify authentication: pass-cli login
- Output: "Client is already authenticated. Log out if you want to log in again"
3. Go to Proton account settings → Sessions → End all sessions
4. Attempt to use pass-cli: pass-cli vault list
## Expected Behavior
One of the following should occur:
- pass-cli login detects the invalid session and prompts for re-authentication
- pass-cli vault list returns a clear error: "Session expired, please login again"
## Actual Behavior
$ pass-cli login
Client is already authenticated. Log out if you want to log in again
$ pass-cli vault list
2026-02-15T20:53:34.595980Z ERROR pass-cli/src/main.rs:240: Command is not logout there is no session
Error: This operation requires an authenticated client
## Impact
This affects downstream tools using pass-cli as a credential provider (e.g., proton-drive-cli with PROTON_CREDENTIAL_PROVIDER=pass-cli). These tools
fail with cryptic "non-existent session" errors because pass-cli incorrectly reports itself as authenticated.
## Workaround
Run pass-cli logout && pass-cli login to force fresh authentication.
## Technical Details
The issue appears to be in session validation logic. pass-cli checks local session state but doesn't validate with the server until an actual API call
is made. The error message from src/main.rs:240 suggests the session check happens too late in the command execution flow.
Please file a bug report: https://proton.me/support/report-bug