Cubicle Crew

Turn parallel coding sessions into a glanceable pixel office so you can spot work, questions, and finished tasks.

Stars
★ 34
Last updated
1d ago
License
MIT
Primary language
JavaScript

At a glance

How it runs
Web appDesktop app
Works with
Universal · cross-platformCodex · Claude Code
Cost
Free, no paid service needed
Setup effort
Low · running in minutes
You'll need
Node.js 18+ElectronShell / CLINetwork accessLocal filesystem
Typical use
Developers running several Claude Code sessions can keep a second-screen view of who is working, waiting for input, or finished.
Not a fit if
  • Linux users who need terminal jumping or launch at login
  • OpenCode users who need to jump from a session to its terminal

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

Cubicle Crew is a local session visualization tool built from a Node.js server and a canvas client using vanilla ES modules, with an Electron desktop widget also available. The server reads local session records from Claude Code, Codex, and Gemini CLI, and polls the OpenCode database read-only; browser and Electron windows receive events over WebSocket. Sessions appear as characters, desks, tool states, and team relationships in a pixel-art office, with Claude Code prompts that need your attention highlighted. Run the browser version with npx cubicle-crew or use a desktop build; data stays on your machine except for the optional weather feature.

On startup, the server watches ~/.claude/projects, session records from Codex and Gemini CLI, and polls the OpenCode database read-only, converting records into events such as tool_start, tool_end, say, and user_prompt. It maps tool types to states such as typing, reading, running, and delegating, and attempts to link sub-agents to their parent sessions. Browser or Electron clients receive events over WebSocket and render characters, desks, states, team links, and context usage in a canvas office; Claude Code waiting states can also trigger a sound, notification, or optional Allow/Deny controls. Other tools can send events to http://127.0.0.1:4317/api/event; the app also stores coins and settings locally and can export statistics.

  1. Developers running several Claude Code sessions can keep a second-screen view of who is working, waiting for input, or finished.
  2. Users delegating work to sub-agents can follow task ownership through team links and character positions in the office.
  3. Developers using Codex, Gemini CLI, or OpenCode can view those sessions alongside Claude Code in one scene.
  4. Users connecting GitHub Copilot CLI, Cursor, or their own scripts can send session events to the local API.
  5. Windows, macOS, and Linux users who want persistent desktop session indicators can run the Electron widget and its notifications.

How do you install or deploy this agent?

Requires Node.js 18 or later. The quickest route is to launch the browser app with npx; to run from source, clone the repository and install dependencies. Desktop builds are also available for Windows, macOS, and Linux; Windows users can download the installer from the latest release.

How do you use this agent?

