Claude + Codex SemáforoA VS Code extension that shows a traffic-light status for live Claude Code and local Codex CLI sessions.
Shows project groups in the activity bar and total active-session counts in the status bar. The tree shows visible/total counts when filtered. Each row identifies its provider, Claude or Codex. Hover an amber row to see why it is waiting — a permission prompt, an open dialog. Prefer it next to your files? Drag the Sesiones view onto the Explorer panel; VS Code remembers where you put it. Release status1.1.0 adds organization, diagnostics and explicit session management: project grouping, search and filters, favorites, local observation history, opt-in lifecycle hooks, and start/resume/fork of Claude and Codex plus Git worktrees. Native acceptance was completed on macOS; Windows and Linux have not been verified. 1.0.0 added local Codex monitoring alongside Claude, including TUI user sessions
now recorded with Organization and session actionsUse the session header to start, recover, search, filter or refresh. More Actions offers grouping, history, worktrees and optional signals. Search matches the name, provider and full project path. Filters combine one provider, one state and favorites. Clear Filters restores all rows. Groups with attention come first; within each group attention/errors precede working and idle sessions, with favorites ordered within each state. A row click reveals its safely matched terminal; without a terminal it opens session information. Inline star toggles a favorite; context menu offers resume/fork. Favorites use provider/session ID and survive PID changes. Idle sessions remain gray; missing or unreadable evidence is never an inferred error. Recovery lists sessions previously observed by Semáforo and offers each agent's native picker for other sessions. An active session with a terminal is revealed; otherwise recovery warns before opening a second instance. Fork uses the provider's native fork operation, never substitutes resume. Starting a terminal does not prove a session started successfully; CLI errors remain visible in that terminal. Worktrees use a new branch from committed HEAD and a new/empty destination. Existing branches/destinations are preserved, uncommitted changes are not copied, and existing sessions do not change directories. If the agent fails after creation, the worktree is retained. Start in worktree and fork of a session are separate operations in this candidate; combining fork with another CWD is not offered until provider behavior is established. Information and local historyInformation shows provider, project, signal source, reason and observed time. History records transitions and loss of observation, not conversation content or task progress. Retention: 30 days, 1,000 sessions and 200 events per session. Offline/editor-closed time is excluded. Preferences/history use VS Code local storage and are not intentionally synchronized. Clear History removes only Semáforo metadata, never agent conversations. Optional lifecycle signalsConfigure optional signals inspects the installed CLI, previews only Semáforo's additions and asks to apply them. Existing settings/hooks are preserved and a private backup is created. A stable receiver is stored in the extension's private storage. Retiring signals removes only exact registered commands and does not require the agent CLI still to be installed. Reinstall signals after an extension/Node upgrade to refresh the receiver/executable path. Requires Node.js 18+. Verified capability floor for Claude signals: 2.1.295; older versions keep file observation without these additions. Codex requires the installed stable Lifecycle events supplement file observations. Permission requests and eligible structured questions can indicate attention; later correlated activity/stop supersedes them. Subagent events are excluded. Coverage is still partial: nested/async questions, parallel prompts, tools without hooks and legacy notify-only installations are not guaranteed. Signals do not create a live row by themselves; a session still needs eligible observable session metadata. Malformed/symlinked/oversized configuration is not overwritten. Node/CLI paths can be configured below. Execution, Git and configuration are blocked in untrusted workspaces; observation stays available. How it worksReads the session-state files Claude Code already maintains under For Codex, a single asynchronous Events are read asynchronously with a 1 MiB per-file budget. After the initial bounded tail, only appended bytes are read. Partial lines are retained, closed sessions are pruned, and no transcript text is printed or transmitted. Codex rows use the project folder and a short session ID; sessions sharing a PID remain separate rows. Terminal reveal follows up to 12 parent processes, including Node wrappers. Folder fallback is allowed only when it identifies one terminal. Codex support requires macOS or Linux with Install (local .vsix)
Settings
LimitationsFor Claude, only sessions that write a state file under Daemon-backed sessions ( Codex state semantics and limits
Update without interrupting workBuild/package now and install the VSIX when ready. If VS Code requests a window reload, defer it until active terminal jobs are finished. No installation, session termination or automatic window reload is performed on activation. Starting agents, creating worktrees and configuring hooks happen only through explicit commands. Development verification
Use a separate VS Code Extension Development Host ( CaveatReads undocumented internal Claude Code files; a future Claude Code release could change their format. If that happens the extension shows a warning and the reader needs an update. |