Claude Backstage
Watch your AI agents work in a Gather Town-style pixel art office
Installation •
Scope •
Features •
How It Works •
Characters •
Configuration •
Architecture
Claude Backstage is a Claude Code plugin that transforms your terminal AI workflow into a living, breathing pixel art startup office.
When Claude delegates work to sub-agents, each one becomes a character — they walk to their desk, sit down, code away, and head to the break room when they're done. All in real time, all in pixel art.
Bored between tasks? Wander around the office and press Spacebar — your character might have something to say.
Installation
Prerequisites
Option 1: Claude Code Plugin (Recommended)
Add the marketplace and install the plugin:
claude plugin marketplace add https://github.com/sebyul2/backstage.git
claude plugin install backstage
Option 2: Manual Install
git clone https://github.com/sebyul2/backstage.git
cd backstage
./install.sh
Start the viewer
In Claude Code, run:
/backstage:server on
Then open http://localhost:7777 in your browser. That's it — the office is open for business.
The server starts automatically when you run the command, and shuts down after 10 minutes of inactivity (no browser tabs open).
Uninstall
# If installed via plugin system:
claude plugin uninstall backstage
# If installed manually:
./uninstall.sh
Removes all plugin files, hooks, cache, and configuration cleanly. No leftovers.
Installation Scope
Backstage hooks can run globally (all projects) or locally (single project), depending on how you install:
| Install Method | Scope | Hooks Run In |
|---|
claude plugin install | Global | Every Claude Code session, all projects |
./install.sh (manual) | Local | Only the workspace where you installed |
Global Install (Recommended)
claude plugin install backstage
- Hooks are registered in
~/.claude/plugins/installed_plugins.json with scope: "user"
- The plugin system injects
${CLAUDE_PLUGIN_ROOT} at runtime — no hardcoded paths
- Works across all projects automatically
- Uninstall:
claude plugin uninstall backstage cleanly removes everything
Local Install
./install.sh
- Hooks are registered in your workspace's
.claude/settings.local.json
- Only active when Claude Code runs inside that workspace
- Other projects are not affected
- Uninstall:
./uninstall.sh removes plugin files + hook entries from settings
Multi-Session Support (v0.5.0+)
Running multiple Claude Code sessions in split panes (e.g., iTerm2)?
One localhost:7777 viewer collects activity from all active sessions automatically. Each session's work appears with a [project-name] prefix in the chat panel — no extra configuration needed.
Features
The Office
The office is split into two zones: the workspace on the left and the break room on the right, connected by a doorway. Characters navigate around furniture using A* pathfinding, bump into each other (with stun physics!), and idle in the break room between tasks.
The status bar at the top shows token usage, API quota, active agent count, and session info at a glance.
The chat panel on the right streams everything happening in real time — user requests, agent activity, completions, idle banter, and task updates — all color-coded by character.
Task Dashboard
The dashboard board in the top-left corner tracks all tasks in the current session, organized into TODO, DOING, and DONE columns.
- Click any task to see its full description in a detail popup
- Tasks with linked plans show a Plan button to jump straight to the plan viewer
- Status updates flow in automatically from Claude's
TaskCreate / TaskUpdate calls
- Hit Refresh to clean up completed work and start fresh
Chris Work Notes
