cctop Session Panel

Track AI coding sessions from the macOS menu bar and jump back to the one that needs you.

Source repo
st0012/cctop
Stars
★ 154
Last updated
9d ago
License
MIT
Primary language
Swift

At a glance

How it runs
Desktop app
Works with
Platform-specificCodex · Claude Code
Cost
Free, no paid service needed
Setup effort
Low · running in minutes
You'll need
macOS 13+GitXcode 16+ (source build)Shell / CLINetwork accessLocal filesystem
Typical use
A developer running several Claude Code or Codex sessions who needs to spot which one is waiting for input.
Not a fit if
  • Users who need a native Windows or Linux app
  • Users who need exact focus on an IDE window from the panel
Source review
73/100 · Some gaps

What does this agent do, and when should you use it?

cctop is a menu bar app for macOS 13+ that brings local session status from Claude Code, Codex, opencode, and pi into one view. Each tool uses a plugin, extension, or event hook to call the native helper `cctop-hook`, which writes a JSON file per session under `~/.cctop/sessions/`; the app watches those files and displays session status. From a session card or Navigate mode, users can jump to supported terminal windows, tabs, panes, or desktop threads, open a project folder, or activate an app. It also keeps recent projects and finds ended agent worktrees for cleanup, checking Git state before offering removal actions. Session data stays local; signed builds use the network for Sparkle update checks and downloads.

After installing and opening the macOS app, connect tools in Settings: Claude Code / Claude Desktop use a plugin and event hooks, Codex CLI / Desktop use event hooks, opencode uses a plugin, and pi uses an extension. On session events, each integration calls cctop-hook to write session status and related information as JSON under ~/.cctop/sessions/; cctop watches that directory and shows working, idle, or waiting sessions in its menu bar panel. Clicking a card or using Navigate mode jumps to a recognized terminal target. For editors, the app focuses a window and uses a workspace file if present; when it cannot find an exact target, it activates the app or opens the project in Finder. It also keeps recent projects and finds ended agent worktrees that remain on disk, checking Git safety before offering removal actions.

  1. A developer running several Claude Code or Codex sessions who needs to spot which one is waiting for input.
  2. A user running agent sessions in iTerm2, Ghostty, tmux, or another supported terminal who wants to return to the right window or pane from the menu bar.
  3. An individual developer using Claude Code, Codex, opencode, or pi who wants one local view of session status across those tools.
  4. A CLI agent user who regularly creates Git worktrees and needs to inspect and remove worktrees left behind by ended sessions.
  5. A developer who wants to reopen recent project folders without searching through old terminals.

How do you install or deploy this agent?

Requires macOS 13 or later. Download the signed DMG for your processor, or install with Homebrew:

brew install --cask st0012/cctop/cctop

Apple Silicon and Intel builds are also available:

Apple Silicon: https://github.com/st0012/cctop/releases/latest/download/cctop-macOS-arm64.dmg
Intel: https://github.com/st0012/cctop/releases/latest/download/cctop-macOS-x86_64.dmg

Open the app, then connect tools in Settings. For Claude Code / Claude Desktop, install the plugin with:

claude plugin marketplace add st0012/cctop
claude plugin install cctop

For opencode, pi, and Codex, use Install Plugin or Install Hooks in Settings. After installing Codex hooks, start a Codex CLI session and choose Trust all and continue; Codex Desktop shares that trust state. Building from source requires Xcode 16+ and macOS 13+.

How do you use this agent?

Open cctop's Settings and install detected client integrations under Tools and companion integrations under Integrations. Restart sessions already running after installing hooks or plugins; new sessions are then tracked automatically, with no per-project setup. Open the menu bar panel to review status and click a session card to jump back. Alternatively, use the global hotkey for Navigate mode, then press 1–9 to select a session. Right-clicking hides a session, but it cannot be shown again while its local session record exists. Codex hooks also require an initial trust step in Codex CLI.

What are this agent's strengths and limitations?

Pros
  • Combines session status from Claude Code, Codex, opencode, and pi in one menu bar panel.
  • Offers exact window, tab, or pane jumps for multiple terminals, plus a numbered Navigate mode.
  • Stores session records as local JSON; the project states it has no analytics, telemetry, or session upload.
  • Checks Git state before offering actions to remove worktrees left by ended sessions.
Limitations
  • Requires macOS 13+; the README documents no Windows or Linux build.
  • Each client needs its own plugin, extension, or hook setup; Codex also requires the user to trust its hooks.
  • Exact jumps depend on the terminal and its configuration; some targets need macOS Automation permission and may fall back to app activation.
  • Editor integration focuses a project window rather than providing the documented exact session-level window targeting.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
