foolish-bandit stops talking like a developer tool

A copy overhaul rewrites Gary's settings to read like a legal product, not a setup screen for engineers.

brandingchat-ui

foolish-bandit reworked the words throughout the app so non-technical users aren't asked to think about "models," "API keys," or config files. The settings tab is now "AI configuration," model pickers become "assistant" pickers, and the panel for entering credentials is framed as connecting the app to an outside AI service rather than wiring up developer keys. When a key is missing, the prompt now plainly says the app isn't set up yet and points users to exactly where to fix it.

Nothing under the hood changed - same behavior, same features, just language a lawyer can follow without a technical translator. The one trade-off: the old copy spelled out which low-cost engine generates chat titles, and that detail is gone, which matters only if someone's troubleshooting.

So what Worth a look for anyone shipping legal AI to partners and in-house teams who shouldn't have to learn what an API key is.

View this fork on GitHub →

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

Commits in this thread

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

SHA Subject Author Date
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-270.md from inside the repo you want the changes in.

⬇ Download capture-thread-270.md