{"kind":"post","path":"/blog/macpowertoys","post":{"metadata":{"title":"MacPowerToys: Seven Native Mac Utilities","summary":"A native macOS utility suite for screen measurement, power control, color capture, local OCR, cloud transfers, Claude Code history, and diagnostics.","publishedAt":"2026-08-09","projectDate":"2026-08-01","ascent":"#3B82F6","links":[{"label":"GitHub","href":"https://github.com/surajmandalcell/macpowertoys","type":"github"},{"label":"Releases","href":"https://github.com/surajmandalcell/macpowertoys/releases","type":"package"}],"tags":["macos","swiftui","appkit","opensource","productivity","developer-tools","desktop-app","appdev"],"weight":98},"slug":"macpowertoys","content":"\u003c!-- cover: /images/blog/macpowertoys/cover.png --\u003e\n\n\u003cnav className=\"bp-link-ribbon bp-link-ribbon--sections\" aria-label=\"MacPowerToys sections\"\u003e\n \u003cspan className=\"bp-link-ribbon-label\"\u003eSections\u003c/span\u003e\n \u003cdiv className=\"bp-link-ribbon-track\"\u003e\n \u003ca className=\"bp-link-ribbon-link\" href=\"#one-native-home\"\u003e\u003cspan\u003e01 Overview\u003c/span\u003e\u003c/a\u003e\n \u003ca className=\"bp-link-ribbon-link\" href=\"#ruler\"\u003e\u003cspan\u003e02 Measure\u003c/span\u003e\u003c/a\u003e\n \u003ca className=\"bp-link-ribbon-link\" href=\"#cloud-sync\"\u003e\u003cspan\u003e03 Transfer\u003c/span\u003e\u003c/a\u003e\n \u003ca className=\"bp-link-ribbon-link\" href=\"#claude-history\"\u003e\u003cspan\u003e04 History\u003c/span\u003e\u003c/a\u003e\n \u003ca className=\"bp-link-ribbon-link\" href=\"#native-by-design\"\u003e\u003cspan\u003e05 Build\u003c/span\u003e\u003c/a\u003e\n \u003c/div\u003e\n\u003c/nav\u003e\n\nMacPowerToys puts seven focused utilities in one native Mac app. It replaces a pile of unrelated menu bar tools with one launcher, one visual language, and one set of window rules.\n\nThe suite stays local by default. Recognition, histories, settings, diagnostics, and window state remain on the Mac.\n\n\u003cblockquote className=\"bp-ownership-quote\"\u003e\n \u003cp\u003eSmall tools work better when they share one quiet, predictable home.\u003c/p\u003e\n\u003c/blockquote\u003e\n\n\u003ch2 id=\"one-native-home\"\u003eOne native home\u003c/h2\u003e\n\nThe launcher groups every utility by purpose. Search narrows the catalog, while each tool keeps its own window and restores its last useful position.\n\n\u003cdiv className=\"bp-feature-media bp-feature-media--system\" data-preview-gallery=\"true\"\u003e\n \u003cimg className=\"bp-long-shot\" src=\"/images/blog/macpowertoys/launcher.png\" width=\"1652\" height=\"1556\" loading=\"lazy\" alt=\"MacPowerToys launcher showing all seven built-in tools\" /\u003e\n\u003c/div\u003e\n\n| Tool | Job |\n|---|---|\n| Ruler | Measure the screen in pixels, millimeters, or inches. |\n| Awake | Keep the Mac or display awake by mode, time, or process. |\n| Color Picker | Sample the screen and reuse local color history. |\n| Text Extractor | Copy text from any screen region with Apple Vision. |\n| Cloud Sync | Plan and run local and remote rclone transfers. |\n| Claude History | Search, bookmark, inspect, and export Claude Code sessions. |\n| Logs | Filter and copy MacPowerToys diagnostics. |\n\n\u003csection id=\"ruler\" className=\"bp-feature-section\"\u003e\n \u003cdiv className=\"bp-feature-copy\"\u003e\n \u003cp className=\"bp-feature-kicker\"\u003e\u003cspan\u003e01\u003c/span\u003e\u003cspan\u003eDeveloper\u003c/span\u003e\u003c/p\u003e\n \u003ch2\u003eMeasure without leaving the screen\u003c/h2\u003e\n \u003cp\u003eRuler places movable horizontal and vertical rulers over the desktop. Each ruler can use pixels, millimeters, or inches.\u003c/p\u003e\n \u003cul className=\"bp-feature-points\"\u003e\n \u003cli\u003eCreate several rulers and cycle between them.\u003c/li\u003e\n \u003cli\u003eResize, group, align, float, and copy measurements.\u003c/li\u003e\n \u003cli\u003eSet color, opacity, aspect ratio, origin, and calibration.\u003c/li\u003e\n \u003cli\u003eShow a crosshair or pin the rulers at the pointer.\u003c/li\u003e\n \u003c/ul\u003e\n \u003c/div\u003e\n \u003cdiv className=\"bp-feature-media bp-feature-media--system\" data-preview-gallery=\"true\"\u003e\n \u003cimg className=\"bp-long-shot\" src=\"/images/blog/macpowertoys/ruler.png\" width=\"720\" height=\"704\" loading=\"lazy\" alt=\"Ruler controls for units, calibration, guides, and active rulers\" /\u003e\n \u003c/div\u003e\n\u003c/section\u003e\n\n\u003csection id=\"awake\" className=\"bp-feature-section\"\u003e\n \u003cdiv className=\"bp-feature-copy\"\u003e\n \u003cp className=\"bp-feature-kicker\"\u003e\u003cspan\u003e02\u003c/span\u003e\u003cspan\u003eSystem\u003c/span\u003e\u003c/p\u003e\n \u003ch2\u003eKeep work running on your terms\u003c/h2\u003e\n \u003cp\u003eAwake uses native macOS power assertions. It does not rewrite Energy settings.\u003c/p\u003e\n \u003cul className=\"bp-feature-points\"\u003e\n \u003cli\u003eStay awake indefinitely, for an interval, or until a date and time.\u003c/li\u003e\n \u003cli\u003eKeep the display on as a separate choice.\u003c/li\u003e\n \u003cli\u003eStart from quick time presets.\u003c/li\u003e\n \u003cli\u003eAttach the awake state to a running process.\u003c/li\u003e\n \u003c/ul\u003e\n \u003c/div\u003e\n \u003cdiv className=\"bp-feature-media bp-feature-media--system\" data-preview-gallery=\"true\"\u003e\n \u003cimg className=\"bp-long-shot\" src=\"/images/blog/macpowertoys/awake.png\" width=\"680\" height=\"664\" loading=\"lazy\" alt=\"Awake utility with passive, indefinite, timed, and process modes\" /\u003e\n \u003c/div\u003e\n\u003c/section\u003e\n\n\u003csection id=\"color-picker\" className=\"bp-feature-section\"\u003e\n \u003cdiv className=\"bp-feature-copy\"\u003e\n \u003cp className=\"bp-feature-kicker\"\u003e\u003cspan\u003e03\u003c/span\u003e\u003cspan\u003eDeveloper\u003c/span\u003e\u003c/p\u003e\n \u003ch2\u003eSample once, reuse everywhere\u003c/h2\u003e\n \u003cp\u003eColor Picker starts the native macOS sampler, copies the chosen value, and adds it to a searchable local history.\u003c/p\u003e\n \u003cul className=\"bp-feature-points\"\u003e\n \u003cli\u003eCopy HEX, RGB, HSL, CSS, SwiftUI, or NSColor output.\u003c/li\u003e\n \u003cli\u003ePin useful colors and group them into projects.\u003c/li\u003e\n \u003cli\u003eChoose a default copy format.\u003c/li\u003e\n \u003cli\u003eRecord a global keyboard shortcut.\u003c/li\u003e\n \u003c/ul\u003e\n \u003c/div\u003e\n \u003cdiv className=\"bp-feature-media bp-feature-media--system\" data-preview-gallery=\"true\"\u003e\n \u003cimg className=\"bp-long-shot\" src=\"/images/blog/macpowertoys/color-picker.png\" width=\"600\" height=\"420\" loading=\"lazy\" alt=\"Color Picker history with searchable saved colors\" /\u003e\n \u003cimg className=\"bp-long-shot\" src=\"/images/blog/macpowertoys/color-picker-settings.png\" width=\"960\" height=\"806\" loading=\"lazy\" alt=\"Color Picker global shortcut settings\" /\u003e\n \u003c/div\u003e\n\u003c/section\u003e\n\n\u003csection id=\"text-extractor\" className=\"bp-feature-section\"\u003e\n \u003cdiv className=\"bp-feature-copy\"\u003e\n \u003cp className=\"bp-feature-kicker\"\u003e\u003cspan\u003e04\u003c/span\u003e\u003cspan\u003eText\u003c/span\u003e\u003c/p\u003e\n \u003ch2\u003eCopy text from any visible region\u003c/h2\u003e\n \u003cp\u003eText Extractor lets the user drag over the screen, then recognizes the selection with on-device Apple Vision.\u003c/p\u003e\n \u003cul className=\"bp-feature-points\"\u003e\n \u003cli\u003eCopy recognized text as soon as extraction finishes.\u003c/li\u003e\n \u003cli\u003eKeep a local history with one-click copy and detail views.\u003c/li\u003e\n \u003cli\u003eChoose fast or accurate recognition.\u003c/li\u003e\n \u003cli\u003eSet preferred languages and language correction.\u003c/li\u003e\n \u003c/ul\u003e\n \u003c/div\u003e\n \u003cdiv className=\"bp-feature-media bp-feature-media--system\" data-preview-gallery=\"true\"\u003e\n \u003cimg className=\"bp-long-shot\" src=\"/images/blog/macpowertoys/text-extractor.png\" width=\"480\" height=\"494\" loading=\"lazy\" alt=\"Text Extractor history with saved recognition rows\" /\u003e\n \u003cimg className=\"bp-long-shot\" src=\"/images/blog/macpowertoys/text-extractor-settings.png\" width=\"1200\" height=\"840\" loading=\"lazy\" alt=\"Text Extractor recognition quality and language settings\" /\u003e\n \u003c/div\u003e\n\u003c/section\u003e\n\n\u003csection id=\"cloud-sync\" className=\"bp-feature-section\"\u003e\n \u003cdiv className=\"bp-feature-copy\"\u003e\n \u003cp className=\"bp-feature-kicker\"\u003e\u003cspan\u003e05\u003c/span\u003e\u003cspan\u003eFiles\u003c/span\u003e\u003c/p\u003e\n \u003ch2\u003ePlan transfers before files move\u003c/h2\u003e\n \u003cp\u003eCloud Sync gives rclone a native Mac workspace. Every transfer is dry-run planned before copy, move, mirror, or two-way work begins.\u003c/p\u003e\n \u003cul className=\"bp-feature-points\"\u003e\n \u003cli\u003eTrack overall and per-file progress with persistent completion state.\u003c/li\u003e\n \u003cli\u003eRetry failed work with backoff and keep the latest local changes.\u003c/li\u003e\n \u003cli\u003eBrowse remotes and preview files with Quick Look.\u003c/li\u003e\n \u003cli\u003eControl parallel work, bandwidth, ignore rules, and default operations.\u003c/li\u003e\n \u003c/ul\u003e\n \u003c/div\u003e\n \u003cdiv className=\"bp-feature-media bp-feature-media--system\" data-preview-gallery=\"true\"\u003e\n \u003cimg className=\"bp-long-shot\" src=\"/images/blog/macpowertoys/cloud-sync.png\" width=\"2092\" height=\"1532\" loading=\"lazy\" alt=\"Cloud Sync transfer dashboard with completed and cancelled jobs\" /\u003e\n \u003cimg className=\"bp-long-shot\" src=\"/images/blog/macpowertoys/cloud-sync-settings.png\" width=\"1000\" height=\"720\" loading=\"lazy\" alt=\"Cloud Sync settings for ignore rules, concurrency, retries, and rclone\" /\u003e\n \u003c/div\u003e\n\u003c/section\u003e\n\n\u003csection id=\"claude-history\" className=\"bp-feature-section\"\u003e\n \u003cdiv className=\"bp-feature-copy\"\u003e\n \u003cp className=\"bp-feature-kicker\"\u003e\u003cspan\u003e06\u003c/span\u003e\u003cspan\u003eDeveloper\u003c/span\u003e\u003c/p\u003e\n \u003ch2\u003eMake local Claude Code work searchable\u003c/h2\u003e\n \u003cp\u003eClaude History reads local Claude Code sessions and groups them by project. New messages can appear while a session is still running.\u003c/p\u003e\n \u003cul className=\"bp-feature-points\"\u003e\n \u003cli\u003eSearch session titles or scan message content with deep search.\u003c/li\u003e\n \u003cli\u003eBookmark sessions and filter user, Claude, and tool messages.\u003c/li\u003e\n \u003cli\u003eInspect tool input and output beside the conversation.\u003c/li\u003e\n \u003cli\u003eCopy or export selected messages in useful formats.\u003c/li\u003e\n \u003c/ul\u003e\n \u003c/div\u003e\n \u003cdiv className=\"bp-feature-media bp-feature-media--system\" data-preview-gallery=\"true\"\u003e\n \u003cimg className=\"bp-long-shot\" src=\"/images/blog/macpowertoys/claude-history.png\" width=\"1152\" height=\"768\" loading=\"lazy\" alt=\"Claude History browser with project groups and an empty conversation state\" /\u003e\n \u003cimg className=\"bp-long-shot\" src=\"/images/blog/macpowertoys/claude-history-settings.png\" width=\"1200\" height=\"800\" loading=\"lazy\" alt=\"Claude History settings for launch, refresh, deep search, and cache\" /\u003e\n \u003c/div\u003e\n\u003c/section\u003e\n\n\u003csection id=\"logs\" className=\"bp-feature-section\"\u003e\n \u003cdiv className=\"bp-feature-copy\"\u003e\n \u003cp className=\"bp-feature-kicker\"\u003e\u003cspan\u003e07\u003c/span\u003e\u003cspan\u003eSystem\u003c/span\u003e\u003c/p\u003e\n \u003ch2\u003eKeep diagnostics readable\u003c/h2\u003e\n \u003cp\u003eLogs brings messages from every tool into one selectable view. Search and level filters reduce noise during support work.\u003c/p\u003e\n \u003cul className=\"bp-feature-points\"\u003e\n \u003cli\u003eFilter errors, warnings, information, and debug output.\u003c/li\u003e\n \u003cli\u003eSearch across messages and sources.\u003c/li\u003e\n \u003cli\u003eCopy exact log text into a report.\u003c/li\u003e\n \u003cli\u003ePrune entries after two days and clear the active view.\u003c/li\u003e\n \u003c/ul\u003e\n \u003c/div\u003e\n \u003cdiv className=\"bp-feature-media bp-feature-media--system\" data-preview-gallery=\"true\"\u003e\n \u003cimg className=\"bp-long-shot\" src=\"/images/blog/macpowertoys/logs.png\" width=\"900\" height=\"600\" loading=\"lazy\" alt=\"MacPowerToys Logs window with searchable tool diagnostics\" /\u003e\n \u003c/div\u003e\n\u003c/section\u003e\n\n## The shell around the tools\n\nThe app settings keep shared behavior out of each utility. The user can choose appearance, window behavior, and optional iCloud settings sync.\n\nThe marketplace accepts catalog sources and lists verified add-on tools. Install checks cover checksums, Developer ID identity, bundle identity, and Apple notarization.\n\n\u003cdiv className=\"bp-evidence-grid\" data-preview-gallery=\"true\"\u003e\n \u003cimg src=\"/images/blog/macpowertoys/app-settings-cropped.png\" width=\"520\" height=\"426\" loading=\"lazy\" alt=\"MacPowerToys general app settings\" /\u003e\n \u003cimg src=\"/images/blog/macpowertoys/marketplace.png\" width=\"680\" height=\"560\" loading=\"lazy\" alt=\"MacPowerToys marketplace catalog settings\" /\u003e\n\u003c/div\u003e\n\n\u003cp className=\"bp-evidence-caption\"\u003eShared appearance, window, iCloud, and marketplace controls.\u003c/p\u003e\n\n\u003ch2 id=\"native-by-design\"\u003eNative by design\u003c/h2\u003e\n\nMacPowerToys uses SwiftUI for the launcher, compact utilities, and full workspaces. AppKit handles window behavior and the FreeRuler overlay where direct Mac control matters.\n\n| Layer | Native job |\n|---|---|\n| SwiftUI | Launcher, sidebars, compact applets, settings, sheets, and workspace views. |\n| AppKit | Ruler windows, menu commands, precise window state, Dock icon changes, and Mac-specific chrome. |\n| Apple Vision | Local text recognition for Text Extractor. |\n| macOS power assertions | Awake modes without changing Energy settings. |\n| rclone | Remote providers, planning, transfer execution, and credential control. |\n| Local storage | Histories, logs, bookmarks, settings, and remembered window state. |\n\nThe result is one utility suite that feels consistent without forcing every tool into the same shape. Compact tasks stay compact. Dense work gets a full workspace. The launcher remains the stable way back to everything.\n\n## Build it\n\nMacPowerToys requires macOS 26.2 or later and Xcode 26.2 or later. Cloud Sync also needs rclone.\n\n```bash\nbrew install rclone\ngit clone https://github.com/surajmandalcell/macpowertoys.git\ncd macpowertoys\nmake build\n```\n\nThe repository includes the Xcode project, tests, Raycast commands, release notes, privacy policy, and security policy under the MIT License."}}