https://github.com/topscrech/fancontrol
Fan control for macOS
https://github.com/topscrech/fancontrol
fancontrol macos swift swiftui
Last synced: 28 days ago
JSON representation
Fan control for macOS
- Host: GitHub
- URL: https://github.com/topscrech/fancontrol
- Owner: TopScrech
- License: gpl-3.0
- Created: 2026-02-21T10:20:14.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-03-05T00:32:47.000Z (4 months ago)
- Last Synced: 2026-03-05T04:56:51.664Z (4 months ago)
- Topics: fancontrol, macos, swift, swiftui
- Language: Swift
- Homepage: https://fancontrol.dev
- Size: 1.67 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Agents: AGENTS.md
Awesome Lists containing this project
README
# FanControl
Control fan speed with ease on any Apple Silicon Mac
[**Download**](https://github.com/TopScrech/FanControl/releases/latest) • [**Website**](https://fancontrol.dev)
> [!WARNING]
> When switching from system fan mode to manual, the app tries to set fan speed every second for up to 15 seconds, since manual mode can only be applied after auto mode is set, which may take a moment
## Supported platforms
- macOS 14+
## CLI commands (fan)
```bash
Control all fans:
min Set all fans to minimum
max Set all fans to maximum
-a, auto Set all fans to auto
[speed] Set all fans to [speed, example: 4000, 4k, 1.6k]
Control a specific fan:
-l, list List all fans
-id [fan id] min Set one fan to minimum
-id [fan id] max Set one fan to maximum
-id [fan id] -a, auto Set one fan to auto
-id [fan id] [speed] Set one fan to [speed]
Other:
-h, --help Show this help
-r, --report Print support report
-v, --version Print app version
-d, --device Print device model
```
## Shortcuts
- Option + left/right arrows - change selected fan
- Command + 1 - Min mode
- Command + 2 - Max mode
- Command + 3 - Auto mode
- Command + 4 - Open preset mode sheet
## Build
Requires Xcode 26.4+ and access to the private [CoreSMC](https://github.com/TopScrech/CoreSMC?tab=readme-ov-file) library
## Dependencies
4/5 libraries are developed and maintained by me, which helps minimize risk across all projects in which they are used
- [CoreSMC](https://github.com/TopScrech/CoreSMC) - private library for sending read/set fan speed calls via SMC
- [iSMC](https://github.com/dkorunic/iSMC) - Reading data from temperature sensors
- [AutoUpdate](https://github.com/TopScrech/AutoUpdate)
- [ScrechKit](https://github.com/TopScrech/TopScrech) - SwiftUI tweaks
- [LaunchAtLogin](https://github.com/TopScrech/LaunchAtLogin)
## Related links
- [Front-end](https://fancontrol.dev)
- [Front-end project](https://github.com/TopScrech/FanControl-dev)