Execute cvs operations using the `cvs` CLI. All CVS pharmacy interactions should use this CLI.
The `cvs` CLI follows this pattern:
```bash
cvs [arguments] [options]
```
| Task |
Command |
| List all prescriptions |
cvs prescriptions list --table |
| Get prescription details |
cvs prescriptions get <rx_id> |
| Check refill eligibility |
cvs refills check --table |
| List order history |
cvs orders list --table |
| Get order details |
cvs orders get <order_id> |
| Check auth status |
cvs auth status |
| Login (browser) |
cvs auth login |
| </quick_start> |
|
`cvs auth login` is an interactive visible-browser handoff. It opens a normal
browser window with no automation attached and then waits for terminal input so
the user can confirm that login, OTP, and any CAPTCHA are complete before the
CLI captures the session. **Do not run `cvs auth login` as a foreground
non-PTY Hermes terminal command**; without an interactive `/dev/tty` the command
can wait until the tool timeout after printing guidance such as `Device not
configured: '/dev/tty'`.
For Hermes/Codex, use a PTY-capable interactive surface (terminal(..., pty=true) / exec_command with tty: true, then send Enter only after the
user-visible login is complete) or an explicitly approved visible-browser
handoff that provides terminal input. Do not script CVS credential entry,
CAPTCHA, OTP, or browser-session capture with browser automation; the safe
automation boundary is launching the CLI and handing the normal browser window
to the user.
</browser_auth_login>
`cvs auth status` may legitimately return a non-zero status when it reports
unauthenticated live state (for example `authenticated: false` or
`browser_session: false`). When auth state is being investigated, do not run
`cvs auth status --table` as a bare terminal command. Wrap it so the command
output is preserved as evidence and the wrapper exits 0 for expected
unauthenticated states; reserve non-zero exits for command/runtime failures or
final validation that requires an authenticated session.
</expected_status_probes>
**MANDATORY: Consult the adjacent `usage.json` at `/_repo/skills/-cli/usage.json` before executing ANY `cvs` command.**
This file contains complete command syntax, all arguments, all options, and usage instructions for every command. Never guess at command syntax.
- **prescriptions** -- View prescriptions across all linked family members (drug info, fill history, prescriber, refill status)
- **orders** -- View CVS order history (pickup/delivery status, cost breakdown)
- **refills** -- Check which prescriptions are eligible for refill or renewal
- **auth** -- Manage authentication (browser-based login with CAPTCHA/OTP)
- **cache** -- Manage cached API responses
- **auth** -- Authentication commands and nested `auth profiles` management
</essential_principles>
**`usage.json`** -- Complete command tree with arguments, options, defaults, and usage instructions for every command.
</reference_index>
- Command executes without error
- Output is displayed in requested format
- Correct command and flags used (verified against usage.json)
</success_criteria>