titojankowski/claude-status

Tiny macOS menu bar app showing status.claude.com as a green/yellow/red dot

1

stars

4

commits

Swift

primary language

Jul 29, 2026

updated

README

Claude Status

A tiny macOS menu bar app that shows the current status of status.claude.com as a colored dot.

  • hollow ring — all systems operational. Drawn as a template image, so AppKit tints it to match the menu bar: black in light mode, white in dark mode.
  • 🟡 filled yellow — minor issue or maintenance
  • 🔴 filled red — major or critical outage
  • ⚫️ filled gray — the status check itself failed (offline, etc.)

Only trouble is a filled dot, so a healthy status stays visually quiet.

Click the dot for a breakdown: overall description, every component with its own status, any active incidents (click to open the status page), and the time of the last check.

Polls every 60 seconds, plus an immediate re-check when the Mac wakes from sleep.

Build

./build.sh          # produces ClaudeStatus.app
open ClaudeStatus.app

Single-file Swift, no dependencies. Requires macOS 13+ and the Xcode command line tools.

Hide when everything is fine

If even the hollow ring is too much, Settings → Hide When All Systems Operational removes it from the menu bar entirely while status is green, so the app only appears when something is actually wrong.

A gray "check failed" status still shows — silence should never be mistaken for health.

Since a hidden app has no menu to click, there are two ways back:

  • Launch the app again (double-click it in Finder). The dot reappears for 15 seconds so you can open the menu, then hides itself again.
  • From the command line:
    ClaudeStatus.app/Contents/MacOS/ClaudeStatus --hide-when-green        # show setting
    ClaudeStatus.app/Contents/MacOS/ClaudeStatus --hide-when-green off    # bring it back
    
    A running app picks this up on its next poll, within 60 seconds.

Start at login

Settings → Start at Login in the app's menu. If macOS parks the request behind an approval, the app opens the Login Items pane in System Settings for you.

You can also toggle it from the command line:

ClaudeStatus.app/Contents/MacOS/ClaudeStatus --login-status
ClaudeStatus.app/Contents/MacOS/ClaudeStatus --login on
ClaudeStatus.app/Contents/MacOS/ClaudeStatus --login off

How it works

Reads the standard Statuspage summary endpoint:

https://status.claude.com/api/v2/summary.json

The menu bar dot maps status.indicator (none / minor / major / critical / maintenance) to a color; each row in the menu maps that component's own status (operational / degraded_performance / partial_outage / major_outage / under_maintenance) the same way.

License

Public domain — the Unlicense. No copyright. Clone it, fork it, modify it, ship it, sell it, no attribution needed. See LICENSE.

Contributors

titojankowski/claude-status

Tiny macOS menu bar app showing status.claude.com as a green/yellow/red dot

1

stars

4

commits

Swift

primary language

Jul 29, 2026

updated

README

Claude Status

A tiny macOS menu bar app that shows the current status of status.claude.com as a colored dot.

  • hollow ring — all systems operational. Drawn as a template image, so AppKit tints it to match the menu bar: black in light mode, white in dark mode.
  • 🟡 filled yellow — minor issue or maintenance
  • 🔴 filled red — major or critical outage
  • ⚫️ filled gray — the status check itself failed (offline, etc.)

Only trouble is a filled dot, so a healthy status stays visually quiet.

Click the dot for a breakdown: overall description, every component with its own status, any active incidents (click to open the status page), and the time of the last check.

Polls every 60 seconds, plus an immediate re-check when the Mac wakes from sleep.

Build

./build.sh          # produces ClaudeStatus.app
open ClaudeStatus.app

Single-file Swift, no dependencies. Requires macOS 13+ and the Xcode command line tools.

Hide when everything is fine

If even the hollow ring is too much, Settings → Hide When All Systems Operational removes it from the menu bar entirely while status is green, so the app only appears when something is actually wrong.

A gray "check failed" status still shows — silence should never be mistaken for health.

Since a hidden app has no menu to click, there are two ways back:

  • Launch the app again (double-click it in Finder). The dot reappears for 15 seconds so you can open the menu, then hides itself again.
  • From the command line:
    ClaudeStatus.app/Contents/MacOS/ClaudeStatus --hide-when-green        # show setting
    ClaudeStatus.app/Contents/MacOS/ClaudeStatus --hide-when-green off    # bring it back
    
    A running app picks this up on its next poll, within 60 seconds.

Start at login

Settings → Start at Login in the app's menu. If macOS parks the request behind an approval, the app opens the Login Items pane in System Settings for you.

You can also toggle it from the command line:

ClaudeStatus.app/Contents/MacOS/ClaudeStatus --login-status
ClaudeStatus.app/Contents/MacOS/ClaudeStatus --login on
ClaudeStatus.app/Contents/MacOS/ClaudeStatus --login off

How it works

Reads the standard Statuspage summary endpoint:

https://status.claude.com/api/v2/summary.json

The menu bar dot maps status.indicator (none / minor / major / critical / maintenance) to a color; each row in the menu maps that component's own status (operational / degraded_performance / partial_outage / major_outage / under_maintenance) the same way.

License

Public domain — the Unlicense. No copyright. Clone it, fork it, modify it, ship it, sell it, no attribution needed. See LICENSE.

See what people are saying

Contributors

Languages

Swift

93.0%

Shell

7.0%