Last updated October 12, 2026

Privacy Policy

Afterhours is a menu bar app that runs on your Mac. It has no accounts and no servers, and it has no telemetry, analytics, crash reporting, or ads. This policy covers the app, how you download it, and this website.

What stays on your Mac

To tell when agents are working, Afterhours reads the names, command lines, and CPU time of the processes on your Mac. It uses them in memory and never saves or sends them. It never opens your project files.

When you install Claude Code hooks, Claude Code sends the hook each event, which can include your prompt and a tool's input and output, such as a file it read or a command's output. The hook keeps only the fields listed below and never saves or sends the rest.

It keeps these on your Mac:

  • A small file for each hooked agent session in ~/Library/Application Support/Afterhours/sessions, with the session ID, agent name, state, process ID, working directory, and the time of the last event. Afterhours deletes it when the agent exits.
  • The afterhours-hook program in ~/Library/Application Support/Afterhours/bin, which the hooks run.
  • Your settings, in the app.afterhours.local preferences.
  • The management key of any CLIProxyAPI hub you add, in your Keychain.
  • When you install Claude Code hooks in a config directory, an Afterhours entry for each hook event in its settings.json, and a copy of your previous settings.json as settings.json.afterhours-backup.
  • When you install lid-closed mode, a sudoers rule in /etc/sudoers.d/afterhours that allows only pmset -a disablesleep 0 and pmset -a disablesleep 1.

What leaves your Mac

Only the subscription checks behind the Limits section of the menu. They're on by default. Turn them off in Settings… > Limits, and Afterhours makes no network requests at all.

Each check sends a login your tool already keeps on your Mac straight to that tool's own service, and reads back how much of each rate-limit window is left. It runs when you open the menu and every 5 minutes while agents work. Afterhours doesn't store, renew, or forward these logins. Antigravity saves only a long-lived Google login, so Afterhours asks Google for an access token that lasts an hour and keeps it in memory. Nothing passes through a server of ours, because there isn't one.

ProviderLogin it readsSent to
Claude Codeapi.anthropic.comKeychain login, one per ~/.claude* directory, or its .credentials.jsonapi.anthropic.com
Codexchatgpt.com, identified as Codex~/.codex/auth.jsonchatgpt.com, identified as Codex
OpenCode Goopencode.aiOpenCode's auth.jsonopencode.ai
Copilotapi.github.com, identified as Copilot Chat~/.config/github-copilot/apps.json or hosts.json, or the gh loginapi.github.com, identified as Copilot Chat
Cursorapi2.cursor.sh, identified as the Cursor CLIThe Cursor app's state store or ~/.cursor/auth.jsonapi2.cursor.sh, identified as the Cursor CLI
Grok Buildcli-chat-proxy.grok.com~/.grok/auth.jsoncli-chat-proxy.grok.com
Antigravityoauth2.googleapis.com for an hour-long access token, then cloudcode-pa.googleapis.com or daily-cloudcode-pa.googleapis.com, identified as AntigravityThe Google sign-in in T3 Code's Antigravity profile or ~/.gemini/antigravity-acp/acp_token.jsonoauth2.googleapis.com for an hour-long access token, then cloudcode-pa.googleapis.com or daily-cloudcode-pa.googleapis.com, identified as Antigravity
CLIProxyAPI hubs you addThe hub's URLThe management key you enterThe hub's URL

Each provider handles these requests under its own privacy policy.

Downloads

You download Afterhours from GitHub Releases, or through Homebrew, which fetches the same file from GitHub. The GitHub Privacy Statement covers those downloads. The app itself doesn't check for updates.

This website

This site sets no cookies and runs no analytics or tracking scripts. Its fonts and images load from the site itself. It's hosted on Vercel, which keeps standard server logs, such as IP addresses and browser details, under the Vercel Privacy Policy.

Removing your data

Everything Afterhours keeps is on your Mac. The uninstall steps remove all of it.

Changes and questions

If this policy changes, this page shows a new date, and the change is in the site's history on GitHub. Ask questions in GitHub issues.