Skip to content

Support Tahoe SMC keys with existing smc binary#388

Merged
actuallymentor merged 10 commits intoactuallymentor:mainfrom
duetocode:main
Oct 21, 2025
Merged

Support Tahoe SMC keys with existing smc binary#388
actuallymentor merged 10 commits intoactuallymentor:mainfrom
duetocode:main

Conversation

@duetocode
Copy link
Copy Markdown
Contributor

Hi! As issues #382 and #384 reports, the app stopped working after the firmware update by macOS 26 and 15.7.1. This pull requests added new logic to the battery.sh that detects whether the machine supports the new smc keys, then it uses the existing smc binary to read/write the value.

I only verified the battery.sh on my macOS 15.7.1. The charging stops around the target percentage
and resumes once it drops below.

Copy link
Copy Markdown

@base47 base47 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!
Testing it on 15.7, so far so good.

}

## #################
## SMC Manipulation
Copy link
Copy Markdown

@base47 base47 Oct 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

EDIT: Hiding this proposal, because it requires refactoring and we don't have time for that.

don't read
Just an idea. Does it make sense to use this whole block of functions in a polymorphic manner?

We could move this whole block of functions to a separate file, let's say, "battery_smc_api_legacy.sh" and implement these functions using tahoe smc keys in a separate file like "battery_smc_api_tahoe.sh". When the battery.sh script starts we could inject the appropriate function implementations into the script, like

if tahoe; then
    source battery_smc_api_tahoe.sh
else
    source battery_smc_api_legacy.sh
fi

This way we could guaranty that battery works as before for previous macos versions, simplify the code review and the number of macos versions to test with.
Details

@base47
Copy link
Copy Markdown

base47 commented Oct 3, 2025

battery maintain 60 --force-discharge stopped charging as expected.
However, when the battery dropped below 60% and I reconnected the power cable, the charging did not start.

