foolish-bandit rewrites Gary to talk like a lawyer, not a developer

Every blank screen and error message in the interface now tells you what to do next, in plain English.

chat-ui

foolish-bandit went through the entire front end of Gary and rewrote the small print: the empty screens you hit before you've added anything, the spinners while a file uploads, and the warnings when something goes wrong. Generic engineer-speak is out. "Failed to save" becomes "Could not save your display name. Try again." A blank reviews page no longer reads "Tabular Reviews" - it says "No reviews yet" and explains, in one line, that the tool fills a table with parties, dates, key terms and risks. Upload prompts now point you straight at dropping in a PDF or Word document.

Nothing under the hood changes - this is purely the words on screen. But for a legal team that didn't install the software and won't read a manual, copy that names the next step is the difference between getting unstuck and giving up.

So what Worth a look for anyone rolling Gary out to lawyers rather than engineers - it's a cheap, behaviour-free way to cut day-one friction.

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
da89931b Make empty/loading/error copy lawyer-friendly Claude 2026-05-07 ↗ GitHub
commit body
Sweeps the frontend for generic empty, loading, and error strings
and replaces them with action-oriented, lawyer-friendly copy that
explains what to do next. Adds a Try Again CTA to the global error
boundary so users aren't stuck on a dead page.

Highlights:
- Empty states (sidebar, file directory, modals, list pages, project
  detail) now name the next step (upload, create, ask, search by
  client/title) instead of just stating the absence.
- "Processing..." on a freshly uploaded doc → "Reading the document..."
  Upload buttons → "Uploading your document..."
- error.tsx and global-error.tsx now expose Next's reset() handler
  via a Try Again button; copy says Gary hit a problem and offers a
  return-home link.
- not-found.tsx CTA renamed Go home → Return Home.
- Login/signup error messages and progress labels rewritten
  ("Could not sign in. Check your email and password and try again.").
- Account/models alerts ("Failed to save X.") rewritten ("Could not
  save your X. Try again.").
- Tabular review streaming error: "An error occurred. Please try
  again." → "Something went wrong. Try asking again."

No backend changes, no behavior changes, no removed functionality.
Console/log/internal error details are 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-273.md from inside the repo you want the changes in.

⬇ Download capture-thread-273.md