Skip to content

Broken in macOS Sequoia 15.7 #384

@natecodes

Description

@natecodes

What is the issue? (required)
battery maintain no longer works in 15.7
Charge limit is no longer respected

What exactly did you do to produce the issue? (required)
Steps to reproduce the behavior:
Try to use any battery feature from CLI or tool as normal.

Expected behavior (required)
battery should work

Screenshots (optional)
n/a

Error logs

➜  ~ battery logs
👾 Battery CLI logs:

Error: SMCWriteKey() = e00002bc
09/17/25-13:40:15 - MagSafe LED function invoked
09/17/25-13:40:15 - 💡 Setting magsafe color to orange
09/17/25-13:40:15 - setting LED to orange
09/17/25-13:40:15 - MagSafe LED function invoked
09/17/25-13:40:15 - 💡 Setting magsafe color to orange
09/17/25-13:40:15 - setting LED to orange
09/17/25-13:41:15 - Charge below 50
09/17/25-13:41:15 - 🔌🔋 Enabling battery charging
Error: SMCWriteKey() = e00002bc
Error: SMCWriteKey() = e00002bc
09/17/25-13:41:15 - 🔼🪫 Disabling battery discharging
Error: SMCWriteKey() = e00002bc
09/17/25-13:41:15 - Disabling discharging: Charge below 50, enabling charging
Error: SMCWriteKey() = e00002bc
Error: SMCWriteKey() = e00002bc
09/17/25-13:41:15 - MagSafe LED function invoked
09/17/25-13:41:15 - 💡 Setting magsafe color to orange
09/17/25-13:41:15 - setting LED to orange
09/17/25-13:41:15 - MagSafe LED function invoked
09/17/25-13:41:15 - 💡 Setting magsafe color to orange
09/17/25-13:41:15 - setting LED to orange
09/17/25-13:41:23 - 🚨 Calibration process have been stopped
09/17/25-13:41:23 - Not triggering discharge as it is not requested
09/17/25-13:41:23 - Charging to and maintaining at 50% from 47%
09/17/25-13:41:23 - Charge below 50
09/17/25-13:41:23 - 🔌🔋 Enabling battery charging
Error: SMCWriteKey() = e00002bc
Error: SMCWriteKey() = e00002bc
09/17/25-13:41:23 - 🔼🪫 Disabling battery discharging
Error: SMCWriteKey() = e00002bc
09/17/25-13:41:23 - Disabling discharging: Charge below 50, enabling charging
Error: SMCWriteKey() = e00002bc
Error: SMCWriteKey() = e00002bc
09/17/25-13:41:23 - MagSafe LED function invoked
09/17/25-13:41:23 - 💡 Setting magsafe color to orange
09/17/25-13:41:23 - setting LED to orange
09/17/25-13:41:23 - MagSafe LED function invoked
09/17/25-13:41:23 - 💡 Setting magsafe color to orange
09/17/25-13:41:23 - setting LED to orange
09/17/25-13:42:23 - Charge below 50
09/17/25-13:42:23 - 🔌🔋 Enabling battery charging
Error: SMCWriteKey() = e00002bc
Error: SMCWriteKey() = e00002bc
09/17/25-13:42:24 - 🔼🪫 Disabling battery discharging
Error: SMCWriteKey() = e00002bc
09/17/25-13:42:24 - Disabling discharging: Charge below 50, enabling charging
Error: SMCWriteKey() = e00002bc
Error: SMCWriteKey() = e00002bc
09/17/25-13:42:24 - MagSafe LED function invoked
09/17/25-13:42:24 - 💡 Setting magsafe color to orange
09/17/25-13:42:24 - setting LED to orange
09/17/25-13:42:24 - MagSafe LED function invoked
09/17/25-13:42:24 - 💡 Setting magsafe color to orange
09/17/25-13:42:24 - setting LED to orange
09/17/25-13:43:24 - Charge below 50
09/17/25-13:43:24 - 🔌🔋 Enabling battery charging
Error: SMCWriteKey() = e00002bc
Error: SMCWriteKey() = e00002bc
09/17/25-13:43:24 - 🔼🪫 Disabling battery discharging
Error: SMCWriteKey() = e00002bc
09/17/25-13:43:24 - Disabling discharging: Charge below 50, enabling charging
Error: SMCWriteKey() = e00002bc
Error: SMCWriteKey() = e00002bc
09/17/25-13:43:24 - MagSafe LED function invoked
09/17/25-13:43:24 - 💡 Setting magsafe color to orange
09/17/25-13:43:24 - setting LED to orange
09/17/25-13:43:24 - MagSafe LED function invoked
09/17/25-13:43:24 - 💡 Setting magsafe color to orange
09/17/25-13:43:24 - setting LED to orange
09/17/25-13:44:24 - Charge below 50
09/17/25-13:44:24 - 🔌🔋 Enabling battery charging
Error: SMCWriteKey() = e00002bc
Error: SMCWriteKey() = e00002bc
09/17/25-13:44:24 - 🔼🪫 Disabling battery discharging
Error: SMCWriteKey() = e00002bc
09/17/25-13:44:24 - Disabling discharging: Charge below 50, enabling charging
Error: SMCWriteKey() = e00002bc
Error: SMCWriteKey() = e00002bc
09/17/25-13:44:24 - MagSafe LED function invoked
09/17/25-13:44:24 - 💡 Setting magsafe color to orange
09/17/25-13:44:24 - setting LED to orange
09/17/25-13:44:24 - MagSafe LED function invoked
09/17/25-13:44:24 - 💡 Setting magsafe color to orange
09/17/25-13:44:24 - setting LED to orange
09/17/25-13:45:24 - Charge below 50
09/17/25-13:45:24 - 🔌🔋 Enabling battery charging
Error: SMCWriteKey() = e00002bc
Error: SMCWriteKey() = e00002bc
09/17/25-13:45:24 - 🔼🪫 Disabling battery discharging
Error: SMCWriteKey() = e00002bc
09/17/25-13:45:24 - Disabling discharging: Charge below 50, enabling charging
Error: SMCWriteKey() = e00002bc
Error: SMCWriteKey() = e00002bc
09/17/25-13:45:24 - MagSafe LED function invoked
09/17/25-13:45:24 - 💡 Setting magsafe color to orange
09/17/25-13:45:24 - setting LED to orange
09/17/25-13:45:24 - MagSafe LED function invoked
09/17/25-13:45:24 - 💡 Setting magsafe color to orange
09/17/25-13:45:24 - setting LED to orange

