RepoLens

Models

Bring your own keys. Use almost any provider, and route each part of a scan to a different model.

RepoLens never ships a key. You connect the providers you want in Options, and scans run on your credentials — stored only in your browser, never uploaded, never included in a settings export.

Two kinds of providers

Five first-class providers have polished sign-in (OAuth where available) and form the default fallback chain:

Nous  →  Gemini  →  OpenRouter  →  Grok  →  Anthropic

Whichever is highest in that order and connected is your primary; the rest are automatic fallbacks. Each has a model dropdown, with marking the recommended pick.

New here? Connect any one provider and accept the ★ default — it's tuned to work well out of the box. Come back to fine-tune later.

ProviderSign-in★ Recommended
AnthropicClaude OAuth or Console API keyClaude Sonnet 4.6 (Opus 4.8 for max)
GeminiAPI keyLive from your Google key; stable Gemini 2.5 default, newer Ultra models when available
OpenRouterOAuthLive from OpenRouter; Grok 4.3 by default
xAI GrokOAuth or API keyGrok 4.3
NousAPI keyLive from Nous Portal; Step 3.7 / Hermes entries when available

Claude sign-in: RepoLens uses the same Claude Code / Pi OAuth shape. Click Sign in with Claude, approve it on Claude's site, paste the returned code, and RepoLens stores the token only in this browser. If OAuth is not available for your plan, paste a Console API key (sk-ant-api…) instead.

Bring any model

Under Options → More model providers, RepoLens speaks any OpenAI- or Anthropic-compatible endpoint — so you're not limited to the five above:

  • OpenAI · DeepSeek · Groq · NVIDIA NIM · Kimi (Moonshot) · Zhipu GLM · Qwen (Aliyun) · Xiaomi MiMo · Volcengine Ark · Ollama Cloud · MiniMax
  • OpenAI — Sign in with ChatGPT — the OpenAI card has a one-click ChatGPT login (the same OAuth the Codex CLI uses), so you can connect without pasting a key. It mints a working key from your account behind the scenes — which needs API access on your ChatGPT plan; if that isn't included, RepoLens says so and you can paste an API key instead.
  • Azure OpenAI — point at your resource endpoint and deployment.
  • Ollama (Local) — runs on localhost, no key needed. The simplest way to scan fully offline.
  • Custom — any other OpenAI- or Anthropic-compatible server. Paste the URL, pick the protocol, done.

Every provider keeps its own key, so switching between them never loses your other settings. Gemini, OpenRouter, and Nous load their live model catalogs when Settings opens, so renamed slugs and newly exposed Ultra / portal models appear without waiting for a RepoLens release. Each card has:

  • a model picker (plus a free-form Custom… for any model id),
  • an optional endpoint override (handy for a proxy or a regional gateway),
  • and two self-testsTest connection checks the endpoint answers, Test function asks the model to follow a tiny instruction so you know it actually works.

Connect just one and you're done. Any provider you connect — first-class or compatible — joins the fallback chain automatically, so a single key (or a local Ollama) is enough to start scanning.

What about the Claude Code / Codex / Grok CLIs? RepoLens can't run those binaries — a browser extension is sandboxed and can't launch a local process. But it does perform the same OAuth-style logins they use: Anthropic's sign-in follows the Claude Code / Pi flow, Sign in with ChatGPT on the OpenAI card is the Codex login, and xAI's is the Grok CLI login. So you get the sign-in convenience without the binary. For a truly local, keyless model, point at Ollama over plain HTTP.

Models per scan part

A scan isn't one call — it's eight distinct parts (Core scan, Deep Dive, Framework Lens, SKTPG, Versus, Synergies, Combinator, Re-tag). Not sure what these are? See The Scan. You can point each one at a different provider and model:

Core scan → Claude Opus 4.8 for the deep judgment. Re-tag → a cheap, fast model, because it's bulk work. Deep Dive → whatever you like.

Set it all in Options → Models per scan part — and the compatible providers above show up here too. Each part defaults to "Default (smart fallback)", so you only configure what you care about.

It can't dead-end

A per-part pick is a preferred first try, not a hard requirement. If that provider errors or isn't connected, the part falls through to the full chain. So a routed part always has a working model — you can be aggressive with your picks without risking a broken scan.