~/.battery/battery.log tail
10/02/25-22:04:56 - Triggering discharge to 60 before enabling charging limiter
10/02/25-22:04:56 - Discharging to 60% from 97%
10/02/25-22:04:56 - 🔽🪫 Enabling battery discharging
10/02/25-22:04:56 - SMC capabilities: tahoe=true legacy=true CHIE=true CH0I=true CH0J=true
10/02/25-22:04:56 - Battery at 97% (target 60%)
10/02/25-22:05:56 - Battery at 97% (target 60%)
10/02/25-22:06:56 - Battery at 97% (target 60%)
10/02/25-22:07:56 - Battery at 97% (target 60%)
10/02/25-22:08:56 - Battery at 97% (target 60%)
10/02/25-22:09:56 - Battery at 97% (target 60%)
10/02/25-22:10:56 - Battery at 97% (target 60%)
10/02/25-22:11:56 - Battery at 97% (target 60%)
10/02/25-22:12:56 - Battery at 97% (target 60%)
10/02/25-22:13:56 - Battery at 97% (target 60%)
10/02/25-22:14:56 - Battery at 97% (target 60%)
10/02/25-22:15:56 - Battery at 97% (target 60%)
10/02/25-22:16:57 - Battery at 97% (target 60%)
10/02/25-22:17:57 - Battery at 97% (target 60%)
10/02/25-22:18:57 - Battery at 97% (target 60%)
10/02/25-22:19:57 - Battery at 97% (target 60%)
10/02/25-22:20:57 - Battery at 97% (target 60%)
10/02/25-22:21:57 - Battery at 97% (target 60%)
10/02/25-22:22:57 - Battery at 97% (target 60%)
10/02/25-22:23:57 - Battery at 97% (target 60%)
10/02/25-22:24:57 - Battery at 97% (target 60%)
10/02/25-22:25:57 - Battery at 97% (target 60%)
10/02/25-22:26:57 - Battery at 97% (target 60%)
10/02/25-22:27:57 - Battery at 97% (target 60%)
10/02/25-22:28:57 - Battery at 96% (target 60%)
10/02/25-22:29:57 - Battery at 96% (target 60%)
10/02/25-22:30:57 - Battery at 96% (target 60%)
10/02/25-22:31:57 - Battery at 95% (target 60%)
10/02/25-22:32:57 - Battery at 95% (target 60%)
10/02/25-22:33:58 - Battery at 95% (target 60%)
10/02/25-22:34:58 - Battery at 95% (target 60%)
10/02/25-22:35:58 - Battery at 95% (target 60%)
10/02/25-22:36:58 - Battery at 94% (target 60%)
10/02/25-22:37:58 - Battery at 94% (target 60%)
10/02/25-22:38:58 - Battery at 94% (target 60%)
10/02/25-22:39:58 - Battery at 94% (target 60%)
10/02/25-22:40:58 - Battery at 94% (target 60%)
10/02/25-22:41:58 - Battery at 93% (target 60%)
10/02/25-22:42:58 - Battery at 93% (target 60%)
10/02/25-22:43:58 - Battery at 93% (target 60%)
10/02/25-22:44:58 - Battery at 93% (target 60%)
10/02/25-22:45:58 - Battery at 92% (target 60%)
10/02/25-22:46:58 - Battery at 92% (target 60%)
10/02/25-22:47:58 - Battery at 92% (target 60%)
10/02/25-22:48:59 - Battery at 92% (target 60%)
10/02/25-22:49:59 - Battery at 92% (target 60%)
10/02/25-22:50:59 - Battery at 91% (target 60%)
10/02/25-22:51:59 - Battery at 91% (target 60%)
10/02/25-22:52:59 - Battery at 91% (target 60%)
10/02/25-22:53:59 - Battery at 91% (target 60%)
10/02/25-22:54:59 - Battery at 91% (target 60%)
10/02/25-22:55:59 - Battery at 90% (target 60%)
10/02/25-22:56:59 - Battery at 90% (target 60%)
10/02/25-22:57:59 - Battery at 90% (target 60%)
10/02/25-22:58:59 - Battery at 90% (target 60%)
10/02/25-22:59:59 - Battery at 90% (target 60%)
10/02/25-23:00:59 - Battery at 90% (target 60%)
10/02/25-23:01:59 - Battery at 89% (target 60%)
10/02/25-23:02:59 - Battery at 89% (target 60%)
10/02/25-23:03:59 - Battery at 89% (target 60%)
10/02/25-23:04:59 - Battery at 89% (target 60%)
10/02/25-23:05:59 - Battery at 89% (target 60%)
10/02/25-23:06:59 - Battery at 88% (target 60%)
10/02/25-23:08:00 - Battery at 88% (target 60%)
10/02/25-23:09:00 - Battery at 88% (target 60%)
10/02/25-23:10:00 - Battery at 88% (target 60%)
10/02/25-23:11:00 - Battery at 88% (target 60%)
10/02/25-23:12:00 - Battery at 87% (target 60%)
10/02/25-23:13:00 - Battery at 87% (target 60%)
10/02/25-23:14:00 - Battery at 87% (target 60%)
10/02/25-23:15:00 - Battery at 86% (target 60%)
10/02/25-23:16:00 - Battery at 86% (target 60%)
10/02/25-23:17:00 - Battery at 86% (target 60%)
10/02/25-23:18:00 - Battery at 86% (target 60%)
10/02/25-23:19:00 - Battery at 86% (target 60%)
10/02/25-23:20:00 - Battery at 86% (target 60%)
10/02/25-23:21:00 - Battery at 86% (target 60%)
10/02/25-23:22:00 - Battery at 85% (target 60%)
10/02/25-23:23:00 - Battery at 85% (target 60%)
10/02/25-23:24:00 - Battery at 85% (target 60%)
10/02/25-23:25:01 - Battery at 84% (target 60%)
10/02/25-23:26:01 - Battery at 84% (target 60%)
10/02/25-23:27:01 - Battery at 84% (target 60%)
10/02/25-23:28:01 - Battery at 84% (target 60%)
10/02/25-23:29:01 - Battery at 83% (target 60%)
10/02/25-23:30:01 - Battery at 83% (target 60%)
10/02/25-23:31:01 - Battery at 83% (target 60%)
10/02/25-23:32:01 - Battery at 83% (target 60%)
10/02/25-23:33:01 - Battery at 83% (target 60%)
10/02/25-23:34:01 - Battery at 82% (target 60%)
10/02/25-23:35:01 - Battery at 82% (target 60%)
10/02/25-23:36:01 - Battery at 82% (target 60%)
10/02/25-23:37:01 - Battery at 82% (target 60%)
10/02/25-23:38:01 - Battery at 82% (target 60%)
10/02/25-23:39:01 - Battery at 81% (target 60%)
10/02/25-23:40:02 - Battery at 81% (target 60%)
10/02/25-23:41:02 - Battery at 81% (target 60%)
10/02/25-23:42:02 - Battery at 81% (target 60%)
10/02/25-23:43:02 - Battery at 80% (target 60%)
10/02/25-23:44:02 - Battery at 80% (target 60%)
10/02/25-23:45:02 - Battery at 80% (target 60%)
10/02/25-23:46:02 - Battery at 79% (target 60%)
10/02/25-23:47:02 - Battery at 79% (target 60%)
10/02/25-23:48:02 - Battery at 79% (target 60%)
10/02/25-23:49:02 - Battery at 79% (target 60%)
10/02/25-23:50:02 - Battery at 78% (target 60%)
10/02/25-23:51:02 - Battery at 78% (target 60%)
10/02/25-23:52:02 - Battery at 78% (target 60%)
10/02/25-23:53:02 - Battery at 78% (target 60%)
10/02/25-23:54:02 - Battery at 78% (target 60%)
10/02/25-23:55:02 - Battery at 77% (target 60%)
10/02/25-23:56:02 - Battery at 77% (target 60%)
10/02/25-23:57:03 - Battery at 77% (target 60%)
10/02/25-23:58:03 - Battery at 77% (target 60%)
10/02/25-23:59:03 - Battery at 76% (target 60%)
10/03/25-00:00:03 - Battery at 76% (target 60%)
10/03/25-00:01:03 - Battery at 76% (target 60%)
10/03/25-00:02:03 - Battery at 76% (target 60%)
10/03/25-00:03:03 - Battery at 75% (target 60%)
10/03/25-00:04:03 - Battery at 75% (target 60%)
10/03/25-00:05:03 - Battery at 75% (target 60%)
10/03/25-00:06:03 - Battery at 75% (target 60%)
10/03/25-00:07:03 - Battery at 74% (target 60%)
10/03/25-00:08:03 - Battery at 74% (target 60%)
10/03/25-00:09:03 - Battery at 74% (target 60%)
10/03/25-00:10:03 - Battery at 74% (target 60%)
10/03/25-00:11:03 - Battery at 74% (target 60%)
10/03/25-00:12:03 - Battery at 73% (target 60%)
10/03/25-00:13:04 - Battery at 73% (target 60%)
10/03/25-00:14:04 - Battery at 73% (target 60%)
10/03/25-00:15:04 - Battery at 73% (target 60%)
10/03/25-00:16:04 - Battery at 73% (target 60%)
10/03/25-00:17:04 - Battery at 73% (target 60%)
10/03/25-00:18:04 - Battery at 73% (target 60%)
10/03/25-00:19:04 - Battery at 72% (target 60%)
10/03/25-00:20:04 - Battery at 72% (target 60%)
10/03/25-00:21:04 - Battery at 72% (target 60%)
10/03/25-00:22:04 - Battery at 72% (target 60%)
10/03/25-00:23:04 - Battery at 72% (target 60%)
10/03/25-00:24:04 - Battery at 72% (target 60%)
10/03/25-00:25:04 - Battery at 72% (target 60%)
10/03/25-00:26:04 - Battery at 71% (target 60%)
10/03/25-00:27:04 - Battery at 71% (target 60%)
10/03/25-00:28:04 - Battery at 71% (target 60%)
10/03/25-00:29:04 - Battery at 71% (target 60%)
10/03/25-00:30:04 - Battery at 71% (target 60%)
10/03/25-00:31:05 - Battery at 71% (target 60%)
10/03/25-00:32:05 - Battery at 70% (target 60%)
10/03/25-00:33:05 - Battery at 70% (target 60%)
10/03/25-00:34:05 - Battery at 70% (target 60%)
10/03/25-00:35:05 - Battery at 70% (target 60%)
10/03/25-00:36:05 - Battery at 70% (target 60%)
10/03/25-00:37:05 - Battery at 69% (target 60%)
10/03/25-00:38:05 - Battery at 69% (target 60%)
10/03/25-00:39:05 - Battery at 69% (target 60%)
10/03/25-00:40:05 - Battery at 68% (target 60%)
10/03/25-00:41:05 - Battery at 68% (target 60%)
10/03/25-00:42:05 - Battery at 68% (target 60%)
10/03/25-00:43:05 - Battery at 67% (target 60%)
10/03/25-00:44:05 - Battery at 67% (target 60%)
10/03/25-00:45:05 - Battery at 67% (target 60%)
10/03/25-00:46:05 - Battery at 67% (target 60%)
10/03/25-00:47:06 - Battery at 66% (target 60%)
10/03/25-00:48:06 - Battery at 66% (target 60%)
10/03/25-00:49:06 - Battery at 66% (target 60%)
10/03/25-00:50:06 - Battery at 66% (target 60%)
10/03/25-00:51:06 - Battery at 65% (target 60%)
10/03/25-00:52:06 - Battery at 65% (target 60%)
10/03/25-00:53:06 - Battery at 65% (target 60%)
10/03/25-00:54:06 - Battery at 65% (target 60%)
10/03/25-00:55:06 - Battery at 64% (target 60%)
10/03/25-00:56:06 - Battery at 64% (target 60%)
10/03/25-00:57:06 - Battery at 64% (target 60%)
10/03/25-00:58:06 - Battery at 64% (target 60%)
10/03/25-00:59:06 - Battery at 63% (target 60%)
10/03/25-01:00:06 - Battery at 63% (target 60%)
10/03/25-01:01:06 - Battery at 63% (target 60%)
10/03/25-01:02:06 - Battery at 63% (target 60%)
10/03/25-01:03:07 - Battery at 63% (target 60%)
10/03/25-01:04:07 - Battery at 62% (target 60%)
10/03/25-01:05:07 - Battery at 62% (target 60%)
10/03/25-01:06:07 - Battery at 62% (target 60%)
10/03/25-01:07:07 - Battery at 62% (target 60%)
10/03/25-01:08:07 - Battery at 62% (target 60%)
10/03/25-01:09:07 - Battery at 61% (target 60%)
10/03/25-01:10:07 - Battery at 61% (target 60%)
10/03/25-01:11:07 - Battery at 61% (target 60%)
10/03/25-01:12:07 - Battery at 61% (target 60%)
10/03/25-01:13:07 - Battery at 61% (target 60%)
10/03/25-01:14:07 - 🔼🪫 Disabling battery discharging
10/03/25-01:14:07 - ⚠️ Failed to write 00 to CHIE
10/03/25-01:14:07 - Discharging completed at 60%
10/03/25-01:14:07 - Discharge pre battery-maintenance complete, continuing to battery maintenance loop
10/03/25-01:14:07 - Charging to and maintaining at 60% from 60%

