Khana
GitHub

Hit your food goals
with help from Claude.

Tell Claude what you bought or ate. It logs everything, tracks your pantry, and keeps you on pace toward your macro goals.

macOS
$ git clone https://github.com/ayush29feb/khana && cd khana && claude --dangerously-skip-permissions
── Claude Code v2.x ──
> help me set up Khana for the first time

--dangerously-skip-permissions lets Claude run commands without confirmation prompts

At the grocery store

Snap a label. It's in your catalog forever.

You're at the store and you see something new. Take a photo of the nutrition label and send it to Claude. It reads every number, confirms with you, and permanently adds the food to your catalog — including how many servings are in the package. Next time you buy it, Claude already knows the macros.

📷

Works with any label. Claude reads serving size, protein, carbs, fat, and calories. It waits for your confirmation before saving anything.

just picked these up [photo of Trader Joe's pistachios label]
Got it. Here's what I read:

Trader Joe's Pistachios
Serving: 30g  ·  8 servings per bag
6g P  ·  8g C  ·  14g F  ·  170 kcal

Add to catalog and log 8 servings to pantry? Confirm?
yes
Done — added to catalog, pantry updated.
Catalog
Catalog
At home

What's in my pantry? What should I make?

Your pantry is a live inventory — added to when you buy groceries, deducted from when you cook. Ask Claude what's in your fridge, ask it to suggest meals based on what you have and your current goal, and it'll plan the meal and log it when you're done.

what do I have in my pantry right now?
You have 22 items. High-protein highlights:
· Firm Tofu — 4 srv  ·  52g P total
· Whey Protein — 12 srv  ·  300g P total
· Fage Total 0% — 4.2 srv  ·  50g P total
· Eggs — 6 left  ·  36g P total
+ 18 more items
I'm 45g short of my protein goal today. what can I make for dinner?
Based on what you have and your goal, here are three options:

Tofu stir fry — 2 srv tofu + eggs + sesame oil
~40g P  ·  8g C  ·  18g F  ·  ~380 kcal
Protein yogurt bowl — Fage + 1 scoop whey + granola
~47g P  ·  38g C  ·  6g F  ·  ~390 kcal
Egg scramble — 4 eggs + cottage cheese
~38g P  ·  4g C  ·  22g F  ·  ~370 kcal
Which one?
let's do the tofu stir fry
Ready to log when you're done. Just say the word.
Pantry
Pantry
Logging a meal

Confirm what you cooked. Pantry updates itself.

When you're done cooking, Claude breaks the meal down to exact ingredients and servings, calculates macros, and shows you the full picture before writing anything. One confirmation and it's logged — pantry deducted, macros recorded.

done, made the stir fry. used 200g tofu, 2 eggs, a little sesame oil
Tofu Stir Fry
· Firm Tofu ×2 srv  →  26g P
· Eggs ×2  →  12g P
· Sesame Oil ×0.5 srv  →  0g P

38g P  ·  6g C  ·  20g F  ·  358 kcal
Pantry: tofu −2 srv, eggs −2, sesame oil −0.5 srv

Confirm?
yes
Logged ✓ — you're now at 151g protein today. Almost at goal.
Meals
Meals
Goals

Set a target. See your pace every day.

Create a goal for any date range — a cut, a bulk, a maintenance phase. The Goals page shows your cumulative progress, whether you're on pace, and a daily breakdown. Set multiple goals for different phases of the year.

new goal — "April Cut", April 1–30. 160g protein, 200g carbs, 60g fat, 2200 cal per day
April Cut  ·  Apr 1 – Apr 30
160g P  ·  200g C  ·  60g F  ·  2,200 kcal / day

Confirm?
yes
Goal set. You'll see daily pace on the Goals page.
how am I doing overall on the April goal?
5 days in — you've logged 372g of your 4,200g monthly protein target (9%). Daily average is 74g vs 160g goal.

You're behind pace. Open the Goals page for a daily breakdown.
Goals
Goals
End of the week

Going shopping? Claude plans your list.

At the end of the week, before your next grocery run, ask Claude to look at what you've used, what's running low, and whether your pantry is actually helping you hit your goals. It'll give you a specific shopping list — no guesswork, no over-buying.

going grocery shopping tomorrow. what's running low and what ran out this week?
Here's what you've gone through this week:

Ran out: Firm Tofu, Greek Yogurt, Eggs
Running low (<2 srv): Whey Protein, Cottage Cheese, Chickpeas
Still stocked: Oats, Almonds, Pistachios, Olive Oil
I missed my protein goal 4 out of 7 days. what should I stock up on to make next week easier?
The gap was mostly at dinner — you had lower-protein options those nights. To close it easily:

· More Greek yogurt or cottage cheese (easy high-protein snacks)
· Paneer or tofu for dinners — you used it on your best days
· Lentils or chickpeas as a base option when you don't want to cook much
okay give me the full shopping list
Shopping list for next week:

· Firm Tofu ×2 packs
· Fage Total 0% ×2 large tubs
· Eggs ×1 dozen
· Paneer ×1 pack
· Cottage Cheese ×1 tub
· Whey Protein (running low — top up)
· Canned Chickpeas ×3 cans
· Red Lentils ×1 bag
Pantry
Pantry
It grows with you

This isn't an app. It's Claude with your data.

Because Khana runs inside a Claude session, Claude isn't just a front-end for a food log — it's a thinking partner that knows everything about your eating. You can teach it how you like to work, and you can ask it to change anything about the dashboard. It's your tool to shape.

Teach it how you work

Tell Claude your preferences and habits once. It carries them forward into every future conversation — meal suggestions, shopping lists, everything.

I'm vegetarian. When suggesting meals, always lead with whatever gets me closest to my protein goal using what's in my pantry.
Got it — I'll filter out meat and always sort suggestions by how much they help with your current protein gap. I'll keep this in mind going forward.
Also — I had that chana masala at my friend's place on Saturday. I'm not sure of the exact macros but it felt pretty filling, probably high protein.
Logged Saturday dinner as "Chana Masala (estimate)" — ~18g P, ~45g C, ~8g F. Flagged as estimated. Want to adjust anything?

Change the dashboard however you want

The dashboard is yours to reshape. Ask Claude to change how it looks or works and it'll update it on the spot — no separate tools needed.

Can you make the dashboard dark mode?
Done — switched to a dark theme. Refresh to see it.
Add a tab that shows my weekly macro averages
Added a "Weekly" tab to the bottom nav. It shows your 7-day rolling averages for protein, carbs, fat, and calories.
In the pantry, show protein per 100 calories instead of total protein
Updated the pantry table — the protein column now shows g per 100 kcal so you can compare efficiency across foods.

One more thing: this entire project — the dashboard, the server, the CLI — was built inside a Claude Code session. You're using the same tool to run it. There's something a little strange about that.

🔒

Fully local

Everything lives on your Mac — one file, no cloud, no account, no subscription. Your eating habits are yours.

📷

Photo uploads from the dashboard

Tap any meal or catalog item to expand it, then upload a photo directly in the browser — no extra tools. Nutrition labels, meal photos, all attached and stored locally.

🥫

Pantry that tracks itself

Home meals automatically deduct from your pantry. You always know exactly what's left and how much protein you're sitting on before your next shop.

🎯

Goals with daily pacing

Set macro targets for any date range. The Goals page shows whether you're ahead, on pace, or behind — updated every time you log a meal.

Runs inside Claude Code

Khana isn't an app you log into — it's a session you open. Claude has the full context of your data and can query, update, or change anything through conversation.

Open source

All the code is on GitHub. Clone it, change it, make it your own. There's no platform to depend on — just your Mac and your data.