Skip to main content

Overview

The oobo auth command manages authentication for remote servers and API keys for AI service providers. API keys enable accurate token counting and cost tracking by fetching usage data directly from provider APIs.

Usage

oobo auth <subcommand> [OPTIONS]

Subcommands

login

Log in to oobo.dev (or a self-hosted server).
oobo auth login [--key <api-key>]
--key
string
API key (prompted interactively if omitted)

logout

Log out and remove stored credentials.
oobo auth logout

status

Show current authentication status and configured remote server.
oobo auth status
Example output:
Authentication Status

Remote Server: https://api.oobo.dev
Status: ✓ Authenticated
Account: [email protected]

API Keys:
  Anthropic: ✓ Configured (sk-ant-admin...5678)
  OpenAI: ✗ Not configured
  GitHub Copilot: ✗ Not configured
  Windsurf: ✗ Not configured
  Google: ✗ Not configured

set-remote

Set a custom remote server URL (for self-hosted or enterprise deployments).
oobo auth set-remote <url>
url
string
required
Server URL (e.g., https://oobo.mycompany.com)

anthropic

Set your Anthropic Admin API key for accurate Claude token and cost data.
oobo auth anthropic <key>
key
string
required
Anthropic Admin API key (starts with sk-ant-admin-)
This requires an Admin API key, not a regular API key. Admin keys have access to your organization’s usage data.

openai

Set your OpenAI API key for accurate GPT token and cost data.
oobo auth openai <key>
key
string
required
OpenAI API key (starts with sk-)

copilot

Set your GitHub Copilot organization Personal Access Token.
oobo auth copilot <token>
token
string
required
GitHub PAT with manage_billing:copilot scope

windsurf

Set your Windsurf/Codeium service key for analytics.
oobo auth windsurf <key>
key
string
required
Codeium service key with Analytics Read permission

google

Set your Google AI Studio API key for Gemini usage data.
oobo auth google <key>
key
string
required
Google AI Studio API key

Examples

Configure Anthropic Admin API key

oobo auth anthropic sk-ant-admin-xxxxx
After setting this, oobo stats will show accurate token counts and costs for Claude usage.

Check authentication status

oobo auth status

Set up self-hosted server

oobo auth set-remote https://oobo.mycompany.com
oobo auth login --key sk-oobo-xxxxx

Remove all credentials

oobo auth logout

API Key Security

API keys are stored in ~/.oobo/config.toml with chmod 0600 (owner-only read/write). They are never transmitted except to the respective service provider APIs.

What API keys are used for

  • Anthropic Admin API: Fetch accurate token counts and costs for Claude usage
  • OpenAI API: Fetch usage data for GPT models
  • GitHub Copilot PAT: Query organization billing data for Copilot usage
  • Windsurf/Codeium: Access analytics for Windsurf sessions
  • Google AI Studio: Query Gemini usage data
API keys are optional. Oobo works without them but will use estimated token counts instead of provider-reported data.

Self-Hosted / Enterprise

For self-hosted or enterprise deployments:
1

Set remote server

oobo auth set-remote https://oobo.mycompany.com
2

Log in with org API key

oobo auth login --key sk-oobo-xxxxx
3

Verify connection

oobo auth status

Troubleshooting

Verify the key is correct and has the required permissions. For Anthropic, ensure you’re using an Admin API key (starts with sk-ant-admin-), not a regular API key.
Check the server URL is correct and reachable. Verify your organization’s firewall allows connections to the remote server.
Run oobo index --force after adding API keys to re-compute stats with accurate provider data.
Ensure ~/.oobo/config.toml is writable. Run chmod 0600 ~/.oobo/config.toml if needed.

Setup

Initial configuration wizard

Sources

Check which tools need API keys

Stats

View token and cost analytics

Configuration

Manual config file editing

Build docs developers (and LLMs) love