macOS menu bar · Apple silicon

Claude Code,
no cruft.

Built for the Mac mini on your desk.

The quiet machine in the corner of your desk becomes an orchestrator in the corner of your screen — facilitating Claude Code across your Linear and GitHub issues, watched by Gemma running locally, one click off the menu bar.

macOS 26 · Claude Code · Gemma 4 runs fully on-device

🍋 Lemon 2 running
Sessions
Executing LEM-42
Wire up the Liquid Glass token set
claude --permission-mode auto …
Open terminal Stop agent running 4m
Waiting acme/web#7
Re-trigger fires on shipped revisions
+ New session… ⌘N
The loop

Two gates, not a leap of faith.

This isn't fire-and-forget. Lemon parks the work at two human gates — once on the plan, once on the result — and Gemma keeps the session moving in between. Read along, drop into the live terminal, and steer the moments that matter while Claude grinds through the parts that don't. It pauses for you; it doesn't merge for you.

  1. 01

    You tag it

    Add the 🍋 label and Lemon cuts a git worktree, drops in the issue context, and launches your own claude — never touching the files you're editing.

  2. 02

    You approve the plan

    The first gate. Claude explores read-only and proposes a plan, posted right to the issue. Nothing is written until you say go — so the agent can't drift before it starts.

  3. 03

    Gemma keeps it moving

    Once you approve, the local supervisor clears routine confirmations in silence and pages you only for the real decisions. You can join the live terminal and type any time — it's your keyboard whenever you want it.

  4. 04

    You approve the result

    The second gate. Claude finishes and stops — you review the build before a single PR is opened. Approve, and Claude opens it; ask for changes, and the same session picks the work back up.

The orchestrator

It lives in the menu bar — not a tab.

Every active session sits one click off the menu bar, over your real desktop. A resting row whispers; a live agent shows its terminal and the two actions that matter.

One yellow moment. Color is spent on a single primary action per surface — never on decoration.

Status is a dot. Planning, executing, waiting, done — read at a glance, never a wall of badges.

Open or stop, instantly. Jump into the live terminal or halt the agent without leaving the corner.

🍋 Lemon 1 running
Sessions
Executing LEM-42
Wire up the Liquid Glass token set
› npm run check:tokens — 0 errors
Open terminal Stop agent running 4m
Done LEM-39
Public-readiness scaffolding + CI
+ New session… ⌘N
Connect everything

One menu bar. Every repo you touch.

Attach as many Linear teams and GitHub repositories as you like. Lemon watches them all at once, routes each tagged issue to the right repo, and keeps every running session in a single list.

Corelinear · 24 issues
Growthlinear · 9 issues
acme/webgithub · main
acme/apigithub · main
acme/mobilegithub · main
+ Add a source
Remote control

The Mac stays home.
You don't have to.

Because Lemon runs on Claude Code, every session is already in your pocket — there's no second app to build or install. Open Claude's native mobile app to watch the terminal stream live, reply to steer a decision, and approve the PR, all driving the Mac mini on your desk from a café, a couch, or a commute.

Live, not a log. The terminal streams in real time — you're watching the agent work, not reading a report.

Reply to steer. Answer Claude's question or redirect it with a line — even from the lock screen.

Approve from anywhere. Read the diff and merge the PR without opening a laptop.

9:44
Review Lemon PR & p…lemon

Closing #17 dropped the only LemonGlass code, so that implementation is still genuinely pending — the open issue tracks it now.

Re-implementing the app-side glass is a clean branch off main, built against design/.

Want me to kick off that branch now, or leave it for later?

Diff +1227 View PR
Add feedback…
</> Accept edits
The supervisor

A second model watches the first.

Between your two gates, Gemma, running locally on your Mac watches every diff the agent produces. It clears the routine work in silence so the session keeps moving, and stops the run the instant something deserves your eyes — a migration, a deletion, a judgment call.

100% on device. Gemma on MLX Metal · Apple silicon ~4 GB on disk · zero API calls
gemma · supervisor Needs you
LEM-42— reviewing agent diff…
tests pass · 41 green
scope matches the issue
migration touches auth.users
paused — waiting for a human
Recursive mode

Let Claude monitor Lemon.

Lemon ships its own MCP server, so the orchestrator becomes something you can orchestrate. Point Claude at Lemon, ask how the agents it's running are doing — then let it act on the answer. Turtles, the whole way down.

claude · lemon mcp 7 tools
you ›how are my Lemon sessions?
2 running · 1 waiting on you
LEM-42executing · 4m · tests green
acme/web#7waiting: re-run on revisions?
you ›approve LEM-42 once CI is green
watching CI on lemon#18
Over MCP

What Claude can do

  • List sessions and read their status
  • Tail a session's live terminal
  • Start a run from a Linear or GitHub issue
  • Pause, resume, or stop an agent
  • Approve or comment on a pull request
Built on

None of this is from scratch.

Lemon is a thin, opinionated layer over tools that already do the hard parts well.

Claude Code

The agent that does the engineering — reads the repo, writes the branch, opens the PR. Lemon runs it headless, one isolated git worktree per session.

headless · --permission-mode · worktree-per-run
MLX + Gemma

The supervisor runs entirely on-device — a quantized Gemma model reading every diff on Metal, with no token ever leaving the Mac.

Gemma 4 · E4B / E2B · 4-bit · MLX on Apple silicon
SwiftUI + AppKit

The menu-bar app and its Liquid Glass surfaces — native, notarized, and nothing like Electron.

MenuBarExtra · NSStatusItem · macOS 26
Linear + GitHub

The issues, labels, and pull requests you already live in. Lemon listens over their APIs and replies in place.

GraphQL · webhooks · your tokens, your scopes
Setup

Two commands and a wizard.

Install, launch, and Lemon walks you through connecting Linear and GitHub. The model downloads itself.

zsh — lemon
# runtime prereqs
brew install hf tmux gh claude-code
# grab the signed .app from GitHub Releases, drag to /Applications
open https://github.com/frkline/lemon/releases
# first launch — the onboarding wizard handles the rest
✓ connected Linear · 6 teams
✓ connected GitHub · acme/web
✓ pulled supervisor model · gemma-4-e2b-it-4bit
✓ Lemon is in your menu bar →
Expectations

What Lemon is, and isn't.

It is

Personal workflow tooling

  • A menu-bar companion that orchestrates agents you could run by hand
  • A way to stay in the loop without sitting in a terminal all day
  • Yours. It runs on your Mac, under your tokens, on your terms
It isn't

An AI service

  • ×Not a hosted product — there's no Lemon server and no account
  • ×Not a replacement for review — it pauses for you, it doesn't merge for you
  • ×Not magic. It's Claude Code, a small local model, and a careful menu bar

The point
isn’t “Claude,
but in a menu
bar.”

It’s skipping the routine parts — the tags you’d kickstart by hand anyway, the trust prompts you’d answer the same way every time, the PR wait you’d just sit through. Lemon orchestrates those out of your day.

And it makes your issue tracker the surface, not a separate dashboard. Linear, GitHub Issues, or both — you’ve been triaging there all morning anyway. Tag the ones you want kickstarted, get back to the work that actually needs your head.

And you stay in the driver’s seat for the questions that actually matter. Claude Code’s --remote-control flag pushes them straight to the Claude iOS app on your phone. The design judgment calls, the ambiguous-tradeoff prompts, the “should this be a refactor or a band-aid?” moments — those reach you wherever you are. Lemon and Gemma absorb the rest.

That’s it. That’s the whole pitch.