Start

Install

#Homebrew (macOS / Linux)

brew install steipete/tap/oracle

The tap also publishes the oracle-notifier macOS helper used by long-running browser runs.

#npm / pnpm

npm install -g @steipete/oracle
# or
pnpm add -g @steipete/oracle

Requires Node 24 or newer. After install:

oracle --help
oracle --version

#Run without installing

npx -y @steipete/oracle --help
pnpx @steipete/oracle --help

npx is fine for CI, ad-hoc scripts, or when you don't want a global binary on the box. Cache the package in CI by pinning the version (@steipete/oracle@0.11.0) so you don't re-download on every job.

#API keys (optional)

API mode is opt-in and reads keys from the environment. Set whichever providers you'll use:

ProviderEnv varModels
OpenAIOPENAI_API_KEYGPT-5.x, GPT-5.x Pro, GPT-5.1 Codex
Azure OpenAIAZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, ..._DEPLOYMENTSame models, hosted on Azure
GoogleGEMINI_API_KEYGemini 3.1 Pro (API-only), Gemini 3 Pro
AnthropicANTHROPIC_API_KEYClaude Sonnet 4.6, Claude Opus 4.1
OpenRouterOPENROUTER_API_KEYAny OpenRouter id (e.g. minimax/minimax-m2)

If no key is set, Oracle defaults to browser mode and drives ChatGPT directly — see Browser Mode for the manual-login flow.

#Where Oracle stores state

PathContents
~/.oracle/config.jsonDefaults (JSON5). See Configuration.
~/.oracle/sessions/<id>/Run logs, bundles, transcripts, generated artifacts
~/.oracle/cookies.json(Optional) inline ChatGPT cookies for browser mode

Override the root with ORACLE_HOME_DIR=/some/path if you'd rather keep state under XDG config or per-project.

#Updating

brew upgrade oracle      # Homebrew
npm update -g @steipete/oracle

oracle --version reports the current build. Releases land on GitHub Releases with notes copied from the changelog.