What Idle does on your Mac.
Idle is a small menu-bar app. It learns when your AI agent is busy, offers you a game with someone nearby, and passes game moves between the two of you. This page lists everything it touches, so you can check it rather than take my word for it.
Files it reads or changes
~/.claude/settings.jsonand~/.codex/hooks.json: only after you click Connect. It adds its own entries (they contain the textidle-games) and keeps a one-time backup next to each file as*.idle-backup. "Remove agent hooks" in the menu-bar icon takes them out again.- Its own folder,
~/Library/Application Support/dev.idlegames.app/: a local usage log (metrics.jsonl: event names, game names and timings), the popup's position, and a random secret for the hook endpoint. - The clipboard, once, on the very first launch, to see whether the download button left an
idle://join/CODEinvite there. Anything else on the clipboard is ignored and discarded.
It does not read your Claude or Codex transcripts, your prompts, your code, your projects, your keys or any other file.
What the hooks can see
Your agent gives a hook command its event data (session, folder, sometimes the prompt) on standard input. Idle's hook is one curl to your own machine that never reads standard input and throws away its output. All it sends is the word busy or idle, which agent it came from, and a secret that stops other programs and web pages from faking the signal. You can read the exact lines in your own settings file.
What leaves your Mac
- Same Wi-Fi / office network: Idle announces itself with Bonjour (a random id, your first name taken from your Mac account, and a port) and talks to other Idle apps directly. Game moves only.
- Anonymous signals you choose to send: your yes/no answer to the wager question (with a random install id so each install counts once), and any feedback you type (the text, the app version and your OS). Both go over HTTPS to
idle-games.pages.dev/api. They carry no name, account or location. - Relay, for people on other networks: a secure WebSocket to
wss://idle-games.pages.dev/wscarrying that same id and first name, your office code, and game moves. The relay sees your public IP address, like any website you visit. It is a Cloudflare Worker that forwards messages between players who share an office code or a network address, and keeps nothing. If you switch on nearby play (off until you choose it), the host also works out your approximate city, region and country from your IP address, only to pick other nearby players; it is never taken from your device and is not stored.
What it never does
- No login items, background daemons or LaunchAgents: when you quit, it is gone.
- No
sudo, no administrator rights, no changes to your shell. - No automatic updates: a new version only arrives if you install it.
- It listens on two things:
127.0.0.1only, for the hooks (loopback, requires the secret); and a random port on your local network, for game connections from other Idle apps. - Invite links ask before they do anything. Joining an office needs your click.
Check it yourself
# Who signed it, and what it is allowed to do codesign -dvvv --entitlements - /Applications/Idle.app # What it is listening on, and who it is talking to lsof -nP -iTCP -sTCP:LISTEN | grep idle-games lsof -nP -i | grep idle-games # Which files it touches while you use it (needs sudo) sudo fs_usage -w -f filesys idle-games # It should have installed nothing that runs by itself ls ~/Library/LaunchAgents /Library/LaunchAgents /Library/LaunchDaemons | grep -i idle # What it put in your agent settings, and its local log grep -n idle-games ~/.claude/settings.json ~/.codex/hooks.json cat "$HOME/Library/Application Support/dev.idlegames.app/metrics.jsonl"
You can also run it under a separate macOS user account, or watch it with a network monitor such as Little Snitch or LuLu.
What is not true yet
- Not notarised by Apple. macOS can't vouch for it, which is why you see a warning when you open it from a browser download.
- Not sandboxed. Like most apps you install, it runs with your user's file permissions. The list above is what it does, not what the system forces it to do.
- Source code is not public yet. The behaviour above is documented and checkable from outside, but not auditable line by line.
- No independent security review.
It is built by an independent developer. If you work somewhere with a software policy, ask your IT team before installing it.