Command Reference

Authentication

CommandDescription
ravi auth loginAuthenticate via browser OAuth flow
ravi auth logoutClear stored credentials
ravi auth statusShow current authentication status
ravi auth status --json

Identity management

CommandDescription
ravi identity listList 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

CommandDescription
ravi get emailGet the active Identity’s email address
ravi get phoneGet 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).

CommandDescription
ravi inbox listAll messages (SMS + email combined)
ravi inbox list --type emailFilter to email only
ravi inbox list --type smsFilter to SMS only
ravi inbox list --direction incomingFilter by direction
ravi inbox list --unreadUnread messages only
ravi inbox emailList email threads
ravi inbox email <thread-id>View a specific email thread
ravi inbox smsList 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.

CommandDescription
ravi message emailList all email messages
ravi message email <message-id>View a specific email message
ravi message email --unreadUnread email messages only
ravi message smsList all SMS messages
ravi message sms <message-id>View a specific SMS message
ravi message sms --unreadUnread SMS messages only

Email sending

CommandDescription
ravi email composeCompose 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:

FlagRequiredDescription
--toYesRecipient email address
--subjectYesEmail subject line
--bodyYesEmail body (HTML supported)
--ccNoCC recipients (comma-separated)
--bccNoBCC recipients (comma-separated)
--attachNoFile 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)

CommandDescription
ravi passwords listList 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 generateGenerate 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)

CommandDescription
ravi secrets set <key> <value>Store a secret (creates or updates)
ravi secrets get <key>Retrieve a secret by key
ravi secrets listList 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

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

Global flags

FlagDescription
--jsonOutput in JSON format (recommended for AI agents)
--helpShow help for any command
--versionShow version information