cctop Session Panel This agent 73 · Some gaps Desktop appFree ★ 154 9d ago Swift Codex · Claude Code
Alook AI Workforce Layer 42 · Major gaps CLIFree + model costs ★ 1.3k today TypeScript Codex · Claude Code
Hermes Studio 44 · Major gaps Desktop appFree + model costs ★ 11k today TypeScript Codex · Claude Code · OpenAI API
Wondel.ai Agent Skills 40 · Major gaps Agent plugin / skillFree ★ 2.4k 1mo ago Shell —

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Some gaps
73/ 100 5-point scale 3.7 / 5
Trust 19/29
Reliability 8/14
Adaptability 15/18
Convention 14/18
Effectiveness 12/13
Verifiability 5/8
Why each dimension lost points
Trust19 / 29 · 3.3/5

The README says session state is stored locally as JSON, is not uploaded, and identifies updater checks and downloads as network activity; it also diagrams local hooks writing state for the app to read. Hiding a session requires confirmation, cleanup checks Git state, and uninstall steps describe removal, supporting the least-privilege, confirmation, and recovery scores. Deductions: session files include prompt context and are plain text, with no encryption or access-control discussion; automation permissions and Codex hook trust are documented, but setup and navigation can still cause system-level effects; the license names a copyright holder, but publisher identity is unverified and no clear maintenance responsibility or dependency-security policy is shown.

Reliability8 / 14 · 2.9/5

The README describes integrations, session files, navigation targets, and fallback behavior in useful detail. CI configuration lists Swift linting, build and tests, plugin tests, hook-contract validation, and a helper smoke test, with GitHub Actions pinned to commit hashes. Deductions: static materials cannot establish that these workflows actually pass; runtime failure handling and comprehensive error messages are not shown, beyond FAQ troubleshooting steps; SwiftLint and check-jsonschema installation depend on external package sources.

Adaptability15 / 18 · 4.2/5

The audience and scenarios are concrete, spanning several coding tools, editors, terminals, multi-session navigation, recent projects, and worktree cleanup. The README specifies permissions, tool versions, fallback behavior, and differences in setup and trust across clients. Deductions: the stated environment is limited to macOS 13 and later, and some navigation depends on particular app configuration or versions; the supplied materials do not enumerate the event scope and trigger boundaries for every integration.

Convention14 / 18 · 3.9/5

The README is organized around features, compatibility, installation, privacy, FAQ, and reference material; it includes installation, build, and uninstall commands, and documents limitations, platform requirements, and a past Intel updater issue. The MIT license text is complete. Deductions: the supplied files contain no changelog or clear version policy, and the README only links to the latest release; maintenance responsibility can only be inferred from the repository and copyright names, with no team, support channel, or response commitment; there is no separate naming-stability policy.

Effectiveness12 / 13 · 4.6/5

The product provides scannable session status, numbered hotkey navigation, project opening or app activation, and a cleanup list for a clear multi-session switching problem. The README identifies supported tools and navigation targets, supporting its intended practical value. Deductions: cost-benefit is inferred from feature descriptions, with no resource-use or user-outcome data; integrations require plugin or hook setup and may require system automation permission or a Codex trust action.

Verifiability5 / 8 · 3.1/5

README claims about privacy, integrations, and workflow are supported with local paths, data fields, commands, and a flow diagram; CI configuration lists corresponding static checks and test commands, and the license can be inspected directly. Deductions: documentation and CI are from the same repository, so corroboration is limited; claims about signing, notarization, and no telemetry have no independent evidence in the supplied material; this assessment is static and does not treat documented checks as executed verification.

Risks and how to mitigate them
  • Session data is stored as plain JSON locally and includes current tool or prompt context; handle it as sensitive local data.
  • Exact navigation varies by app, version, configuration, and system permission; some cases fall back to activating an app or opening the project folder.
  • The CI file lists tests and checks, but this assessment did not run them and cannot confirm their actual results.
Evidence confidence: Low Reviewed Oct 10, 2026 Reviewed revision 4ee225821cd4
See the full review method →

FAQ

Does cctop upload session data or send it to a cloud service?
The README says there is no analytics, telemetry, or session upload; session state is stored as JSON in ~/.cctop/sessions/. Signed builds use the network for Sparkle update checks and downloads.
Do I need to configure every project after connecting a tool?
No. After connecting the tool and restarting already-running sessions, new sessions are tracked automatically.
Why does Codex Desktop need an extra trust step?
Codex only runs hooks you have reviewed and trusted. The README says to start a Codex CLI session in a terminal and trust the hooks there; Codex Desktop shares that trust state.
Can every app jump to the exact session location?
Not in every case. Terminal and desktop-thread targeting varies by app and configuration; editors focus the project window, and if an exact target cannot be found cctop activates the app or opens the project in Finder.
Will cleanup remove sessions that are still running?
Cleanup looks for ended agent worktrees that remain on disk and checks Git state before offering removal actions.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents