{"code":"var Component=(()=>{var p=Object.create;var r=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var f=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),b=(i,e)=>{for(var a in e)r(i,a,{get:e[a],enumerable:!0})},s=(i,e,a,o)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of m(e))!y.call(i,n)&&n!==a&&r(i,n,{get:()=>e[n],enumerable:!(o=u(e,n))||o.enumerable});return i};var w=(i,e,a)=>(a=i!=null?p(g(i)):{},s(e||!i||!i.__esModule?r(a,\"default\",{value:i,enumerable:!0}):a,i)),k=i=>s(r({},\"__esModule\",{value:!0}),i);var l=f((S,h)=>{h.exports=_jsx_runtime});var v={};b(v,{default:()=>c});var t=w(l());function d(i){let e={a:\"a\",code:\"code\",em:\"em\",h2:\"h2\",h3:\"h3\",img:\"img\",li:\"li\",ol:\"ol\",p:\"p\",pre:\"pre\",span:\"span\",strong:\"strong\",table:\"table\",tbody:\"tbody\",td:\"td\",th:\"th\",thead:\"thead\",tr:\"tr\",ul:\"ul\",...i.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(e.p,{children:['You set your MacBook to stop at 80 percent years ago, and it has been quietly doing that ever since. Then you upgraded to macOS 27 Golden Gate, glanced at the menu bar a few hours later, and the battery read 100 percent. Your charge-limit app still shows a green icon and a friendly \"limit reached\" message, but the Mac has plainly ignored it. This is not your imagination and it is not a misconfiguration. Apple changed the low-level controls that tools such as AlDente, batt, Battery Toolkit and the ',(0,t.jsx)(e.code,{children:\"battery\"}),\" command line tool depended on, and the developers of those tools are still catching up. This guide explains what actually changed, what each project has said in public, which parts of the story are confirmed and which are only rumour, and what to do today: switch to the limit that is built into macOS, remove old helpers safely, and keep an eye on real battery health with numbers instead of guesses.\"]}),`\n`,(0,t.jsx)(e.p,{children:(0,t.jsx)(e.img,{alt:\"A woman in her forties at a kitchen-table desk looking at a thin silver laptop with a charging cable plugged in, one hand on her cheek in mild disbelief\",src:\"/images/blog/macos-27-battery-charge-limit-apps-broken-aldente-batt-charging-to-100-fix-2026/hero.webp\",width:\"1200\",height:\"800\"})}),`\n`,(0,t.jsx)(e.h2,{id:\"key-takeaways\",children:\"Key Takeaways\"}),`\n`,(0,t.jsxs)(e.ul,{children:[`\n`,(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:\"The symptom is real and documented\"}),\": AlDente users on macOS 27.0 and 27.0.1 report Macs charging past their limit, and both the \",(0,t.jsx)(e.code,{children:\"battery\"}),\" and \",(0,t.jsx)(e.code,{children:\"batt\"}),\" projects document that their charge-control keys stopped working on macOS 27.\"]}),`\n`,(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:\"The cause is on Apple's side, not yours\"}),\": according to developer reports on GitHub, the SMC keys these tools used to pause charging were removed, emptied or locked behind a private entitlement. That is a developer-reported finding, not an Apple statement.\"]}),`\n`,(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:\"The built-in Charge Limit is the safe answer\"}),\": on Apple silicon Macs running macOS Tahoe 26.4 or later, System Settings > Battery > the info button next to Charging offers a limit between 80 and 100 percent, and Apple supports it.\"]}),`\n`,(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:\"Do not use the adapter-cutoff hacks casually\"}),\": the maintainer of the \",(0,t.jsx)(e.code,{children:\"battery\"}),\" project rejected an adapter-disable fix because it can cause constant micro-cycling, and the \",(0,t.jsx)(e.code,{children:\"batt\"}),\" project ships a similar mode only as an opt-in.\"]}),`\n`,(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:\"Clean up old helpers\"}),\": a stale privileged helper can outlive its app. Follow the developer's removal sequence below; for Homebrew-installed batt, restore the default charge limit before stopping the service or uninstalling.\"]}),`\n`,(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:'The \"limit resets after restart\" claim is unverified'}),\": it appears in roundup articles without a primary source. Check it yourself after a restart, and here is how.\"]}),`\n`]}),`\n`,(0,t.jsx)(e.h2,{id:\"what-actually-broke-the-timeline\",children:\"What Actually Broke: The Timeline\"}),`\n`,(0,t.jsx)(e.p,{children:\"The story did not start on release day. It started in the developer betas, and the public record on GitHub lets us reconstruct it fairly well. Everything below is drawn from public issue and pull request pages that I opened while writing this article. None of it is an Apple statement, because Apple has not documented these internals.\"}),`\n`,(0,t.jsxs)(e.table,{children:[(0,t.jsx)(e.thead,{children:(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.th,{children:\"Date (2026)\"}),(0,t.jsx)(e.th,{children:\"What happened\"}),(0,t.jsx)(e.th,{children:\"Source\"})]})}),(0,t.jsxs)(e.tbody,{children:[(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Jun 9\"}),(0,t.jsx)(e.td,{children:\"An AlDente Pro user on a MacBook Air M3 reports on macOS 27 developer beta that the 78 percent limit is not held, the battery reaches 94 percent, and automatic discharge misbehaves\"}),(0,t.jsx)(e.td,{children:(0,t.jsx)(e.a,{href:\"https://github.com/AppHouseKitchen/AlDente-Battery_Care_and_Monitoring/issues/1771\",children:\"AlDente issue 1771\"})})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Jun 13\"}),(0,t.jsx)(e.td,{children:'Another report on a MacBook Pro 14-inch M1 Pro: \"EC charge control does not work at all\"'}),(0,t.jsx)(e.td,{children:(0,t.jsx)(e.a,{href:\"https://github.com/AppHouseKitchen/AlDente-Battery_Care_and_Monitoring/issues/1775\",children:\"AlDente issue 1775\"})})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Jul 10\"}),(0,t.jsxs)(e.td,{children:[\"A contributor opens a pull request for the \",(0,t.jsx)(e.code,{children:\"battery\"}),\" project using new firmware keys on macOS 27 beta 3\"]}),(0,t.jsx)(e.td,{children:(0,t.jsx)(e.a,{href:\"https://github.com/actuallymentor/battery/pull/469\",children:\"battery PR 469\"})})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Sep 2\"}),(0,t.jsxs)(e.td,{children:[\"A \",(0,t.jsx)(e.code,{children:\"batt\"}),' issue reports that on beta 4 and later the charge-control keys are gated, \"likely behind an entitlement check\"']}),(0,t.jsx)(e.td,{children:(0,t.jsx)(e.a,{href:\"https://github.com/charlie0129/batt/issues/152\",children:\"batt issue 152\"})})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Sep 10\"}),(0,t.jsx)(e.td,{children:\"AlDente Pro 1.39.1 on the macOS 27 release candidate shows contradictory status messages and does not enforce a 56 percent limit\"}),(0,t.jsx)(e.td,{children:(0,t.jsx)(e.a,{href:\"https://github.com/AppHouseKitchen/AlDente-Battery_Care_and_Monitoring/issues/1817\",children:\"AlDente issue 1817\"})})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Sep 14\"}),(0,t.jsx)(e.td,{children:\"macOS 27 Golden Gate ships\"}),(0,t.jsxs)(e.td,{children:[\"see our \",(0,t.jsx)(e.a,{href:\"/blog/macos-27-golden-gate-release-day-update-guide-september-14-2026\",children:\"release-day update guide\"})]})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Sep 16\"}),(0,t.jsxs)(e.td,{children:[\"A \",(0,t.jsx)(e.code,{children:\"battery\"}),\" pull request describing the removed keys and an adapter-cutoff workaround is closed by the maintainer\"]}),(0,t.jsx)(e.td,{children:(0,t.jsx)(e.a,{href:\"https://github.com/actuallymentor/battery/pull/478\",children:\"battery PR 478\"})})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Sep 17 to 19\"}),(0,t.jsxs)(e.td,{children:[\"Two more \",(0,t.jsx)(e.code,{children:\"battery\"}),\" pull requests propose using macOS's own charge limit\"]}),(0,t.jsxs)(e.td,{children:[(0,t.jsx)(e.a,{href:\"https://github.com/actuallymentor/battery/pull/479\",children:\"PR 479\"}),\", \",(0,t.jsx)(e.a,{href:\"https://github.com/actuallymentor/battery/pull/480\",children:\"PR 480\"})]})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Sep 24\"}),(0,t.jsxs)(e.td,{children:[(0,t.jsx)(e.code,{children:\"batt\"}),\" merges an opt-in adapter mode for gated macOS 27 firmware\"]}),(0,t.jsx)(e.td,{children:(0,t.jsx)(e.a,{href:\"https://github.com/charlie0129/batt/pull/154\",children:\"batt PR 154\"})})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Sep 29\"}),(0,t.jsx)(e.td,{children:\"Fresh AlDente reports, including one on macOS 27.0.1 with AlDente Pro 1.39.4, of Macs charging past the limit\"}),(0,t.jsxs)(e.td,{children:[(0,t.jsx)(e.a,{href:\"https://github.com/AppHouseKitchen/AlDente-Battery_Care_and_Monitoring/issues/1840\",children:\"issue 1840\"}),\", \",(0,t.jsx)(e.a,{href:\"https://github.com/AppHouseKitchen/AlDente-Battery_Care_and_Monitoring/issues/1841\",children:\"issue 1841\"})]})]})]})]}),`\n`,(0,t.jsx)(e.p,{children:\"Two things stand out. First, the breakage was visible for more than three months before the final release, so this is not a surprise regression from a late build. Second, macOS 27.0.1 did not repair it: the report on issue 1840 is from a Mac running 27.0.1.\"}),`\n`,(0,t.jsx)(e.h2,{id:\"why-third-party-charge-limiters-worked-before\",children:\"Why Third-Party Charge Limiters Worked Before\"}),`\n`,(0,t.jsx)(e.p,{children:\"To see why they stopped, it helps to understand what they were doing. A MacBook is not a phone that simply stops taking current when a percentage is reached. The battery, the charging circuit and the System Management Controller (SMC) cooperate, and the operating system normally lets Apple's own firmware decide when to charge.\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"Third-party tools took advantage of a gap. The SMC exposes many small named values called keys, each a four-character code. Some of them, historically, told the charging hardware to stop pushing current into the battery while still letting the Mac run from the adapter. Names that appear in the developer reports include \",(0,t.jsx)(e.code,{children:\"CH0B\"}),\", \",(0,t.jsx)(e.code,{children:\"CH0C\"}),\", \",(0,t.jsx)(e.code,{children:\"CHTE\"}),\", \",(0,t.jsx)(e.code,{children:\"CH0I\"}),\" and \",(0,t.jsx)(e.code,{children:\"CH0J\"}),\". An app ships a small privileged helper, a background process running as root, that writes those keys when the battery reaches your limit and clears them when it falls below a lower threshold. That is why these apps ask for an administrator password at install time and why they keep working in the background after you close the window.\"]}),`\n`,(0,t.jsx)(e.p,{children:'The important point is the word \"privileged\". These tools were not using a public, supported interface. They were writing to hardware controls that Apple never documented for third parties. That worked for years, but it always carried the risk that Apple would move the controls, and the reports suggest that is exactly what happened in macOS 27.'}),`\n`,(0,t.jsx)(e.h2,{id:\"what-changed-in-macos-27-according-to-developers\",children:\"What Changed in macOS 27, According to Developers\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"The most detailed public descriptions come from three places: the write-up of the \",(0,t.jsx)(e.code,{children:\"battery\"}),\" pull request 478, the README and issue 152 of the \",(0,t.jsx)(e.code,{children:\"batt\"}),\" project, and the README of a community fork of Battery Toolkit for macOS 27. They agree on the outline and differ in some specifics, which I will flag.\"]}),`\n`,(0,t.jsx)(e.h3,{id:\"the-legacy-keys-are-gone-or-empty\",children:\"The legacy keys are gone or empty\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"According to the \",(0,t.jsxs)(e.a,{href:\"https://github.com/actuallymentor/battery/pull/478\",children:[(0,t.jsx)(e.code,{children:\"battery\"}),\" pull request 478\"]}),\", the keys \",(0,t.jsx)(e.code,{children:\"CHTE\"}),\", \",(0,t.jsx)(e.code,{children:\"CH0B\"}),\", \",(0,t.jsx)(e.code,{children:\"CH0C\"}),\" and \",(0,t.jsx)(e.code,{children:\"CH0I\"}),' returned \"no data\" on macOS 27, leaving only ',(0,t.jsx)(e.code,{children:\"CHIE\"}),\" responding. The \",(0,t.jsx)(e.a,{href:\"https://github.com/andersonproescholdbell/battery-toolkit-macos27\",children:\"Battery Toolkit macOS 27 fork\"}),\" says the same keys plus \",(0,t.jsx)(e.code,{children:\"CH0J\"}),\" are absent from the SMC index, while \",(0,t.jsx)(e.code,{children:\"CHIE\"}),\" and \",(0,t.jsx)(e.code,{children:\"ACLC\"}),\" remain readable. In \",(0,t.jsx)(e.a,{href:\"https://github.com/charlie0129/batt/issues/152\",children:\"batt issue 152\"}),\" the reporter describes a slightly different state: \",(0,t.jsx)(e.code,{children:\"CH0B\"}),\", \",(0,t.jsx)(e.code,{children:\"CH0C\"}),\" and \",(0,t.jsx)(e.code,{children:\"CHTE\"}),' still exist but as zero-size placeholders. \"Removed\" and \"hollowed out\" both end with a tool that cannot pause charging.']}),`\n`,(0,t.jsx)(e.h3,{id:\"the-newer-firmware-keys-are-locked\",children:\"The newer firmware keys are locked\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"The obvious next idea was to use newer keys named \",(0,t.jsx)(e.code,{children:\"bfD0\"}),\", \",(0,t.jsx)(e.code,{children:\"bfE0\"}),\" and \",(0,t.jsx)(e.code,{children:\"bfF0\"}),\", which appear to be tied to firmware-managed charge limits. The Battery Toolkit fork reports that they show up in the index but return a not-found result with zero size on its test machine, a MacBook Pro with an M3 Pro. Issue 152 reports that every operation on them fails with error code \",(0,t.jsx)(e.code,{children:\"0xe00002c1\"}),', which is the IOKit \"not privileged\" error, even when running as root. There is a nuance here. The July pull request against the ',(0,t.jsx)(e.code,{children:\"battery\"}),\" project reported that these keys worked on beta 3, and reviewers later found the keys were not present on an M4 MacBook Air running 27.0. So the behaviour appears to differ by hardware and by build, which is one reason different users see different things.\"]}),`\n`,(0,t.jsx)(e.h3,{id:\"where-the-control-moved\",children:\"Where the control moved\"}),`\n`,(0,t.jsxs)(e.p,{children:['Issue 152 makes a specific claim: the functionality moved into a private \"SOC limit\" subsystem inside ',(0,t.jsx)(e.code,{children:\"powerd\"}),\", reachable only by a process holding the private entitlement \",(0,t.jsx)(e.code,{children:\"com.apple.private.iokit.soc-limit\"}),\". If that is right, it explains why root is not enough. On modern macOS, being root does not grant entitlements. A third-party app cannot simply request one, because private Apple entitlements are only honoured for binaries signed by Apple.\"]}),`\n`,(0,t.jsx)(e.p,{children:\"I want to be careful here. This is one reporter's analysis on a GitHub issue, and I have not seen Apple confirm it. What is confirmed by several independent sources is the practical outcome: the old switch is gone, and the new one is not available to ordinary helpers.\"}),`\n`,(0,t.jsx)(e.h2,{id:\"the-apple-built-in-limit-explained-properly\",children:\"The Apple Built-In Limit, Explained Properly\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"The best news in this whole story is that you do not need a third-party tool to cap charging on a current Apple silicon MacBook. Apple's support page \",(0,t.jsx)(e.a,{href:\"https://support.apple.com/en-us/102338\",children:\"About Optimized Battery Charging and Charge Limit on Mac\"}),\" describes two separate features, and mixing them up causes a lot of confusion.\"]}),`\n`,(0,t.jsxs)(e.table,{children:[(0,t.jsx)(e.thead,{children:(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.th,{children:\"Feature\"}),(0,t.jsx)(e.th,{children:\"What it does\"}),(0,t.jsx)(e.th,{children:\"Requirement per Apple\"})]})}),(0,t.jsxs)(e.tbody,{children:[(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Optimized Battery Charging\"}),(0,t.jsx)(e.td,{children:\"Uses machine learning to delay charging past 80 percent when it predicts you will stay plugged in for a long time. Occasionally charges to 100 percent to keep the battery estimate accurate.\"}),(0,t.jsx)(e.td,{children:\"macOS Big Sur 11 or later\"})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Charge Limit\"}),(0,t.jsx)(e.td,{children:\"Sets a custom maximum charge between 80 and 100 percent.\"}),(0,t.jsx)(e.td,{children:\"macOS Tahoe 26.4 or later, and a Mac with Apple silicon\"})]})]})]}),`\n`,(0,t.jsx)(e.h3,{id:\"how-to-set-it\",children:\"How to set it\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"Apple's steps are short. Open the Apple menu, choose System Settings, click Battery in the sidebar, click the info button next to Charging, choose a Charge Limit between 80 and 100 percent, and click Done. \",(0,t.jsx)(e.a,{href:\"https://www.macrumors.com/2026/02/16/mac-charge-limit-macos-tahoe-26-4/\",children:\"MacRumors\"}),\" reported the options as 80, 85, 90, 95 and 100 percent when the feature appeared in the 26.4 beta. Apple's own \",(0,t.jsx)(e.a,{href:\"https://support.apple.com/guide/mac-help/change-battery-settings-mchlfc3b7879/mac\",children:\"Mac battery settings guide\"}),' summarises it as a way to \"preserve the lifespan of your battery by limiting how much your battery charges to\". The settings location can vary slightly by Mac model and macOS version, so if the info button is not where you expect it, look in the Battery pane for the Charging row.']}),`\n`,(0,t.jsx)(e.h3,{id:\"how-it-behaves\",children:\"How it behaves\"}),`\n`,(0,t.jsx)(e.p,{children:`Per Apple's page, the Mac charges to within a few percentage points of the limit, then stops and shows \"Charged to [limit]\" in the battery status menu. If the charge falls by more than 5 percent while you are plugged in, charging resumes and again stops within a few points of the limit. Two consequences matter in practice:`}),`\n`,(0,t.jsxs)(e.ul,{children:[`\n`,(0,t.jsx)(e.li,{children:`The stopping point is approximate. A limit of 80 may rest at 78 to 82. That is Apple's wording, \"within a few percentage points\", not a bug.`}),`\n`,(0,t.jsx)(e.li,{children:'There is a deliberate override. Choosing \"Charge to Full Now\" from the battery status menu charges to 100 percent for that occasion. This is the supported way to top up before a trip.'}),`\n`]}),`\n`,(0,t.jsxs)(e.p,{children:[\"For a wider walk-through of the setting, including the 26.4 introduction, see our earlier \",(0,t.jsx)(e.a,{href:\"/blog/mac-battery-charge-limit-macos-tahoe-complete-guide-2026\",children:\"Mac battery charge limit guide for macOS Tahoe\"}),\". That article was written in the 26.4 beta period, so where its wording differs from Apple's support page, prefer Apple's.\"]}),`\n`,(0,t.jsx)(e.p,{children:(0,t.jsx)(e.img,{alt:\"A thin silver laptop plugged into a charger on a wooden desk next to a desk lamp, with a hand reaching to open the battery settings\",src:\"/images/blog/macos-27-battery-charge-limit-apps-broken-aldente-batt-charging-to-100-fix-2026/content-1.webp\",width:\"1200\",height:\"675\"})}),`\n`,(0,t.jsx)(e.h3,{id:\"intel-note\",children:\"Intel note\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"Apple lists Apple silicon as a requirement for Charge Limit, so Intel MacBooks only get Optimized Battery Charging. I could not verify how third-party tools behave on Intel Macs under macOS 27; check the \",(0,t.jsx)(e.a,{href:\"/compatibility\",children:\"compatibility checker\"}),\" and your tool's documentation.\"]}),`\n`,(0,t.jsx)(e.h2,{id:\"per-app-status-table\",children:\"Per-App Status Table\"}),`\n`,(0,t.jsx)(e.p,{children:'This table reflects public pages as I read them on 30 September 2026. Statuses change quickly, so treat it as a snapshot and click through before you act. \"Reported\" means a user report or developer comment exists, not that the vendor has confirmed it.'}),`\n`,(0,t.jsxs)(e.table,{children:[(0,t.jsx)(e.thead,{children:(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.th,{children:\"Tool\"}),(0,t.jsx)(e.th,{children:\"Status on macOS 27\"}),(0,t.jsx)(e.th,{children:\"Evidence and date\"})]})}),(0,t.jsxs)(e.tbody,{children:[(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"AlDente (Free and Pro)\"}),(0,t.jsx)(e.td,{children:\"Multiple user reports of charging past the limit; no developer reply visible on the newest issues\"}),(0,t.jsxs)(e.td,{children:[\"Issues 1840 and 1841 opened Sep 29 (Pro 1.39.4 on 27.0.1, Free 1.39.4 on 27.0); earlier reports since June. The \",(0,t.jsx)(e.a,{href:\"https://apphousekitchen.com/faq/\",children:\"AlDente FAQ\"}),\" says that starting from 1.38 only macOS 12 Monterey through macOS 27 Golden Gate are supported\"]})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"batt (charlie0129)\"}),(0,t.jsx)(e.td,{children:\"Native firmware-limit path documented; opt-in adapter mode merged\"}),(0,t.jsxs)(e.td,{children:[(0,t.jsx)(e.a,{href:\"https://github.com/charlie0129/batt\",children:\"README\"}),\" describes a section for macOS 27-era firmware; adapter mode merged Sep 24 in \",(0,t.jsx)(e.a,{href:\"https://github.com/charlie0129/batt/pull/154\",children:\"PR 154\"}),\". Issue 152 reports keys gated\"]})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"battery CLI (actuallymentor)\"}),(0,t.jsx)(e.td,{children:\"Upstream not yet updated for macOS 27 as of the pages I read\"}),(0,t.jsx)(e.td,{children:\"PR 478 closed; PRs 479, 480 and 469 open as of the pull request list I read\"})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Battery Toolkit (mhaeuser)\"}),(0,t.jsx)(e.td,{children:\"Upstream repository archived on 21 March 2026\"}),(0,t.jsx)(e.td,{children:\"Read-only repository page. A separate community fork targets macOS 27 for one tested machine\"})]}),(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:\"Battery Toolkit macOS 27 fork\"}),(0,t.jsx)(e.td,{children:\"Works by driving Apple's own limit, on the author's tested Mac only\"}),(0,t.jsxs)(e.td,{children:[(0,t.jsx)(e.a,{href:\"https://github.com/andersonproescholdbell/battery-toolkit-macos27\",children:\"Fork README\"}),\": personal project, unmaintained, needs building with your own signing certificate\"]})]})]})]}),`\n`,(0,t.jsx)(e.p,{children:\"A few notes on this table. The AlDente FAQ states its own compatibility range but does not, in the text I read, say the charge limit works on 27; the issues suggest otherwise for many users. The status of AlDente is also easy to misread because parts of the app continue to work. Reports describe the interface, the menu bar item and the status text behaving normally while the actual charge cutoff does not happen. That is the most dangerous failure mode, because nothing tells you it has stopped.\"}),`\n`,(0,t.jsx)(e.p,{children:\"I could not find an official statement from AlDente's developers about a macOS 27 fix or date. If one exists, it is likely on their site or in their release notes, and I would trust that over any summary here.\"}),`\n`,(0,t.jsx)(e.h2,{id:\"what-the-workaround-forks-actually-do\",children:\"What the Workaround Forks Actually Do\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"Because Apple's limit lives inside \",(0,t.jsx)(e.code,{children:\"powerd\"}),\", several projects have taken one of three approaches. Understanding them will help you decide whether to trust any of them.\"]}),`\n`,(0,t.jsx)(e.h3,{id:\"approach-1-drive-apples-own-limit\",children:\"Approach 1: Drive Apple's own limit\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"The Battery Toolkit fork and the \",(0,t.jsx)(e.code,{children:\"battery\"}),\" pull request 480 both try to use the macOS charge limit rather than SMC keys. The fork does this by writing a preference, \",(0,t.jsx)(e.code,{children:\"mclLimitValue\"}),\", in the domain \",(0,t.jsx)(e.code,{children:\"com.apple.smartcharging.topoffprotection\"}),\", and letting \",(0,t.jsx)(e.code,{children:\"PowerUIAgent\"}),\", which runs as root, hand it to \",(0,t.jsx)(e.code,{children:\"powerd\"}),'. According to its README, this lets the fork set limits below 80 percent, because the range check only happens in the user interface path. The README is also explicit about the price: it uses undocumented private APIs, modifies a root-owned preference domain, any macOS update can break it, and the path below 80 percent \"depends on an unvalidated code path Apple could close\".']}),`\n`,(0,t.jsxs)(e.p,{children:[\"The \",(0,t.jsx)(e.code,{children:\"battery\"}),\" pull request 480 takes a related route through a private client class and reports that limits below 80 percent are refused by firmware, that the limit is enforced by the firmware draining the battery above the limit at roughly 1.5 to 1.9 amps, and that enabling it overrides the user's own macOS limit. Both descriptions come from the pull request authors, are untested by me, and the request has not been merged.\"]}),`\n`,(0,t.jsx)(e.h3,{id:\"approach-2-a-resident-helper\",children:\"Approach 2: A resident helper\"}),`\n`,(0,t.jsx)(e.p,{children:\"Pull request 479 proposes an opt-in policy owned by a resident helper that holds the current level instead of charging to full. Its author reports holding an M3 Pro at 87 percent for 250 seconds and lists sleep, wake and reboot behaviour as unverified. That is an experiment, not a finished feature.\"}),`\n`,(0,t.jsx)(e.h3,{id:\"approach-3-cut-the-adapter\",children:\"Approach 3: Cut the adapter\"}),`\n`,(0,t.jsx)(e.p,{children:`Pull request 478 tried to inhibit the power adapter itself. The maintainer's objection, as summarised on that page, was that disabling the adapter makes the Mac run from the battery rather than pass power through, forcing continuous micro-cycling that defeats the point of protecting the battery. One commenter put it as \"When you disable the adapter the mac starts to work on battery, while we want a power pass through\" on 16 September. The author acknowledged the flaw.`}),`\n`,(0,t.jsxs)(e.p,{children:[\"The \",(0,t.jsx)(e.code,{children:\"batt\"}),` project took a more measured route: adapter mode, merged on 24 September, is opt-in, and according to that pull request's description it \"cuts wall power at the upper limit and restores it at the lower limit\". Its own notes describe about one equivalent extra cycle per day on a 66 Wh battery in the tested case, argue that shallow cycling is gentler than sitting at high charge, and admit that it only enforces the limit while the Mac is awake. That last caveat is important. A laptop that sleeps overnight on the charger is exactly the case where the built-in firmware limit does better.`]}),`\n`,(0,t.jsx)(e.h3,{id:\"my-recommendation\",children:\"My recommendation\"}),`\n`,(0,t.jsx)(e.p,{children:\"For nearly everyone, none of these forks is better than the setting Apple ships. They exist for people who need a limit below 80 percent, want calibration or discharge features, or run scripted fleets. If that is not you, use System Settings and skip the risk of a privileged, unsupported helper.\"}),`\n`,(0,t.jsx)(e.h2,{id:\"what-to-do-right-now-a-step-by-step-plan\",children:\"What To Do Right Now: A Step-by-Step Plan\"}),`\n`,(0,t.jsx)(e.h3,{id:\"step-1-check-whether-your-mac-is-actually-over-charging\",children:\"Step 1: Check whether your Mac is actually over-charging\"}),`\n`,(0,t.jsx)(e.p,{children:\"Look at the battery menu bar item or click the battery icon. If the Mac is plugged in and above your intended limit, it is probably not being held. To confirm without third-party tools, use Apple's own data:\"}),`\n`,(0,t.jsx)(t.Fragment,{children:(0,t.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,t.jsxs)(e.code,{children:[(0,t.jsx)(e.span,{className:\"line\",children:(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Read the current percentage and whether AC power is connected\"})}),`\n`,(0,t.jsxs)(e.span,{className:\"line\",children:[(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"pmset\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -g\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" batt\"})]}),`\n`,(0,t.jsx)(e.span,{className:\"line\"}),`\n`,(0,t.jsx)(e.span,{className:\"line\",children:(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Show the power source and battery details Apple exposes\"})}),`\n`,(0,t.jsxs)(e.span,{className:\"line\",children:[(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"system_profiler\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" SPPowerDataType\"})]})]})})}),`\n`,(0,t.jsxs)(e.p,{children:[\"Both commands only read information. They change nothing. \",(0,t.jsx)(e.code,{children:\"pmset -g batt\"}),' prints the charge percentage and whether the Mac is on AC power and charging or \"charged\". ',(0,t.jsx)(e.code,{children:\"system_profiler SPPowerDataType\"}),\" prints the battery information, including cycle count, condition and, on many Macs, maximum capacity. The exact field names differ by model and macOS version, so read what your Mac prints rather than looking for a specific string.\"]}),`\n`,(0,t.jsx)(e.h3,{id:\"step-2-turn-off-the-third-party-limit-first\",children:\"Step 2: Turn off the third-party limit first\"}),`\n`,(0,t.jsx)(e.p,{children:\"Before you touch Apple's setting, stop the tool from fighting it. AlDente's own FAQ says to set the charging limit back to 100 percent, wait 30 seconds for the change to take effect, quit the app, and then delete it. If you plan to keep using an app that has a native-limit mode, follow that project's documentation instead.\"}),`\n`,(0,t.jsx)(e.p,{children:\"The reason to do this first is that a helper that still believes it is in control can leave the charger in a state you cannot see. Handing control back cleanly reduces the chance of odd behaviour.\"}),`\n`,(0,t.jsx)(e.h3,{id:\"step-3-set-apples-charge-limit\",children:\"Step 3: Set Apple's Charge Limit\"}),`\n`,(0,t.jsx)(e.p,{children:\"Open System Settings > Battery, click the info button next to Charging and choose a limit. Which one? Apple's support page says only that the limit is a custom value from 80 to 100 percent. It does not tell you which value is best. A common reasoning is that 80 percent is the most conservative, 90 is a reasonable compromise if you occasionally unplug and go, and 100 percent turns the cap off. Choose based on how you use the Mac, and change it whenever your day changes.\"}),`\n`,(0,t.jsx)(e.h3,{id:\"step-4-optimized-battery-charging\",children:\"Step 4: Optimized Battery Charging\"}),`\n`,(0,t.jsx)(e.p,{children:`On the same screen, Optimized Battery Charging is a separate toggle. AlDente's FAQ recommends turning it off while AlDente is in control. Apple's pages I read do not say you must disable it when using Charge Limit, so leaving it on is a reasonable default. If you see odd \"Charging On Hold\" messages, try each toggle on its own.`}),`\n`,(0,t.jsx)(e.h3,{id:\"step-5-restart-once-and-verify\",children:\"Step 5: Restart once and verify\"}),`\n`,(0,t.jsx)(e.p,{children:\"Restart the Mac, plug it in, and confirm the limit is still set in System Settings. This matters because of the claim discussed in the next section. It takes a minute and settles the question for your machine.\"}),`\n`,(0,t.jsx)(e.h2,{id:\"does-the-built-in-limit-reset-after-a-restart\",children:\"Does the Built-In Limit Reset After a Restart?\"}),`\n`,(0,t.jsxs)(e.p,{children:['You will see this claim in roundups. Some articles say the 80 percent limit \"resets to 100% after each restart\" in Golden Gate. I tried to trace it. The ',(0,t.jsx)(e.a,{href:\"https://macpaw.com/how-to/macos-golden-gate-issues\",children:\"MacPaw guide\"}),' says \"Some users have reported that the 80% charging limit resets to 100% after each restart\", and offers no source. I also opened the OSXDaily battery tips article that some summaries cite, and its text, as I read it, did not discuss the charge limit at all. I found no primary forum thread, Apple statement or bug report from the release itself.']}),`\n`,(0,t.jsx)(e.p,{children:`There is one more relevant statement, from a competitor. The AlDente FAQ says that \"the macOS charge limit is also not persistent when the MacBook is turned off.\" That is a vendor's claim, and the vendor sells a competing product. Apple's support page does not mention persistence in the text I read, and the MacRumors report on the feature does not address it either. So this stays in the unverified column.`}),`\n`,(0,t.jsx)(e.p,{children:\"What can you do? Test it, which is easy:\"}),`\n`,(0,t.jsxs)(e.ol,{children:[`\n`,(0,t.jsx)(e.li,{children:\"Set the limit to a value you will recognise, such as 85 percent.\"}),`\n`,(0,t.jsx)(e.li,{children:\"Do a full restart, not just a sleep.\"}),`\n`,(0,t.jsx)(e.li,{children:\"Open System Settings > Battery > the info button next to Charging and read what it shows.\"}),`\n`,(0,t.jsx)(e.li,{children:\"If it has reverted, note your Mac model, the macOS build and whether you use Optimized Battery Charging, and send that to Apple with Feedback Assistant. A confirmed reset is a bug worth reporting.\"}),`\n`]}),`\n`,(0,t.jsx)(e.p,{children:\"Also keep in mind a separate cause of confusion. Even a working limit is only a target within a few points, and it resumes charging after a 5 percent drop, per Apple. Seeing 95 percent on a Mac set to 90 is not the same as a reset.\"}),`\n`,(0,t.jsx)(e.h2,{id:\"cleaning-up-old-charge-limit-helpers-safely\",children:\"Cleaning Up Old Charge-Limit Helpers Safely\"}),`\n`,(0,t.jsx)(e.p,{children:\"If you installed one of these tools, part of it may still be running as root even after you drag the app to the Trash. That matters now for two reasons. A helper that no longer works can be harmless, but one that half-works might still try to write to hardware controls; and helpers are persistent software running with high privileges, which you should not keep around without a reason.\"}),`\n`,(0,t.jsx)(e.p,{children:\"Do this in order and stop if anything looks unfamiliar.\"}),`\n`,(0,t.jsx)(e.h3,{id:\"use-the-tools-own-uninstaller-where-one-exists\",children:\"Use the tool's own uninstaller where one exists\"}),`\n`,(0,t.jsx)(e.p,{children:\"The right way to remove a privileged helper is the developer's uninstall path. Documented options I verified:\"}),`\n`,(0,t.jsxs)(e.ul,{children:[`\n`,(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:\"batt\"}),\": follow the \",(0,t.jsx)(e.a,{href:\"https://github.com/charlie0129/batt#how-to-uninstall\",children:\"maintainer's uninstall instructions\"}),\" for your installation method. For Homebrew, first run \",(0,t.jsx)(e.code,{children:\"sudo batt disable\"}),\" to restore the default charge limit; only after it succeeds, run \",(0,t.jsx)(e.code,{children:\"sudo brew services stop batt\"}),\", then \",(0,t.jsx)(e.code,{children:\"brew uninstall batt\"}),\". Stop if a command fails or returns an unexpected result. For script/manual installations, use \",(0,t.jsx)(e.code,{children:\"sudo batt uninstall\"}),'; for the GUI version, choose \"Uninstall Daemon...\" before removing the app. Follow the same guide for any remaining configuration or binary cleanup; do not guess paths or use wildcard deletion.']}),`\n`,(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:\"battery (actuallymentor)\"}),\": run \",(0,t.jsx)(e.code,{children:\"battery uninstall\"}),\". The README describes this as enabling charging, removing the \",(0,t.jsx)(e.code,{children:\"smc\"}),\" tool and the battery script.\"]}),`\n`,(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:\"AlDente\"}),\": set the limit back to 100 percent, wait 30 seconds, quit, and delete the app, per its FAQ. The FAQ text I read does not describe a separate helper removal step, so use the in-app options if present and check the sections below.\"]}),`\n`,(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:\"Battery Toolkit\"}),\": I did not find a documented uninstall command in the pages I read. Check the app's own menu for an option to remove its background service before deleting the app.\"]}),`\n`]}),`\n`,(0,t.jsx)(e.h3,{id:\"inspect-what-is-left-read-only\",children:\"Inspect what is left, read-only\"}),`\n`,(0,t.jsx)(e.p,{children:\"These commands look but do not change anything.\"}),`\n`,(0,t.jsx)(t.Fragment,{children:(0,t.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,t.jsxs)(e.code,{children:[(0,t.jsx)(e.span,{className:\"line\",children:(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Third-party launch daemons (privileged background services)\"})}),`\n`,(0,t.jsxs)(e.span,{className:\"line\",children:[(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"ls\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -l\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /Library/LaunchDaemons\"})]}),`\n`,(0,t.jsx)(e.span,{className:\"line\"}),`\n`,(0,t.jsx)(e.span,{className:\"line\",children:(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Privileged helper executables installed by apps\"})}),`\n`,(0,t.jsxs)(e.span,{className:\"line\",children:[(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"ls\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -l\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /Library/PrivilegedHelperTools\"})]}),`\n`,(0,t.jsx)(e.span,{className:\"line\"}),`\n`,(0,t.jsx)(e.span,{className:\"line\",children:(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Any sudoers drop-ins added by command line tools\"})}),`\n`,(0,t.jsxs)(e.span,{className:\"line\",children:[(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"ls\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -l\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /etc/sudoers.d\"})]})]})})}),`\n`,(0,t.jsxs)(e.p,{children:[\"Look for names associated with the tool you installed, such as \",(0,t.jsx)(e.code,{children:\"cc.chlc.batt\"}),\" or \",(0,t.jsx)(e.code,{children:\"homebrew.mxcl.batt\"}),\" for batt. A matching file is a clue, not proof of a running or orphaned service. If you do not recognise a file, do not delete it; check the developer's documentation first.\"]}),`\n`,(0,t.jsx)(e.p,{children:\"You can also check Login Items & Extensions in System Settings > General. Modern macOS lists background items there with the app that registered them, and you can switch them off with a toggle. That is a reversible first step. The AlDente issue tracker includes a report of duplicate background items with the same name on macOS 27, so do not be surprised if you see two entries.\"}),`\n`,(0,t.jsx)(e.h3,{id:\"removing-a-leftover-daemon\",children:\"Removing a leftover daemon\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"Do not substitute a generic \",(0,t.jsx)(e.code,{children:\"launchctl\"}),` or file-deletion recipe for the app's documented removal process. \"No such file or directory\" does not prove that a background job has stopped. If you previously ran batt v0.7.3 or earlier with `,(0,t.jsx)(e.code,{children:\"sudo brew services\"}),\", read the \",(0,t.jsx)(e.a,{href:\"https://github.com/charlie0129/batt#homebrew-service-label-migration\",children:\"maintainer's Homebrew service-label migration note\"}),\": the old \",(0,t.jsx)(e.code,{children:\"cc.chlc.batt\"}),\" job may remain registered, and deleting its plist alone does not unregister it. That note describes migration, not an uninstall sequence; do not run its upgrade/start steps as part of removing batt. If uninstallation fails or you cannot identify the installation method, stop and ask the maintainer or your administrator for help.\"]}),`\n`,(0,t.jsx)(e.h3,{id:\"what-not-to-do\",children:\"What not to do\"}),`\n`,(0,t.jsxs)(e.ul,{children:[`\n`,(0,t.jsxs)(e.li,{children:[\"Do not delete files in \",(0,t.jsx)(e.code,{children:\"/Library/LaunchDaemons\"}),\" or \",(0,t.jsx)(e.code,{children:\"/Library/PrivilegedHelperTools\"}),\" by wildcard. Apple, security tools and other vendors keep files there too.\"]}),`\n`,(0,t.jsx)(e.li,{children:\"Do not run random cleanup scripts posted in forum threads without reading them.\"}),`\n`,(0,t.jsx)(e.li,{children:\"Do not turn off System Integrity Protection to work around these changes. It is unnecessary here and lowers the protection of the whole system.\"}),`\n`,(0,t.jsx)(e.li,{children:\"Do not keep two limiters active at once. Two controls that both think they own charging is a recipe for the contradictory behaviour seen in the AlDente reports.\"}),`\n`]}),`\n`,(0,t.jsx)(e.p,{children:\"If you use a managed Mac, ask your administrator before removing anything; a management profile may reinstall tools or expect them to exist.\"}),`\n`,(0,t.jsx)(e.h2,{id:\"the-battery-health-context-numbers-you-can-check-yourself\",children:\"The Battery Health Context: Numbers You Can Check Yourself\"}),`\n`,(0,t.jsx)(e.p,{children:\"The point of a charge limit is a longer battery life. It helps to measure that rather than take it on faith, and macOS gives you what you need.\"}),`\n`,(0,t.jsx)(e.h3,{id:\"what-apple-says-about-cycles\",children:\"What Apple says about cycles\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"Apple's \",(0,t.jsx)(e.a,{href:\"https://support.apple.com/en-us/102888\",children:\"cycle count page\"}),' says that to see your count you hold Option, click the Apple menu, choose System Information, then select Power under Hardware. It states that most modern MacBooks are designed for 1,000 cycles, and that a battery is \"designed to retain up to 80% of its original charge capacity at its maximum cycle count\". A cycle is a full 100 percent of discharge added up, not one plug-in event, so using 50 percent twice counts as one.']}),`\n`,(0,t.jsx)(e.h3,{id:\"reading-it-from-terminal\",children:\"Reading it from Terminal\"}),`\n`,(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.code,{children:\"system_profiler SPPowerDataType\"}),\" prints battery information, including cycle count and condition, and you can filter it:\"]}),`\n`,(0,t.jsx)(t.Fragment,{children:(0,t.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,t.jsxs)(e.code,{children:[(0,t.jsx)(e.span,{className:\"line\",children:(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Battery section only, with cycle count and health lines\"})}),`\n`,(0,t.jsxs)(e.span,{className:\"line\",children:[(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"system_profiler\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" SPPowerDataType\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" |\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\" grep\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -E\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"Cycle Count|Condition|Maximum Capacity\"'})]})]})})}),`\n`,(0,t.jsx)(e.p,{children:\"The grep only filters the output. If a line does not appear, your Mac does not print it, and that is fine.\"}),`\n`,(0,t.jsx)(e.p,{children:\"For raw hardware values, the battery is exposed in the I/O registry:\"}),`\n`,(0,t.jsx)(t.Fragment,{children:(0,t.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,t.jsxs)(e.code,{children:[(0,t.jsx)(e.span,{className:\"line\",children:(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Read-only: dump the smart battery registry entry\"})}),`\n`,(0,t.jsxs)(e.span,{className:\"line\",children:[(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"ioreg\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -rn\"}),(0,t.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" AppleSmartBattery\"})]})]})})}),`\n`,(0,t.jsxs)(e.p,{children:[\"Community sources, including an \",(0,t.jsx)(e.a,{href:\"https://discussions.apple.com/thread/255613997\",children:\"Apple Community thread\"}),\" about an M3 Pro MacBook, describe these fields: \",(0,t.jsx)(e.code,{children:\"CycleCount\"}),\", \",(0,t.jsx)(e.code,{children:\"DesignCapacity\"}),\" (the factory capacity in mAh), \",(0,t.jsx)(e.code,{children:\"AppleRawMaxCapacity\"}),\" (the current full-charge capacity in mAh) and \",(0,t.jsx)(e.code,{children:\"NominalChargeCapacity\"}),\". A common way to estimate health is \",(0,t.jsx)(e.code,{children:\"AppleRawMaxCapacity\"}),\" divided by \",(0,t.jsx)(e.code,{children:\"DesignCapacity\"}),\". On Apple silicon the field \",(0,t.jsx)(e.code,{children:\"MaxCapacity\"}),\" reads as a percentage, not mAh. These are third-party descriptions of undocumented fields, so treat the results as a useful estimate, not an official health number. In that same thread, one respondent cautioned that the output of \",(0,t.jsx)(e.code,{children:\"pmset -g rawbatt\"}),\" is not accurate on an M-series Mac. The number Apple shows in System Settings under Battery Health is the one Apple supports for service decisions.\"]}),`\n`,(0,t.jsx)(e.p,{children:(0,t.jsx)(e.img,{alt:\"A technician's hands holding a thin silver laptop with the bottom case removed, checking the battery cells under a work lamp\",src:\"/images/blog/macos-27-battery-charge-limit-apps-broken-aldente-batt-charging-to-100-fix-2026/content-2.webp\",width:\"1200\",height:\"675\"})}),`\n`,(0,t.jsx)(e.h3,{id:\"what-does-the-chemistry-actually-say\",children:\"What does the chemistry actually say?\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"Mac batteries are lithium-ion, and Apple's \",(0,t.jsx)(e.a,{href:\"https://www.apple.com/batteries/maximizing-performance/\",children:\"battery performance guidance\"}),\" is worth reading directly. It calls 62 to 72 degrees Fahrenheit (16 to 22 degrees Celsius) the ideal comfort zone for its devices, warns that ambient temperatures above 95 degrees Fahrenheit (35 degrees Celsius) can permanently damage battery capacity, and for long-term storage recommends charging to around 50 percent and avoiding a full charge or a full discharge, because either extreme can reduce capacity. For MacBooks it gives a wider operating range of 50 to 95 degrees Fahrenheit (10 to 35 degrees Celsius). Apple also says its systems manage charging patterns and temperature, and that features like Optimized Battery Charging adapt to your usage to preserve lifespan.\"]}),`\n`,(0,t.jsxs)(e.p,{children:[\"That is the extent of what Apple states there. It does not give a numeric benefit for a specific charge limit. Broadly, lithium-ion wear is understood to be faster at high state of charge and high temperature, which is the reasoning behind charge limits, but I am not going to quote a lifetime multiplier, because how much a limit helps depends on the cell design, the temperature and the usage. The older 2026 guide on this site quotes figures such as capacity retention after 500 cycles; treat those as rough rules of thumb rather than measured results for your Mac. For a deeper look at power management, see our \",(0,t.jsx)(e.a,{href:\"/blog/macos-tahoe-battery-diagnostics-advanced-guide\",children:\"battery diagnostics guide\"}),\".\"]}),`\n`,(0,t.jsx)(e.h2,{id:\"troubleshooting-common-issues\",children:\"Troubleshooting Common Issues\"}),`\n`,(0,t.jsx)(e.h3,{id:\"my-mac-still-charges-to-100-percent-with-the-built-in-limit-set\",children:\"My Mac still charges to 100 percent with the built-in limit set\"}),`\n`,(0,t.jsx)(e.p,{children:'First confirm the Mac supports it. Apple lists Apple silicon and macOS Tahoe 26.4 or later. Open System Settings > Battery > info button next to Charging and check that a value below 100 percent is selected. Make sure no third-party helper is still active; go through the cleanup steps above. If you had used \"Charge to Full Now\" earlier, that was a one-time override. Restart, plug in, and watch the menu bar for the \"Charged to\" message. If it still ignores a clearly lower limit, collect the macOS build, your Mac model and reproduction steps and file Feedback.'}),`\n`,(0,t.jsx)(e.h3,{id:\"aldente-says-the-limit-is-reached-but-the-battery-keeps-climbing\",children:\"AlDente says the limit is reached but the battery keeps climbing\"}),`\n`,(0,t.jsx)(e.p,{children:\"This matches the reports on issues 1840 and 1841. Quit AlDente, set 100 percent first, and switch to Apple's Charge Limit. Then check whether the helper is still running (see the inspection commands above). Keep an eye on the AlDente issues and release notes for an official update before you re-enable it.\"}),`\n`,(0,t.jsx)(e.h3,{id:\"the-battery-is-discharging-while-plugged-in\",children:\"The battery is discharging while plugged in\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"Some tools use forced discharge or adapter cutoff, which makes the Mac run from the battery even though it is plugged in. The \",(0,t.jsx)(e.code,{children:\"batt\"}),\" documentation notes that on macOS 27-era firmware the Mac may run from the battery when it is above the limit, and one AlDente report describes discharge stopping and restarting unexpectedly. If your Mac drains while connected, follow the tool's installation-specific uninstall procedure above. Stop if it fails; otherwise restart and re-test with only Apple's setting. Separately, a low-wattage charger can look like this too: macOS 26.4 added a slow charger indicator, according to \",(0,t.jsx)(e.a,{href:\"https://9to5mac.com/2026/04/03/macos-26-4-adds-three-new-battery-features-on-mac-heres-how-to-use-them/\",children:\"9to5Mac\"}),\", and Apple recommends minimum wattages per model.\"]}),`\n`,(0,t.jsx)(e.h3,{id:\"the-mac-is-hot-and-the-battery-is-draining-fast-after-upgrading\",children:\"The Mac is hot and the battery is draining fast after upgrading\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"That is a different problem: post-upgrade indexing can cause heat and drain for a day or two. See our guide to \",(0,t.jsx)(e.a,{href:\"/blog/macos-27-spotlight-reindexing-battery-drain-stuck-how-to-fix-2026\",children:\"Spotlight reindexing battery drain in macOS 27\"}),\" and wait for indexing to finish before judging the limit.\"]}),`\n`,(0,t.jsx)(e.h3,{id:\"the-charge-limit-control-is-missing-from-system-settings\",children:\"The Charge Limit control is missing from System Settings\"}),`\n`,(0,t.jsx)(e.p,{children:\"Check your Mac and macOS version first. Apple's page requires Apple silicon and macOS Tahoe 26.4 or later. Intel Macs and older macOS versions will not show it. If you are on a supported Mac and macOS 27, update to the latest point release, restart, and look again in System Settings > Battery > info button next to Charging.\"}),`\n`,(0,t.jsx)(e.h3,{id:\"a-custom-limit-below-80-percent\",children:\"A custom limit below 80 percent\"}),`\n`,(0,t.jsx)(e.p,{children:\"Apple's setting stops at 80 percent, and I found no supported way to go lower. Community forks that do it rely on private APIs, as their own README warns.\"}),`\n`,(0,t.jsx)(e.h3,{id:\"managed-macs-and-fleets\",children:\"Managed Macs and fleets\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"Inventory launch daemons and privileged helpers before pushing macOS 27, use Apple's supported setting where policy allows, and pilot first. I found no documented MDM key for Charge Limit, so do not assume one exists. If a rollback is on the table, see the \",(0,t.jsx)(e.a,{href:\"/tools/downgrade-assistant\",children:\"downgrade assistant\"}),\".\"]}),`\n`,(0,t.jsx)(e.h2,{id:\"faq\",children:\"FAQ\"}),`\n`,(0,t.jsx)(e.h3,{id:\"why-did-my-charge-limit-app-stop-working-on-macos-27\",children:\"Why did my charge limit app stop working on macOS 27?\"}),`\n`,(0,t.jsx)(e.p,{children:\"According to developer reports on GitHub, macOS 27 removed or locked the SMC charge-control keys these apps write to. The keys either return no data, or fail even for root, and the replacement control sits behind a private Apple entitlement. Apple has not published details, so treat this as the developers' analysis rather than an Apple statement.\"}),`\n`,(0,t.jsx)(e.h3,{id:\"is-the-built-in-charge-limit-safe-to-rely-on\",children:\"Is the built-in Charge Limit safe to rely on?\"}),`\n`,(0,t.jsx)(e.p,{children:`Yes. It is Apple's own supported feature. Apple's support page says it requires macOS Tahoe 26.4 or later and a Mac with Apple silicon, lets you choose 80 to 100 percent, and lets you override it with \"Charge to Full Now\". Unlike third-party helpers, it does not depend on unsupported hardware keys, so a future macOS update should not silently break it.`}),`\n`,(0,t.jsx)(e.h3,{id:\"will-aldente-be-fixed\",children:\"Will AlDente be fixed?\"}),`\n`,(0,t.jsx)(e.p,{children:\"I do not know. As of 30 September 2026, the newest issue reports on GitHub had no developer replies that I could see, and I found no official statement or date. The FAQ lists macOS 27 among supported versions from AlDente 1.38, but users on 1.39.4 still report over-charging. Watch the vendor's release notes rather than relying on roundups.\"}),`\n`,(0,t.jsx)(e.h3,{id:\"does-the-built-in-limit-reset-to-100-percent-after-a-restart\",children:\"Does the built-in limit reset to 100 percent after a restart?\"}),`\n`,(0,t.jsx)(e.p,{children:\"Unverified. Some roundup articles say so, without a primary source, and a competing vendor's FAQ claims it is not persistent. Apple's support page does not address it. Test on your own Mac by setting a distinctive limit, restarting, and checking System Settings. If it reverts, report it with Feedback Assistant.\"}),`\n`,(0,t.jsx)(e.h3,{id:\"can-i-keep-using-adapter-cutoff-modes\",children:\"Can I keep using adapter-cutoff modes?\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"They are opt-in for a reason. The maintainer of the \",(0,t.jsx)(e.code,{children:\"battery\"}),\" project rejected an adapter-disable approach because it can cause constant micro-cycling, and \",(0,t.jsx)(e.code,{children:\"batt\"}),\" documents that its adapter mode adds shallow cycles and only enforces while the Mac is awake. If you need a hard cap for a special case, understand these trade-offs first. For everyone else, Apple's limit is simpler.\"]}),`\n`,(0,t.jsx)(e.h3,{id:\"how-do-i-check-that-my-battery-is-healthy\",children:\"How do I check that my battery is healthy?\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"Open System Settings > Battery and read Battery Health, or hold Option, click the Apple menu and open System Information > Power for the cycle count. Apple says most modern MacBooks are designed for 1,000 cycles and to retain up to 80 percent capacity at that point. Terminal tools like \",(0,t.jsx)(e.code,{children:\"system_profiler SPPowerDataType\"}),\" show the same data.\"]}),`\n`,(0,t.jsx)(e.h3,{id:\"do-i-need-to-delete-my-charge-limit-app\",children:\"Do I need to delete my charge limit app?\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"If it no longer works, yes, uninstall it properly rather than leave a privileged helper running. Use the developer's uninstaller for your installation method. For batt, follow the steps above: Homebrew users must restore the default charge limit before stopping and removing it; \",(0,t.jsx)(e.code,{children:\"sudo batt uninstall\"}),\" is for script/manual installations. The battery CLI provides \",(0,t.jsx)(e.code,{children:\"battery uninstall\"}),\". For AlDente, set 100 percent, wait 30 seconds, quit and delete, per its FAQ. Then inspect launch daemons for leftovers.\"]}),`\n`,(0,t.jsx)(e.h3,{id:\"does-this-affect-intel-macbooks\",children:\"Does this affect Intel MacBooks?\"}),`\n`,(0,t.jsx)(e.p,{children:\"Apple's Charge Limit requires Apple silicon, so Intel MacBooks do not have it. Optimized Battery Charging is available from Big Sur onward. I could not verify how third-party tools behave on Intel Macs under macOS 27, so read your tool's documentation, and check that your Mac is supported in the first place.\"}),`\n`,(0,t.jsx)(e.h2,{id:\"conclusion\",children:\"Conclusion\"}),`\n`,(0,t.jsxs)(e.p,{children:[\"The short version is that macOS 27 broke a long-standing hack, and the hack's maintainers are still working out replacements. AlDente, batt, Battery Toolkit and the \",(0,t.jsx)(e.code,{children:\"battery\"}),\" CLI were all built on hardware controls that Apple never promised to keep, and the public record shows those controls disappearing or becoming inaccessible over the beta period and into the release. Apple, meanwhile, has shipped a supported Charge Limit that does the most important part of the job for most people: hold the battery below full while the Mac sits on the charger.\"]}),`\n`,(0,t.jsx)(e.p,{children:\"So the practical plan is simple. Stop relying on a tool that reports a limit but does not enforce it. Hand control back cleanly, set Apple's Charge Limit under System Settings > Battery, restart once to verify it holds, and remove leftover privileged helpers using the developer's own uninstaller. Measure your battery with cycle count and Battery Health instead of trusting a menu bar icon. Treat sensational claims, including the restart-reset rumour, as open questions until someone shows a reproducible case. And if you want a limit lower than 80 percent, accept that you are stepping outside Apple's supported path.\"}),`\n`,(0,t.jsx)(e.p,{children:\"This situation is still moving. New commits landed on these projects in the last two weeks, and macOS 27.0.1 did not change the picture for the reports I read. I will refresh the status table as the projects respond.\"}),`\n`,(0,t.jsx)(e.p,{children:(0,t.jsxs)(e.em,{children:[\"Related reading: \",(0,t.jsx)(e.a,{href:\"/blog/mac-battery-charge-limit-macos-tahoe-complete-guide-2026\",children:\"Mac battery charge limit in macOS Tahoe 26.4\"}),\", \",(0,t.jsx)(e.a,{href:\"/blog/macos-tahoe-battery-diagnostics-advanced-guide\",children:\"Tahoe battery diagnostics guide\"}),\", \",(0,t.jsx)(e.a,{href:\"/blog/macos-tahoe-battery-optimization-advanced-guide-post-26-1-2025\",children:\"Tahoe battery optimization advanced guide\"}),\", \",(0,t.jsx)(e.a,{href:\"/blog/macos-tahoe-battery-drain-complete-fix-guide-2025\",children:\"battery drain fix guide\"}),\", \",(0,t.jsx)(e.a,{href:\"/blog/macos-27-golden-gate-release-day-update-guide-september-14-2026\",children:\"Golden Gate release-day update guide\"})]})})]})}function c(i={}){let{wrapper:e}=i.components||{};return e?(0,t.jsx)(e,{...i,children:(0,t.jsx)(d,{...i})}):d(i)}return k(v);})();\n;return Component;","toc":[{"title":"Key Takeaways","url":"#key-takeaways","depth":2},{"title":"What Actually Broke: The Timeline","url":"#what-actually-broke-the-timeline","depth":2},{"title":"Why Third-Party Charge Limiters Worked Before","url":"#why-third-party-charge-limiters-worked-before","depth":2},{"title":"What Changed in macOS 27, According to Developers","url":"#what-changed-in-macos-27-according-to-developers","depth":2},{"title":"The legacy keys are gone or empty","url":"#the-legacy-keys-are-gone-or-empty","depth":3},{"title":"The newer firmware keys are locked","url":"#the-newer-firmware-keys-are-locked","depth":3},{"title":"Where the control moved","url":"#where-the-control-moved","depth":3},{"title":"The Apple Built-In Limit, Explained Properly","url":"#the-apple-built-in-limit-explained-properly","depth":2},{"title":"How to set it","url":"#how-to-set-it","depth":3},{"title":"How it behaves","url":"#how-it-behaves","depth":3},{"title":"Intel note","url":"#intel-note","depth":3},{"title":"Per-App Status Table","url":"#per-app-status-table","depth":2},{"title":"What the Workaround Forks Actually Do","url":"#what-the-workaround-forks-actually-do","depth":2},{"title":"Approach 1: Drive Apple's own limit","url":"#approach-1-drive-apples-own-limit","depth":3},{"title":"Approach 2: A resident helper","url":"#approach-2-a-resident-helper","depth":3},{"title":"Approach 3: Cut the adapter","url":"#approach-3-cut-the-adapter","depth":3},{"title":"My recommendation","url":"#my-recommendation","depth":3},{"title":"What To Do Right Now: A Step-by-Step Plan","url":"#what-to-do-right-now-a-step-by-step-plan","depth":2},{"title":"Step 1: Check whether your Mac is actually over-charging","url":"#step-1-check-whether-your-mac-is-actually-over-charging","depth":3},{"title":"Step 2: Turn off the third-party limit first","url":"#step-2-turn-off-the-third-party-limit-first","depth":3},{"title":"Step 3: Set Apple's Charge Limit","url":"#step-3-set-apples-charge-limit","depth":3},{"title":"Step 4: Optimized Battery Charging","url":"#step-4-optimized-battery-charging","depth":3},{"title":"Step 5: Restart once and verify","url":"#step-5-restart-once-and-verify","depth":3},{"title":"Does the Built-In Limit Reset After a Restart?","url":"#does-the-built-in-limit-reset-after-a-restart","depth":2},{"title":"Cleaning Up Old Charge-Limit Helpers Safely","url":"#cleaning-up-old-charge-limit-helpers-safely","depth":2},{"title":"Use the tool's own uninstaller where one exists","url":"#use-the-tools-own-uninstaller-where-one-exists","depth":3},{"title":"Inspect what is left, read-only","url":"#inspect-what-is-left-read-only","depth":3},{"title":"Removing a leftover daemon","url":"#removing-a-leftover-daemon","depth":3},{"title":"What not to do","url":"#what-not-to-do","depth":3},{"title":"The Battery Health Context: Numbers You Can Check Yourself","url":"#the-battery-health-context-numbers-you-can-check-yourself","depth":2},{"title":"What Apple says about cycles","url":"#what-apple-says-about-cycles","depth":3},{"title":"Reading it from Terminal","url":"#reading-it-from-terminal","depth":3},{"title":"What does the chemistry actually say?","url":"#what-does-the-chemistry-actually-say","depth":3},{"title":"Troubleshooting Common Issues","url":"#troubleshooting-common-issues","depth":2},{"title":"My Mac still charges to 100 percent with the built-in limit set","url":"#my-mac-still-charges-to-100-percent-with-the-built-in-limit-set","depth":3},{"title":"AlDente says the limit is reached but the battery keeps climbing","url":"#aldente-says-the-limit-is-reached-but-the-battery-keeps-climbing","depth":3},{"title":"The battery is discharging while plugged in","url":"#the-battery-is-discharging-while-plugged-in","depth":3},{"title":"The Mac is hot and the battery is draining fast after upgrading","url":"#the-mac-is-hot-and-the-battery-is-draining-fast-after-upgrading","depth":3},{"title":"The Charge Limit control is missing from System Settings","url":"#the-charge-limit-control-is-missing-from-system-settings","depth":3},{"title":"A custom limit below 80 percent","url":"#a-custom-limit-below-80-percent","depth":3},{"title":"Managed Macs and fleets","url":"#managed-macs-and-fleets","depth":3},{"title":"FAQ","url":"#faq","depth":2},{"title":"Why did my charge limit app stop working on macOS 27?","url":"#why-did-my-charge-limit-app-stop-working-on-macos-27","depth":3},{"title":"Is the built-in Charge Limit safe to rely on?","url":"#is-the-built-in-charge-limit-safe-to-rely-on","depth":3},{"title":"Will AlDente be fixed?","url":"#will-aldente-be-fixed","depth":3},{"title":"Does the built-in limit reset to 100 percent after a restart?","url":"#does-the-built-in-limit-reset-to-100-percent-after-a-restart","depth":3},{"title":"Can I keep using adapter-cutoff modes?","url":"#can-i-keep-using-adapter-cutoff-modes","depth":3},{"title":"How do I check that my battery is healthy?","url":"#how-do-i-check-that-my-battery-is-healthy","depth":3},{"title":"Do I need to delete my charge limit app?","url":"#do-i-need-to-delete-my-charge-limit-app","depth":3},{"title":"Does this affect Intel MacBooks?","url":"#does-this-affect-intel-macbooks","depth":3},{"title":"Conclusion","url":"#conclusion","depth":2}],"estimatedTime":31}