Skip to main content
This guide assumes you’ve already installed omi-cli.

1. Log in

omi auth login (with no flags) asks how you’d like to authenticate:
$ omi auth login
How would you like to log in?
  1) Browser  — sign in with Google or Apple via OAuth (recommended for humans)
  2) API key  — paste a developer key from app.omi.me (recommended for agents/CI)
Choose 1 or 2 [1]: _
omi auth login            # pick option 1
# or skip the prompt:
omi auth login --browser
The CLI starts a localhost callback server on an ephemeral port, opens your default browser to Omi’s auth page, and waits for the callback. Sign in with Google (or --provider apple) and you’re back at the terminal — no copying tokens around.Tokens are stored at ~/.omi/config.toml (file mode 0600). The short-lived Firebase ID token is auto-refreshed before each request using the long-lived refresh token.
Confirm:
omi auth status
          omi auth status
 profile               default
 authenticated         ✓
 auth_method           oauth
 api_base              https://api.omi.me
 credential            eyJhbG…1234
 id_token_expires_at   1714142400.0

2. Read your data

omi memory list
omi conversation list --limit 5
omi action-item list --open
omi goal list
Add --json (as a global flag, before the verb) for machine-readable output:
omi --json memory list --limit 25 | jq '.[] | {id, content, category}'

3. Make a change

# Create a memory:
omi memory create "Prefers async over sync meetings" --category work --tag preferences

# Mark an action item complete:
omi action-item complete a1b2c3d4

# Update goal progress:
omi goal progress g_xyz 7

Profiles

Got more than one Omi account (e.g. personal + work)? Use named profiles:
omi config profile use work
omi auth login                      # logs in the active profile
omi --profile personal memory list  # one-off override
Each profile has its own auth method, credential, and API base. You can mix browser-OAuth in your personal profile with an API-key in a CI profile.

Where to go next

Command reference

Every verb, every flag.

For agents

Stable JSON contract + exit codes for LLM use.