🖥️	Battery GUI logs:


Display percentage 45 based on 47
Found image: /Applications/battery.app/Contents/Resources/battery-active-45-Template.png
Resetting interface timer speed
Get active logo for 47
Force discharge setting: boolean false
Generate app menu percentage: 47 (discharge disallowed, limited on)
Executing PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin battery status_csv
Refreshing interface update timer
Battery status:
{"percentage":"47","remaining":"4:34","charging":false,"discharging":true,"maintain_percentage":"50","battery_state":"47% (4:34 remaining)","daemon_state":"forcing discharge to 50%"}
Setting interface refresh speed to 10 minutes
[ update-electron-app ]
checking-for-update
[ update-electron-app ]
update-not-available
Executing PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin battery status_csv
Refreshing tray icon...
Battery status:
{"percentage":"61","remaining":"0:58","charging":false,"discharging":true,"maintain_percentage":"50","battery_state":"61% (0:58 remaining)","daemon_state":"forcing discharge to 50%"}
Executing PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin battery status
Limiter status message:
09/17/25-13:53:20 - Battery at 62% (0:56 remaining), 12.52V, smc charging disabled
09/17/25-13:53:20 - Your battery is currently being maintained at 50%

Found image: /Applications/battery.app/Contents/Resources/battery-active-60-Template.png
Resetting interface timer speed
Get active logo for 61
Force discharge setting: boolean false
Generate app menu percentage: 61 (discharge disallowed, limited on)
Display percentage 60 based on 61
Executing PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin battery status_csv
Refreshing interface update timer
Battery status:
{"percentage":"62","remaining":"0:56","charging":false,"discharging":true,"maintain_percentage":"50","battery_state":"62% (0:56 remaining)","daemon_state":"forcing discharge to 50%"}
Setting interface refresh speed to 0.5 minutes
Refreshing tray icon...
Executing PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin battery status_csv
Battery status:
{"percentage":"62","remaining":"0:56","charging":false,"discharging":true,"maintain_percentage":"50","battery_state":"62% (0:56 remaining)","daemon_state":"forcing discharge to 50%"}
Executing PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin battery status
Limiter status message:
09/17/25-13:53:50 - Battery at 62% (0:56 remaining), 12.52V, smc charging disabled
09/17/25-13:53:50 - Your battery is currently being maintained at 50%

