Your stored Argo CD auth token expired (or was revoked server-side) - every command fails the same way until you re-authenticate. Run argocd relogin to refresh the session in place; if the token's JTI was deleted server-side, log in fresh with argocd login. In scripts, prefer a project token with a long TTL over an interactive session.

## The error
```text
rpc error: code = Unauthenticated desc = token expired
```

## What to do
1. Refresh the session:
```bash
argocd relogin
```
   Expected: Prompts for credentials, saves a fresh token.
2. Verify:
```bash
argocd account get-user-info
```
   Expected: Returns your user instead of Unauthenticated.
3. If relogin still fails, the server-side token record is gone - log in fresh:
```bash
argocd login [server] --grpc-web --username [user]
```
   Expected: New session established.

## When this applies
- the exact rpc error code Unauthenticated message
- sessions that worked yesterday and fail today
- tokens revoked by an admin

## When it does NOT apply
- PermissionDenied (logged in, but RBAC says no)
- Failed to invoke grpc call (transport, not token)

## Works with
argocd CLI 2.x/3.x

### FATA[0000] rpc error: code = Unauthenticated desc = invalid token
Same expired-or-bad-token family. Same relogin fix.

## Why it happens
The CLI stores a JWT in ~/.config/argocd/config. JWTs carry an expiry, and the server can also invalidate the token id (JTI) - either way the stored credential stops working and every call 401s.

## Edge cases
- SSO sessions expire with the IdP session too - relogin re-runs the browser flow.
- Automation should use argocd account generate-token / project tokens, not a human session that silently expires.

## Resolved from
computingforgeeks argocd login guide - https://computingforgeeks.com/argocd-cli-login-authentication/