After starting the browser version, open the address printed in the console (default http://localhost:4317) and then start sessions such as Claude Code. The app watches local records and displays sessions automatically. To connect another tool, send events to the local API; in-office Allow/Deny handling for Claude Code permission prompts must be enabled in settings.

What are this agent's strengths and limitations?

Pros
  • Shows Claude Code, Codex, Gemini CLI, and OpenCode sessions together, with team links for sub-agent relationships.
  • Reads local session records without API keys or required hooks; the OpenCode database is polled read-only.
  • Runs as a browser app or Electron desktop widget, and offers a local events API for Copilot CLI, Cursor, or scripts.
  • Optional permission controls, system notifications, and terminal jumping help surface sessions that need attention.
Limitations
  • Depends on local records written by tools such as Claude Code; the README notes that its JSONL transcript format is not an official API and parsing may break if it changes.
  • Codex, Gemini CLI, and OpenCode lack live-session status files, so permission prompts do not turn those sessions red; terminal jumping is limited to Claude Code.
  • The Linux build does not yet support terminal jumping or launch at login; Windows and macOS installers may show an unsigned-app warning on first launch.
  • Real weather is optional and requires choosing a city; when enabled, city coordinates are sent to Open-Meteo every 20 minutes.

How does this agent compare with similar options?

The README compares Cubicle Crew with Pixel Agents, a VS Code extension: Cubicle Crew runs independently as a desktop widget or browser app without requiring VS Code, and adds coins, furniture and pets, team queues, and a local day/night scene.

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

Agent Source review Form / cost Stars Updated Language Full support on
Cubicle Crew This agent 59 · Major gaps Web appFree ★ 34 1d ago JavaScript Codex · Claude Code
cctop Session Panel 73 · Some gaps Desktop appFree ★ 159 1mo ago Swift Codex · Claude Code
Cindy 52 · Major gaps Desktop appFreemium ★ 3.2k today TypeScript Codex · Claude Code
Alook AI Workforce Layer 42 · Major gaps CLIFree + model costs ★ 1.4k today TypeScript Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
59/ 100 5-point scale 3.0 / 5
Trust 17/29
Reliability 6/14
Adaptability 10/18
Convention 13/18
Effectiveness 9/13
Verifiability 4/8
Why each dimension lost points
Trust17 / 29 · 2.9/5

least_privilege: server binds 127.0.0.1 with Host/Origin checks, but the installed app auto-starts at login and the optional phone view opens a LAN port, widening the surface — scored 1. user_confirmation: Allow/Deny prompts require explicit opt-in with a 45s fallback to terminal, and update install requires a click — 2. data_flow_transparency: docs/security.md enumerates read fields, written files and network calls in detail — 3. sensitive_data_handling: only truncated 60-char fields are kept and prompts/outputs are not read, but bubbles still show commands/paths unless hidden manually — 2. dependency_security: only ws and electron, but no lockfile evidence, audit or signing — 1. external_effects: weather and update checks are off by default, yet auto-start at login is a default external effect — 2. rollback: settings.json is backed up before edits and save.json is atomic with .bak, but no version rollback guidance — 2. source_attribution: MIT and author are clear, but publisher is unverified and builds are unsigned — 1.

Reliability6 / 14 · 2.1/5

self_consistency: README and security.md agree on ports, read paths and the permission hook — 2. dependency_availability: engines declares Node>=18 but no lockfile evidence and Electron 44 is not pinned — 1. failure_messages: only port fallback and npm run debug are mentioned; no systematic error-handling description — 1.

Adaptability10 / 18 · 2.8/5

audience_and_scenarios: targets users running many Claude Code/Codex/Gemini/OpenCode sessions; scenario is clear — 2. capability_boundaries: read-only local logs, view-only phone mode, no permission prompts for non-Claude sessions — boundaries are explicit — 2. trigger_precision: state mapping relies on an 8-second silence heuristic and an unofficial JSONL format — 1. environment_fit: Windows/macOS/Linux/WSL and browser supported, but Linux lacks jump-to-terminal and login start — 2.

Convention13 / 18 · 3.6/5

information_architecture: README is well-structured with clear sections and doc links — 3. install_notes: npx, source, per-platform installs and unsigned warnings are covered — 3. naming_stability: package and bin names are stable, but internal pixel-office paths diverge from the product name — 2. examples_and_faq: demo URLs, curl examples and a comparison exist, but no formal FAQ — 2. known_limitations: a dedicated section lists limitations — 2. license: full MIT text matches package.json — 3. versioning_changelog: semver version present but no CHANGELOG — 1. maintenance_responsibility: personal side project, unverified publisher, no governance statement — 1.

Effectiveness9 / 13 · 3.5/5

output_usability: visual state, stats export and snapshot sharing are practical, but depend on canvas and local setup — 2. marginal_value: addresses multi-session observability, though it is an enhancement rather than core tooling — 2. cost_benefit: single dependency, offline, zero-config, but Electron footprint and gamification are redundant for some users — 2.

Verifiability4 / 8 · 2.5/5

claim_traceability: most README claims map to security.md and package.json — 2. cross_source_corroboration: README, security.md, package.json and the workflow corroborate ports, dependencies and builds — 2. fact_inference_separation: some behaviour claims (token economy, heuristic linking) lack code evidence and read as inference — 1.

Risks and how to mitigate them
  • The installed app auto-starts at login and the phone view opens a LAN port; disable both in managed environments.
  • Windows/macOS installers are unsigned, requiring SmartScreen/Gatekeeper bypass on first run — a supply-chain risk.
  • No lockfile evidence and unpinned Electron/ws versions reduce build reproducibility.
  • State detection relies on an unofficial JSONL format and an 8-second silence heuristic, which can misread long thinking as idle.
  • Publisher is unverified and update downloads only check the SHA-256 GitHub reports, a weak trust anchor.
Evidence confidence: Low Reviewed Oct 21, 2026 Reviewed revision 51388e302ff1
See the full review method →

FAQ

Does it require a paid model service or API key?
No. The project is described as a free side project and does not require API keys; it reads local session records. Weather is optional and makes requests to Open-Meteo when enabled.
Which session tools can appear in the office?
The README documents reading sessions from Claude Code, Codex, Gemini CLI, and OpenCode. Copilot CLI, Cursor, and scripts can also connect through the local events API.
Can I handle every session's permission prompts in the office?
In-office Allow/Deny controls are optional and require enabling the setting and adding a Claude Code hook. Live permission waiting status depends on Claude Code session status; other providers do not currently show red for permission prompts.
What if session records change or the app cannot parse them?
The README says Claude Code's JSONL transcript format is not an official API. It recommends running npm run debug to inspect parsed events and sub-agent linking.
Does the app send session data elsewhere?
The README says the app reads and stores session and statistics data locally. If real weather is enabled, it sends the selected city's coordinates to Open-Meteo every 20 minutes; see the project's security documentation for the full scope of network activity.
View on GitHub ↗ Install ↓

Compare agents like this one

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

Related agents