▲ 12 r/iphonebatteryworry+1 crossposts

I almost returned a perfectly good iPhone 17 over one hour of battery. Here's what actually fixed my paranoia.

Two weeks ago I got an iPhone 17 base, refurbished "premium" from Back Market. 100% health, 0 cycles. First week I was getting 5-7h screen time and I was refreshing the Battery screen like it owed me money.

Then I updated to 26.6 and changed a bunch of settings. Now I'm at 9-11h on a full charge. But here's the part that actually matters: it's still random. Same 50% left, one day gives me 5-6h, the next day 3.5h. Not because the battery is dying. Because one day I was home on Wi-Fi and the next I was outside on cellular with the brightness up.

I got so deep in this that I was about to swap it for a 17e to gain maybe an hour. Then I did the math: I use my phone 2-3 hours a day. I was about to give up a phone I like for battery I would never even touch.

What finally shut my brain up: if it lasts you the whole day, it's the right phone. That's the entire test. The number in Settings isn't a health score, it's a diary of how you used it that day.

Settings I changed (iOS 26.6):

Settings > Privacy & Security > Location Services > set every app to "While Using the App"

Settings > Privacy & Security > Location Services > System Services > turn off Journaling Suggestions, Check In, Significant Locations, Location-Based Suggestions, and everything under "Product Improvement"

Settings > Privacy & Security > Analytics & Improvements > turn all of it off

Settings > General > Background App Refresh > Off

Settings > Cellular > Cellular Data Options > Voice & Data > LTE when I'm outside

Settings > Display & Brightness > Dark, plus brightness way down

Being honest though: the location and analytics ones are privacy wins more than battery wins. What actually moved the needle was brightness, LTE instead of 5G outside, staying on Wi-Fi, and Background App Refresh off. And any fresh phone spends its first week indexing photos and syncing iCloud, so week one is always the worst it will ever be.

u/KirillChistov — 14 days ago

I shipped a SwiftUI MenuBarExtra combining agent status, usage limits, notifications, thermal state, and sleep prevention

I’ve released VibeMenu v1.0, a native SwiftUI macOS menu-bar app for Claude Code, ChatGPT Work, and Codex.

The goal was to answer several questions without reopening multiple apps:

  • Is the agent still working?
  • Is the Mac currently protected from sleep?
  • Which agent owns the assertion?
  • Does Claude need approval?
  • Has a session finished?
  • What locally available Claude or ChatGPT usage remains?
  • Is macOS reporting thermal pressure?

The implementation includes:

  • MenuBarExtra for the main interface;
  • a separate Settings scene;
  • a shared Session Radar;
  • live session-state and elapsed-time updates;
  • optional Claude approval/completion notifications;
  • an orange attention state;
  • optional usage-limit sections;
  • a thermal-state row;
  • one shared IOKit power assertion;
  • separate Manual, Claude, Codex, and ChatGPT Work owners.

Background efficiency became one of the hardest parts. An early build repeatedly walked and reparsed unchanged local files. The final implementation uses bounded metadata caches, negative caching, a no-Claude-process fast path, slower limits refreshes, and incremental JSONL parsing for growing ChatGPT rollouts.

The app remains entirely local and never reads prompts, responses, reasoning, commands, or tool output.

Source:
https://github.com/Kirill-Chistov/VibeMenu

It requires macOS 15+ on Apple Silicon. The distributed build is currently unsigned and not notarized.

I would appreciate feedback on the information hierarchy. Is session status, ownership, usage, attention, and thermal pressure too much for one menu, or does the compact structure keep it understandable?

u/KirillChistov — 18 days ago

VibeMenu — a tiny Mac menu-bar app for Claude Code runs

I built a small macOS menu-bar app called VibeMenu.

The problem was simple: I use Claude Code on a MacBook, and sometimes Claude is doing something long — tests, builds, subagents, etc. I want the Mac to stay awake during that work, but I don’t want to leave a manual keep-awake toggle running all day.

So VibeMenu keeps the Mac awake while Claude Code is working, then releases sleep prevention when Claude finishes.

It also shows Claude status and macOS thermal pressure in the menu bar.

GitHub:

https://github.com/Kirill-Chistov/VibeMenu

Current limitations: Claude Code-only for now, macOS 15+ Apple Silicon, unsigned/not notarized, no closed-lid support, and it does not prevent display sleep.

I’m looking for feedback and early beta users. If this grows into a paid app later, I’ll likely give early testers free access to future paid features.

u/KirillChistov — 2 months ago