Skip to content

Know before you run out

A menu bar app that shows what’s left of your coding agents’ usage limits and whether they’ll last until they reset.

Free and open source. Requires macOS 26, on Apple silicon or Intel.

A Mac at 7 AM. Asked to use subagents, Claude Code asks Turnscope whether 2 hours of work fit. About 1 hour 10 minutes of work is left before its 5-hour limit runs out, so it writes the tests itself. Turnscope's panel, open from the menu bar, says Claude Max runs out in 1 hour and is back in 3, and shows each of its limits.
app — claude

>Use subagents to write the parser's tests.

●turnscope - check_limits (MCP)(hours: 2)

⎿2 more hours of work don't fit: 5 hours runs out after about 1h 10m of work.
Claude Max ([email protected]): about 1h 10m of work left (40m–2h 10m) before 5 hours runs out; it resets 10:00 (in 3h).
… +5 lines (ctrl+o to expand)

●That's about an hour of work, too little for subagents. I'll write the tests myself.

Claude Max runs out in 1h

Back in 3h.

Used this week

Claude Max runs out in 1h

Back in 3h.

Used this week

Works with Claude Code, Codex, OpenCode, Pi and Grok Build.

Each account you’re using gets one number in the menu bar. The most urgent comes first.

  • 68%

    Will last until it resets. Shows what’s left.

  • 1h 40m

    Will run out before it resets. Counts down the last 3 hours.

  • Back 5:40 AM

    Used up. Shows when it’s back.

Plan around your limits

Turnscope reads what your agents already store on your Mac and asks each provider for your limits. Nothing to set up.

  • When it runs out

    Whether each limit will last until it resets, or when it’ll run out at your current pace.

  • Hours of work left

    How many hours of agent work you have left, with an 80% range. Counts time your agents spend working, not the clock.

  • What used it

    Usage and cost by session, project, model, agent or account, at list prices.

  • Notifications

    When a limit is about to run out, runs out or comes back, and when an account needs you to sign in again.

Your agents can check too

Turnscope is also an MCP server, so agents can check their own limits before taking on big jobs. Every tool is read-only.

  • check_limits

    Whether planned work will fit, and which account has room.

  • explain_usage

    What used a limit, or what your agents cost.

  • find_sessions

    Search any session on your Mac by text, folder, agent or time.

  • handoff

    Everything another agent needs to finish a session’s work.

  • read_session

    Read a session page by page, or just what failed.

  • continueprompt

    Start a new session from the last one’s handoff.

Connect from Settings → Agents, or run:

claude mcp add --scope user turnscope -- /Applications/Turnscope.app/Contents/Helpers/turnscope mcp

MCP docs

Hand off to another agent

When a limit runs out mid-task, another agent can finish the job. The handoff covers what you asked for, what got done and where it stopped. Turnscope builds it from the session files without calling a model.

app — codex

›Claude Code ran out. Pick up its work on the parser.

•Called turnscope.handoff({})

└# Handoff: Fix the parser

Claude Code session `claude-code:0f6e3f6a-713c-4d1e-9a6b-2b8c1d4e5f60` in `/work/app` on branch `main`, last active 08:01 (4m ago), 52 entries. Times are local; it's now Thu Oct 8 08:05.
… +71 lines

•Claude Code fixed nested tables and wrote two of the four test files. The third fails on inline tables, so I'll start there.

Get one with the handoff tool, the continue prompt or turnscope handoff.

A status line and a guard

turnscope statusline prints your limits on one line. turnscope guard exits with an error when a limit runs low, so a hook can stop subagents before you run out.

It picks up the account of the agent it’s running in.

Add to settings.json:

{ "hooks": { "PreToolUse": [{ "matcher": "Agent", "hooks": [{ "type": "command", "command": "turnscope guard --limit week --below 10" }] }] }, "statusLine": { "type": "command", "command": "turnscope statusline" } }

The command line

It ships with the app. Add --json to any command that prints data.

  • turnscope status # every account’s limits, forecasts and work left
  • turnscope status --hours 3 # whether 3 more hours of work fit
  • turnscope usage --by model # the last 30 days by model, at list prices
  • turnscope usage --limit week # what used your weekly limit
  • turnscope sessions --since today # today’s sessions
  • turnscope handoff # a handoff of the latest session in this folder
  • turnscope doctor # what can’t be read, and how to fix it

CLI docs

Your history stays on your Mac

Turnscope only reads your agents’ history and logins. The one thing it changes is adding its MCP server to an agent, and only when you ask.

  • No secrets kept

    Each login is only sent to its own provider. API keys are stored as fingerprints, never in full.

  • No telemetry

    Other than your providers, it only talks to models.dev for prices and GitHub for updates.

  • No account

    Nothing to sign up for. Everything it knows stays in a local database.

Agents and providers

Turnscope works with these agents and reads limits from these providers.

Agents

  • Claude Code
  • Codex
  • OpenCode
  • Pi
  • Grok Build

Providers

  • AnthropicClaude
  • OpenAIChatGPT
  • xAISuperGrok
  • OpenCode Go
  • OpenRouter

Turnscope

Free and open source. Requires macOS 26, on Apple silicon or Intel.

  1. Open the disk image and drag Turnscope to Applications.
  2. Open Turnscope. It lives in your menu bar and checks for updates on its own.
  3. Optional: put the command line on your PATH:
sudo mkdir -p /usr/local/bin sudo ln -sf /Applications/Turnscope.app/Contents/Helpers/turnscope /usr/local/bin/turnscope