That can happen because you forgot to update "visudoconfig" variable in the battery script.
When sudo fails, not only 'smc' tool execution is affected, but also the flag variables you are using to identify supported keys.
In my log now I can see the following lines which indicate the issue with sudo:

10/02/25-22:04:56 - SMC capabilities: tahoe=true legacy=true CHIE=true CH0I=true CH0J=true
...
10/03/25-02:43:23 - SMC capabilities: tahoe=false legacy=true CHIE=false CH0I=true CH0J=false

Also, in the log we can see that writing CHIE key fails:

10/03/25-01:14:07 - ⚠️ Failed to write 00 to CHIE

But the same command works when I execute it in terminal and enter my password.

macOS 15.7 (24G222)
MacBook Pro M1 (2021)

@base47
Copy link
Copy Markdown

base47 commented Oct 3, 2025

Maybe I'm missing something, but it seems like battery update from a command line using battery update never updates /etc/sudoers.d/battery which can lead to the issues with smc tool execution after PRs like this one. It's an old and separate issue (if I'm getting it right), but nevertheless we need to add battery.sh visudo command to update.sh script, similarly as it's done in setup.sh (https://github.com/actuallymentor/battery/blob/9db24e4dadea3be3daf5e22d2e36b534ffd07cdd/setup.sh#L68C21-L68C38).

@base47
Copy link
Copy Markdown

base47 commented Oct 3, 2025

EDIT: The problem I described earlier below in this message was likely due to a different output format of smc tool in your system.
Try running /usr/local/bin/smc -k CHTE -r. Thats where battery installs smc tool. On my system I'm getting the output like:

$ /usr/local/bin/smc -k CHTE -r
  CHTE  [ui32]  16777216 (bytes 01 00 00 00)

which breaks your smc_read_hex() and get_smc_charging_status() functions.


Doesn't work even with fixed sudo. Battery starts charging back to 100% after forced discharge is completed.

~/.battery/battery.log tail
10/03/25-16:19:43 - Triggering discharge to 50 before enabling charging limiter
10/03/25-16:19:43 - Discharging to 50% from 51%
10/03/25-16:19:43 - 🔽🪫 Enabling battery discharging
10/03/25-16:19:43 - SMC capabilities: tahoe=true legacy=true CHIE=true CH0I=true CH0J=true
10/03/25-16:19:43 - Battery at 51% (target 50%)
10/03/25-16:20:43 - Battery at 51% (target 50%)
10/03/25-16:21:43 - Battery at 51% (target 50%)
10/03/25-16:22:43 - Battery at 51% (target 50%)
10/03/25-16:23:43 - Battery at 51% (target 50%)
10/03/25-16:24:43 - Battery at 51% (target 50%)
10/03/25-16:25:43 - Battery at 51% (target 50%)
10/03/25-16:26:43 - Battery at 51% (target 50%)
10/03/25-16:27:43 - Battery at 51% (target 50%)
10/03/25-16:28:43 - Battery at 51% (target 50%)
10/03/25-16:29:43 - Battery at 51% (target 50%)
10/03/25-16:30:43 - Battery at 51% (target 50%)
10/03/25-16:31:43 - 🔼🪫 Disabling battery discharging
10/03/25-16:31:44 - Discharging completed at 50%
10/03/25-16:31:44 - Discharge pre battery-maintenance complete, continuing to battery maintenance loop
10/03/25-16:31:44 - Charging to and maintaining at 50% from 50%
10/03/25-16:31:44 - Charge above 50
10/03/25-16:31:44 - MagSafe LED function invoked
10/03/25-16:31:44 - 💡 Setting magsafe color to green
10/03/25-16:31:44 - setting LED to green
10/03/25-16:37:45 - Charge above 50
10/03/25-16:37:45 - MagSafe LED function invoked
10/03/25-16:37:45 - 💡 Setting magsafe color to green
10/03/25-16:37:45 - setting LED to green

macOS 15.7 (24G222)
MacBook Pro M1 (2021)

@base47
Copy link
Copy Markdown

base47 commented Oct 4, 2025

detect_smc_capabilities() function does not work as expected because smc -r does not return error if the key is not supported.

@base47
Copy link
Copy Markdown

base47 commented Oct 4, 2025

@duetocode I added a few commits on top of your PR: duetocode#1
That way it works well on my macOS 15.7 (24G222), MacBook Pro M1 (2021).
I will let you know if I see any new bugs in a coming days.


!!! For anyone who wants to test this: Do not forget to run battery visudo after you install the new /usr/local/bin/battery, so that /etc/sudoers.d/battery file is updated as well.

@duetocode
Copy link
Copy Markdown
Contributor Author

@base47 Thanks for the work! I have merged your pull request with some minor modifications, and I have tested the battery.sh on 15.7.1. It successfully enables/disables charging based on the level set by the battery maintain command.

@base47
Copy link
Copy Markdown

base47 commented Oct 5, 2025

I've been running battery maintain for the last 36 hours. These changes work on 15.7. UI works as well.

@base47 base47 mentioned this pull request Oct 5, 2025
@leifwenzel
Copy link
Copy Markdown

leifwenzel commented Oct 6, 2025

This fix works for me on macOS 26.0.1 with "Optimised Battery Charging" in 'Battery Health' enabled.
Tested on an MacBook 13" M1 (2020)

But I get the following error in battery.log:
10/06/25-13:32:54 - Charge above 80
10/06/25-13:32:54 - MagSafe LED function invoked
10/06/25-13:32:54 - 💡 Setting magsafe color to green
10/06/25-13:32:54 - setting LED to green
Error: SMCWriteKey() = e00002bc

@base47
Copy link
Copy Markdown

base47 commented Oct 6, 2025

SMCWriteKey() = e00002bc_

Most probably, that's because your macbook doesn't have a MagSafe LED. It's an old and easily fixable bug, we have a separate issue for it.

@rhatguy
Copy link
Copy Markdown

rhatguy commented Oct 15, 2025

Any idea when there will be a new release to make it easier for everyone to install this?

@base47
Copy link
Copy Markdown

base47 commented Oct 16, 2025

@rhatguy You can ask @actuallymentor on Twitter. According to contributing guidlines, Twitter (@actuallymentor) is a main channel for communication. I don't have an account.

@duetocode
Copy link
Copy Markdown
Contributor Author

@rhatguy and @base47, While we’re waiting on maintainer feedback I have built a preview build so that anyone blocked by this PR can move ahead. You can find it here: https://github.com/duetocode/battery/releases/tag/v1.3.0-preview.1

It isn’t signed (I’m not on the Apple Developer Program), so Gatekeeper will complain the first run.

@volcbs
Copy link
Copy Markdown

volcbs commented Oct 16, 2025

@duetocode thank you! Wish it also included a patch to add “disable telemetry” option #362

@duetocode
Copy link
Copy Markdown
Contributor Author

@agsola There's already a preview build available for testing, which includes this fix only. You can find it here: https://github.com/duetocode/battery/releases/tag/v1.3.0-preview.1

Let me know if you encounter any issues with that version.

@actuallymentor
Copy link
Copy Markdown
Owner

Thank you all for your excellent work on this! I will merge this now and ask you kindly to tag me if the new build causes any problems. I do not have access to a newer macbook at this time so cannot test these things myself I'm afraid.

Note that I will end up merging this, and then incrementing the version number manually as you haven't yet.

Thanks again for doing the legwork on this!

@actuallymentor actuallymentor merged commit 81b96f4 into actuallymentor:main Oct 21, 2025
@anarchy89
Copy link
Copy Markdown

Thank you all for your excellent work on this! I will merge this now and ask you kindly to tag me if the new build causes any problems. I do not have access to a newer macbook at this time so cannot test these things myself I'm afraid.

Note that I will end up merging this, and then incrementing the version number manually as you haven't yet.

Thanks again for doing the legwork on this!

I think if you solve it on m1 it'll work on the rest. I'm currently using m1 and m3 and have this not working on both.

@actuallymentor
Copy link
Copy Markdown
Owner

@anarchy89 what do you run into specifically? We're in a classic "it works in my machine" situation (both for my M1 and the M3 of the pull request creator)

@anarchy89
Copy link
Copy Markdown

anarchy89 commented Oct 22, 2025

@anarchy89 what do you run into specifically? We're in a classic "it works in my machine" situation (both for my M1 and the M3 of the pull request creator)

I have not tried the latest fix you have put I only have the one that is compiled currently on your releases tab.

I'm using M1 Max and m3 air.

@actuallymentor
Copy link
Copy Markdown
Owner

The latest version was a CLI upgrade and is done in the background whenever you open the GUI. You can check if it works by opening the terminal and running battery status and battery maintain <number>

@anarchy89
Copy link
Copy Markdown

anarchy89 commented Oct 23, 2025

The latest version was a CLI upgrade and is done in the background whenever you open the GUI. You can check if it works by opening the terminal and running battery status and battery maintain <number>

I just did battery charging off, it works on my M1 Max and m3 air with the latest Tahoe. thanks!!

@ioExpander
Copy link
Copy Markdown

ioExpander commented Oct 23, 2025

Running MacOS 15.7.1, I tried restarting the Battery.app and now it crashes on launch with the following error.

image

However the CLI version now seems to work ok with battery status and battery maintain

--- Edit : fixed the issue
I had to

  • uninstall battery brew uninstall battery and sudo rm /usr/local/bin/battery (smc was removed but not the battery binary for some reason).
  • reinstall the app : brew install battery

Now everything seems to be working fine 🥳

@benseitz
Copy link
Copy Markdown

v1.3.0-preview.1 works well for me on a M4 MacBook Air with Tahoe 26.0.1 installed. both with the Magsafe cable and USB C

Thanks for updating the app :)

@amalpesi
Copy link
Copy Markdown

--- Edit : fixed the issue I had to

  • uninstall battery brew uninstall battery and sudo rm /usr/local/bin/battery (smc was removed but not the battery binary for some reason).
  • reinstall the app : brew install battery

Now everything seems to be working fine 🥳

Thanks a lot! I am a huge noob, but I was able to get this done, and now it works fine! :)
Running macOS Sequoia 15.6.1.

panoskava pushed a commit to panoskava/battery that referenced this pull request Mar 17, 2026
Support Tahoe SMC keys with existing smc binary
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants