Grains — Alpha (Limited Beta)

A surface you run.
Not one that runs you.

Grains is a local AI workspace where threads, notes, and follow-ups stay visible, discrete, and yours to act on. Built for Heads of Product who want to be on top of things — not buried under them.

Get Grains for Mac →
What's in a grain
01
Threads

Each unit of work — what you're responsible for. Decide what unblocks, chase what's waiting, do what's clear, snooze the rest. A dashboard you run, sorted by Claude's read of what's late and what's stale.

02
Notes & Follow-ups

Thoughts you haven't decided on, attached to the thread they belong to. Actions extracted from the work — small, checkable, accountable. Nothing floats orphaned.

03
Chats with context

Every chat lives inside a thread. Claude sees the source, the auto-check verdict, the docs you've linked, and the follow-ups you owe. No more re-pasting context every conversation.

What slips through the cracks (that Grains catches)
Blocked work

"PRD review from design has been pending for 4 days. Last comment was yours asking for input."

Stale threads

"Linear issue ENG-412 was marked In Progress 9 days ago with no updates. Assigned to Jamie."

Open questions

"Slack thread in #product-ops — Sarah asked about the migration timeline. No reply yet."

Follow-ups you owe

"You said you'd share the competitive analysis by Friday. It's in your drafts folder, not shared."

What you need to run it
Install
01
Run one command

Open Terminal and paste this:

$ curl -fsSL https://www.pavelracu.com/grains/install | bash

Downloads Grains to ~/grains/ and installs everything it needs. Takes 2–4 minutes.

Prefer a manual download? Grab the zip, unzip it, then run bash scripts/install.sh inside the folder.

02
Launch from Launchpad

The installer creates a native macOS app. Open Launchpad (or Spotlight) and click Grains.

It opens in your browser at localhost:5181 and stays in your Dock. To stop it, right-click the icon in your Dock and select Quit.

03
Walk through the setup wizard

The wizard fires automatically on first launch. Three quick steps:

Authentication — Click "Login via Claude Code" to use your existing terminal session. (API key path is also supported.)
Workspace folder — Pick the folder Grains reads from (iCloud, Documents, a project repo — anything).
Confirm — Review and finish. The dashboard loads.

04
Run your first scan

Click "scan now" under the composer. Claude sweeps your sources and populates the dashboard — Decide, Chase, Do, Snoozed, Resolved. First scan takes 20–60 seconds.

Privacy

Grains runs entirely on your Mac. The only data that leaves your machine is the content of your chats and scans, sent to Anthropic so Claude can respond. There is no Grains server. There is no telemetry.

  • No central account — no sign-in, no email, no user record
  • No analytics — no PostHog, no Sentry, no Google Analytics
  • No auto-updates — you update manually when you want to
  • No background collection — when the app isn't running, nothing is

Your threads, notes, follow-ups, and conversations never leave your machine except to talk to Claude. Full details in docs/privacy.md inside the install directory.

If something goes wrong
"command not found: bun"

The installer added necessary tools but your current terminal hasn't picked them up. Just close and reopen your Terminal app.

"This site can't be reached"

If the app is in your Dock but the browser shows an error, check if port 5181 is busy: lsof -ti:5181 | xargs kill. To see raw logs, run cd ~/grains && bun start in Terminal.

"Authentication failed"

If using Claude Code, ensure you are logged in in your terminal (`claude auth login`). If using an API key, verify it at console.anthropic.com and re-paste it in Settings → Authentication.

Updating

When a new version ships, reinstall with the same command:

$ rm -rf ~/grains ~/Applications/Grains.app $ curl -fsSL https://www.pavelracu.com/grains/install | bash

Your settings persist in ~/.claude/ and survive reinstalls. You won't go through the wizard again.