Command Reference

Authentication

Command Description
ravi auth login Authenticate via browser OAuth flow
ravi auth logout Clear stored credentials
ravi auth status Show current authentication status
ravi auth status --json

Identity management

Command Description
ravi identity list List all Identities
ravi identity create --name "X" Create a new Identity
ravi identity use <name-or-uuid> Set the active Identity
# Create and switch to a new Identity
ravi identity create --name "research-agent" --json
ravi identity use research-agent

Identity info

Command Description
ravi get email Get the active Identity's email address
ravi get phone Get the active Identity's phone number
EMAIL=$(ravi get email --json | jq -r '.email')
PHONE=$(ravi get phone --json | jq -r '.phone_number')

Inbox (grouped)

Messages grouped by conversation (SMS) or thread (email).

Command Description
ravi inbox list All messages (SMS + email combined)
ravi inbox list --type email Filter to email only
ravi inbox list --type sms Filter to SMS only
ravi inbox list --direction incoming Filter by direction
ravi inbox list --unread Unread messages only
ravi inbox email List email threads
ravi inbox email <thread-id> View a specific email thread
ravi inbox sms List SMS conversations
ravi inbox sms <conversation-id> View a specific SMS conversation
# Get unread SMS previews
ravi inbox sms --unread --json | jq -r '.[].preview'

# Read a specific email thread
ravi inbox email <thread_id> --json | jq -r '.messages[].text_content'

Messages (flat)

Individual messages without grouping.

Command Description
ravi message email List all email messages
ravi message email <message-id> View a specific email message
ravi message email --unread Unread email messages only
ravi message sms List all SMS messages
ravi message sms <message-id> View a specific SMS message
ravi message sms --unread Unread SMS messages only

Email sending

Command Description
ravi email compose Compose and send a new email
ravi email reply <message-id> Reply to sender only
ravi email reply-all <message-id> Reply to all recipients

Compose flags:

Flag Required Description
--to Yes Recipient email address
--subject Yes Email subject line
--body Yes Email body (HTML supported)
--cc No CC recipients (comma-separated)
--bcc No BCC recipients (comma-separated)
--attach No File to attach (repeatable)
ravi email compose \
  --to "user@example.com" \
  --subject "Report" \
  --body "<p>See attached.</p>" \
  --attach report.pdf \
  --json

Reply flags: --subject (required), --body (required), --attach (optional)

Passwords (E2E encrypted)

Command Description
ravi passwords list List all stored passwords
ravi passwords get <uuid> Show a password entry (decrypted)
ravi passwords create <domain> Create a new entry
ravi passwords edit <uuid> Edit a password entry
ravi passwords delete <uuid> Delete a password entry
ravi passwords generate Generate a random password without storing

Create flags: --username, --password, --generate, --length (default: 16), --no-special, --no-digits, --exclude-chars, --notes

# Auto-generate a password for a domain
ravi passwords create github.com --username "agent@in.ravi.app" --json

# Generate without storing
ravi passwords generate --length 32 --json

Secrets (E2E encrypted)

Command Description
ravi secrets set <key> <value> Store a secret (creates or updates)
ravi secrets get <key> Retrieve a secret by key
ravi secrets list List all secret keys
ravi secrets delete <key> Delete a secret
ravi secrets set OPENAI_API_KEY "sk-abc123..." --json
ravi secrets get OPENAI_API_KEY --json | jq -r '.value'
ravi secrets list --json | jq -r '.[].key'

Feedback

Command Description
ravi feedback "<message>" Send feedback to the Ravi team
ravi feedback "Love the CLI, but would like custom domains" --json

Global flags

Flag Description
--json Output in JSON format (recommended for AI agents)
--help Show help for any command
--version Show version information