Model/API key config UX de-jargoned to assistant/service-key language

A single commit rewrites ~24 user-visible strings in the `/account/models` flow, swapping developer vocabulary for plainer terms: "Models & API Keys" becomes "AI configuration," "Model Preferences" becomes "Default assistant," "Tabular review model" becomes "Assistant for tabular reviews," and API key labels drop the "API Key" suffix to just "Anthropic (Claude) key." No behavior changes.

chat-uibranding

The diff touches four files and 24 strings. foolish-bandit was explicit in the commit message: no identifiers, file names, MIME types, localStorage keys, env vars, or backend contracts were renamed. The ModelToggle component drops "model" in favor of "assistant" in its title, aria-label, fallback label, and tooltip text. The ApiKeyMissingModal title shifts from "API key required" to "GaryOSS isn't configured yet," with body copy softened to "GaryOSS isn't connected to {service} yet. Open AI configuration to add a key."

The instinct here is consistent with the broader lawyer-friendly copy pass in this fork: the words "model" and "API key" mean something to the developer who built this but less to a lawyer using it. "Assistant" and "service key" communicate the same concept without the technical framing.

The GaryOSS product name is baked into the ApiKeyMissingModal strings, so those would need a substitution pass before landing in a differently named fork. The rest is generic enough to import directly.

So what Worth pulling if you have users who find "model selection" and "API keys" confusing. Trivially safe - 4 files, ~24 strings, no behavior change. Do a find/replace on "GaryOSS" before merging.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

2 commits from foolish-bandit/gary, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
3c80d724 Merge pull request #10 from foolish-bandit/claude/rename-copy-cleanup Zack Brenner 2026-05-07 ↗ GitHub
De-jargon user-facing model/API-key copy
2ea104bd De-jargon user-facing model/API-key copy Claude 2026-05-07 ↗ GitHub
commit body
Frontend-only copy cleanup. No identifiers, file names, MIME types,
localStorage keys, env vars, or backend contracts were renamed -
those carry behavior and were intentionally left alone.

User-facing changes:
- Account settings tab "Models & API Keys" → "AI configuration".
- /account/models page:
  - "Model Preferences" → "Default assistant"
  - "Tabular review model" → "Assistant for tabular reviews"
  - "API Keys" → "AI service keys"
  - Body copy rewritten to plain English ("GaryOSS connects to an
    outside AI service to answer questions...").
  - "Anthropic (Claude) API Key" → "Anthropic (Claude) key"
  - "Google (Gemini) API Key" → "Google (Gemini) key"
  - Tooltip "Add a {vendor} API key to use this model" →
    "Add a {vendor} key in AI configuration to use this assistant"
  - Placeholder "Select a model" → "Select an assistant"
- ApiKeyMissingModal:
  - Title "API key required" → "GaryOSS isn't configured yet"
  - Body softened to "GaryOSS isn't connected to {service} yet.
    Open AI configuration to add a key."
  - CTA "Go to account settings" → "Open AI configuration"
- ModelToggle:
  - title "API key missing for selected model" → "No key set for
    this assistant"
  - title "Choose model" → "Choose assistant"
  - aria-label "API key missing" → "No key set"
  - Fallback label "Model" → "Assistant"

GaryOSS branding is already consistent in README, layouts, and
schema header. No backend files touched. License unchanged.

https://claude.ai/code/session_019pRkhcGDRKQWHjzAnV5yCL

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-163.md from inside the repo you want the changes in.

⬇ Download capture-thread-163.md