Found image: /Applications/battery.app/Contents/Resources/battery-active-60-Template.png
Refreshing interface update timer
Executing PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin battery status_csv
Resetting interface timer speed
Get active logo for 62
Force discharge setting: boolean false
Generate app menu percentage: 62 (discharge disallowed, limited on)
Display percentage 60 based on 62
Battery status:
{"percentage":"62","remaining":"0:56","charging":false,"discharging":true,"maintain_percentage":"50","battery_state":"62% (0:56 remaining)","daemon_state":"forcing discharge to 50%"}
Setting interface refresh speed to 0.5 minutes
Executing PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin battery status_csv
Refreshing tray icon...
Battery status:
{"percentage":"63","remaining":"0:57","charging":false,"discharging":true,"maintain_percentage":"50","battery_state":"63% (0:57 remaining)","daemon_state":"forcing discharge to 50%"}
Executing PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin battery status
Limiter status message:
09/17/25-13:54:20 - Battery at 63% (0:57 remaining), 12.513V, smc charging disabled
09/17/25-13:54:20 - Your battery is currently being maintained at 50%

Get active logo for 63
Display percentage 60 based on 63
Resetting interface timer speed
Executing PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin battery status_csv
Refreshing interface update timer
Force discharge setting: boolean false
Found image: /Applications/battery.app/Contents/Resources/battery-active-60-Template.png
Generate app menu percentage: 63 (discharge disallowed, limited on)
Setting interface refresh speed to 0.5 minutes
Battery status:
{"percentage":"63","remaining":"0:57","charging":false,"discharging":true,"maintain_percentage":"50","battery_state":"63% (0:57 remaining)","daemon_state":"forcing discharge to 50%"}
Refreshing tray icon...
Executing PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin battery status_csv
Battery status:
{"percentage":"63","remaining":"unknown","charging":false,"discharging":true,"maintain_percentage":"50","battery_state":"63% (unknown remaining)","daemon_state":"forcing discharge to 50%"}
Executing PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin battery status
Limiter status message:
09/17/25-13:54:50 - Battery at 63% ((no remaining), 12.122V, smc charging disabled
09/17/25-13:54:50 - Your battery is currently being maintained at 50%

Get active logo for 63
Generate app menu percentage: 63 (discharge disallowed, limited on)
Force discharge setting: boolean false
Found image: /Applications/battery.app/Contents/Resources/battery-active-60-Template.png
Resetting interface timer speed
Display percentage 60 based on 63
Refreshing interface update timer
Executing PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin battery status_csv
Setting interface refresh speed to 10 minutes
Battery status:
{"percentage":"63","remaining":"unknown","charging":false,"discharging":true,"maintain_percentage":"50","battery_state":"63% (unknown remaining)","daemon_state":"forcing discharge to 50%"}
[ update-electron-app ]
checking-for-update
[ update-electron-app ]
update-not-available

📁 Config folder details:

total 34424
drwxr-xr-x@  8 nathan  staff   256B Sep 17 13:41 .
drwxr-x---+ 68 nathan  staff   2.1K Sep 17 13:58 ..
-rwxr-xr-x@  1 nathan  staff   2.0M Sep 17 13:58 battery.log
-rw-r--r--@  1 nathan  staff     6B Sep 17 13:41 battery.pid
-rw-r--r--@  1 nathan  staff     6B Nov 18  2024 calibrate.pid
-rw-r--r--@  1 nathan  staff    13M Sep 17 13:58 gui.log
-rw-r--r--@  1 nathan  staff     3B Sep 17 13:41 maintain.percentage
-rw-r--r--   1 nathan  staff   965B Jul 11 07:37 visudo.tmp

⚙️	Battery data:

09/17/25-13:58:35 - Battery at 63% (5:20 remaining), 11.8V, smc charging disabled
09/17/25-13:58:35 - Your battery is currently being maintained at 50%
Battery CLI utility v1.2.7

Additional context (optional)
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions