A native macOS menu bar app for the Timebutler time clock: start, pause, resume and stop your working time from a floating widget, and keep the running time in the menu bar.
Timebutler's time clock lives in the browser. Clock In puts it on the desktop as a small always-visible widget with a live counter, plus a menu bar item that shows the net working time of the current session. It talks to the Timebutler REST API v2 and stores credentials in the macOS keychain only.
Clock In replaces an earlier internal solution built on an Übersicht widget and a shell script. Feature parity with that widget was the scope of version 1.
Requirements: macOS 26 (Tahoe) or newer, a Timebutler account with time tracking enabled.
- Download the latest
ClockIn-<version>.dmgfrom the releases page. - Open the disk image and drag Clock In to Applications.
- Start Clock In. It has no Dock icon; look for the clock symbol in the menu bar and the widget in the top right corner of the screen.
The app is signed with a Developer ID and notarized, so Gatekeeper opens it without a warning.
Right-click the menu bar item, choose Einstellungen…, then either
- paste a personal API token (create one in Timebutler under Einstellungen › Dein Konto › API-Token, or open https://app.timebutler.com/do?ha=personaltoken&ac=6), or
- sign in with e-mail and password; accounts with two-factor authentication are asked for the six-digit authenticator code.
Personal tokens are the recommended way: they do not expire every few days and can be revoked individually in Timebutler.
The widget shows the clock state (Gestoppt, Arbeit, Pause, Wartet), the running time, today's target, actual and remaining time, and the buttons the current state allows. The chevron in its header folds it to a single line with just the running time, like a collapsed sticky note. Drag it anywhere; its position and folded state survive a restart. When you stop a session that violates a break regulation, the widget shows Timebutler's proposal and lets you apply the correction, ignore it, or cancel the session.
- Left click brings the widget to the front, and shows it if it was hidden.
- Right click opens the menu: show or hide the widget, refresh now, settings (⌘,), quit (⌘Q).
- Konto: who is signed in, and sign out.
- Allgemein: launch at login, show the widget, keep it above every other window or let windows cover it, show it on all Spaces, reset its position.
- Info: version and the link to the Timebutler API documentation.
Requirements: Xcode 26, xcodegen, and create-dmg for make release.
brew install xcodegen create-dmg
git clone git@github.com:LOUISINTERNET/timebutler-clockin-mac.git
cd timebutler-clockin-mac
make buildUseful targets (make help lists them all):
make run # build and launch the Debug app
make test # unit tests, offline with fixtures
make test-live # read-only calls against the real API, needs TIMEBUTLER_API_TOKEN
make install # copy the Debug build to /ApplicationsFor the live test, keep the token out of your shell history:
read -s TIMEBUTLER_API_TOKEN && export TIMEBUTLER_API_TOKEN && make test-liveReleases are built locally by the maintainer, not in CI, so the signing certificate never leaves a personal Mac. make release archives a Release build, signs it with the Developer ID, notarizes app and disk image, staples both and writes dist/ClockIn-<version>.dmg. It needs a notarization profile in the keychain, created once per Mac:
xcrun notarytool store-credentials clockin-notary --apple-id <apple-id> --team-id A5278RL7RX --password <app-specific-password>Credentials are stored in the macOS login keychain (service app.clockin) and are sent to app.timebutler.com only. Tokens, passwords and authenticator codes never appear in logs. The app is not sandboxed; it needs no entitlements beyond the hardened runtime.
Unofficial, not affiliated with Timebutler GmbH. Timebutler is a product of Timebutler GmbH.
No license has been chosen yet. Until one is added, the code is proprietary to LOUIS INTERNET.
