{"id":47695302,"url":"https://github.com/wat-hiroaki/claude-code-studio","last_synced_at":"2026-04-02T16:22:52.977Z","repository":{"id":343645356,"uuid":"1178554226","full_name":"wat-hiroaki/claude-code-studio","owner":"wat-hiroaki","description":"AI Agent Workspace Studio — Multi-workspace management for Claude Code CLI sessions with SSH, task chains, and config visualization","archived":false,"fork":false,"pushed_at":"2026-03-27T13:12:41.000Z","size":976,"stargazers_count":1,"open_issues_count":8,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-27T23:49:34.723Z","etag":null,"topics":["ai-agents","claude-code","electron","react","ssh","terminal","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wat-hiroaki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-11T06:09:12.000Z","updated_at":"2026-03-27T13:12:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/wat-hiroaki/claude-code-studio","commit_stats":null,"previous_names":["wat-hiroaki/claude-code-desktop","wat-hiroaki/claude-code-studio"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/wat-hiroaki/claude-code-studio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wat-hiroaki%2Fclaude-code-studio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wat-hiroaki%2Fclaude-code-studio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wat-hiroaki%2Fclaude-code-studio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wat-hiroaki%2Fclaude-code-studio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wat-hiroaki","download_url":"https://codeload.github.com/wat-hiroaki/claude-code-studio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wat-hiroaki%2Fclaude-code-studio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31309834,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","claude-code","electron","react","ssh","terminal","typescript"],"created_at":"2026-04-02T16:22:50.830Z","updated_at":"2026-04-02T16:22:52.964Z","avatar_url":"https://github.com/wat-hiroaki.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Claude Code Studio\n\n\u003e AI Agent Workspace Studio — Manage Claude Code CLI sessions like a team\n\n[English](#english) | [Русский](#russian) | [日本語](#japanese)\n\n---\n\n### Multi-Pane Layout — Run multiple agents side by side\n![Multi-Pane Layout](docs/images/multi-pane.png)\n\n### Activity Map — Real-time agent monitoring with cockpit overlay\n![Activity Map](docs/images/activity-map.png)\n\n### Config Map — Visualize CLAUDE.md, MCP, Hooks, Skills hierarchy\n![Config Map](docs/images/config-map.png)\n\n### Composer — Rich input with file attach, templates, Plan Mode\n![Composer](docs/images/composer.png)\n\n---\n\n\u003ca id=\"english\"\u003e\u003c/a\u003e\n\n## Overview\n\nClaude Code Studio is an Electron desktop application for managing multiple Claude Code CLI sessions as an organization. It solves five pain points of working with Claude Code:\n\n1. **Context contamination** — Workspaces provide strict isolation (MCP servers, API keys, guardrails) between company and personal projects\n2. **Session management** — Bird's-eye dashboard for monitoring multiple concurrent agents\n3. **Mobility** — SSH + tmux integration keeps sessions alive on remote servers when you leave your desk\n4. **Input UX** — Rich Composer with templates, auto-expand, and voice-dictation-friendly input\n5. **Ecosystem visibility** — Config Map and Agent Profile surface CLAUDE.md, Memory, Skills, MCP, and Hooks in one place\n\n### Key Features\n\n- **Workspace Isolation** — Local or SSH workspaces with per-workspace configuration\n- **Real Terminal** — xterm.js + node-pty for true terminal rendering (not just chat bubbles)\n- **SSH + tmux** — Connect to remote machines via SSH; sessions persist in tmux when disconnected\n- **Agent Management** — Create, name, and organize agents with roles, teams, and projects\n- **Composer** — Rich text input with prompt templates, Plan Mode toggle, keyboard shortcuts\n- **Team Dashboard** — Real-time status monitoring (active, thinking, tool_running, awaiting, error)\n- **Config Map** — Visual overview of CLAUDE.md hierarchy, MCP servers, hooks, skills, and memory per workspace — with per-host GLOBAL separation for SSH remotes\n- **Activity Map** — Real-time agent activity visualization across local and SSH workspaces\n- **Broadcast** — Send the same instruction to multiple agents simultaneously\n- **Task Chains** — Automatically trigger Agent B when Agent A completes a task\n- **Chain Graph \u0026 Scheduler** — Visualize chain dependencies and manage scheduled executions\n- **Agent Profile** — Visualize CLAUDE.md rules, memory files, skills, MCP servers, and hooks\n- **Multi-pane Layout** — 1, 2, or 4 terminal panes side by side with swap and close controls\n- **Resizable Panels** — Drag to resize sidebar, terminal area, and context pane; layout persisted across restarts\n- **Embedded Browser** — Browse web pages directly in the context pane\n- **Session Recovery** — Terminal scrollback is saved and restored automatically\n- **Diagnostics** — Built-in diagnostic logging for troubleshooting\n- **Notifications** — Native OS notifications for approval requests and errors\n- **System Tray** — Background operation with status indicator\n- **Auto Update** — In-app update notifications and one-click install\n- **Plugin System** — MCP-based plugins with manifest.json, toolbar buttons, and context tabs\n- **i18n** — English, Japanese, Russian (README)\n\n### Tech Stack\n\n| Layer | Technology |\n|-------|-----------|\n| Framework | Electron 33 + electron-vite |\n| Terminal | xterm.js + node-pty |\n| UI | React 18 + TypeScript |\n| Styling | Tailwind CSS + shadcn/ui design tokens |\n| State | Zustand |\n| SSH | ssh2 + tmux |\n| Layout | react-resizable-panels |\n| Database | JSON file (atomic writes) |\n| Build | electron-builder |\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js \u003e= 20\n- npm \u003e= 10\n- [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code) installed and authenticated\n- For SSH workspaces: `tmux` and `claude` installed on the remote host\n\n### Install \u0026 Run\n\n```bash\ngit clone https://github.com/wat-hiroaki/claude-code-studio.git\ncd claude-code-studio\nnpm install\nnpm run dev\n```\n\n### Build\n\n```bash\n# Windows installer\nnpm run package\n\n# Development build only\nnpm run build\n```\n\n### Keyboard Shortcuts\n\n| Shortcut | Action |\n|----------|--------|\n| `Ctrl+N` | New Agent |\n| `Ctrl+K` | Quick Search |\n| `Ctrl+D` | Toggle Dashboard |\n| `Ctrl+L` | Focus Composer |\n| `Ctrl+Shift+B` | Broadcast Mode |\n| `Ctrl+Tab` / `Ctrl+Shift+Tab` | Next / Previous Agent |\n| `Ctrl+1-9` | Switch to Agent #N |\n| `Ctrl+Shift+P` | Toggle Right Pane |\n| `Ctrl+W` | Archive Agent |\n| `Ctrl+=` / `Ctrl+-` | Zoom In / Out (Terminal Font) |\n\n## Architecture\n\n```\nsrc/\n├── main/                        # Electron main process\n│   ├── index.ts                 # App bootstrap (240 lines)\n│   ├── appState.ts              # Module-scoped app flags (isQuitting)\n│   ├── appLifecycle.ts          # App lifecycle events (quit, activate)\n│   ├── windowManager.ts         # Window + tray creation\n│   ├── sessionManager.ts        # Headless Claude CLI sessions\n│   ├── ptySessionManager.ts     # Interactive PTY sessions (node-pty)\n│   ├── sshSessionManager.ts     # SSH + tmux remote sessions\n│   ├── ptyOutputParser.ts       # Status detection from terminal output\n│   ├── chainOrchestrator.ts     # Task chain automation\n│   ├── scheduler.ts             # Interval-based chain scheduling\n│   ├── db/                      # Database layer (JSON file, atomic writes)\n│   │   ├── database.ts\n│   │   ├── agentQueries.ts\n│   │   ├── workspaceQueries.ts\n│   │   └── chainQueries.ts\n│   ├── ipc/                     # IPC handlers (typed deps pattern)\n│   │   ├── agentHandlers.ts\n│   │   ├── sessionHandlers.ts\n│   │   ├── workspaceHandlers.ts\n│   │   ├── configHandlers.ts\n│   │   └── systemHandlers.ts\n│   ├── config/                  # Config file readers\n│   └── plugins/                 # MCP-based plugin system\n│       ├── pluginManager.ts\n│       └── pluginIpcHandlers.ts\n├── preload/                     # Context bridge (70+ IPC channels)\n│   └── index.ts\n├── renderer/                    # React 18 UI\n│   └── src/\n│       ├── components/          # UI components\n│       ├── stores/              # Zustand state (useAppStore.ts)\n│       ├── i18n/                # EN/JA translations\n│       └── lib/                 # Utilities\n└── shared/                      # Shared types (single source of truth)\n    └── types.ts\n```\n\n## How It Works\n\n### Workspace Model\n\nWorkspaces provide isolation between different contexts (company A, company B, personal). Each workspace can be:\n\n- **Local** — Runs Claude Code on this machine via node-pty\n- **SSH** — Connects to a remote host via ssh2, runs Claude Code inside tmux\n\n### Config Map\n\nThe Config Map visualizes the complete configuration hierarchy for each workspace:\n\n- **Organization Overview** — All workspaces with per-host GLOBAL nodes (local `~/.claude` and SSH remote `~/.claude` are correctly separated)\n- **Detail View** — Drill down into CLAUDE.md rules, skills, commands, templates, MCP servers, hooks, memory, and agent definitions\n\n### Session Lifecycle\n\n1. Create a workspace (local or SSH with host/port/username)\n2. Create an agent within the workspace (name, project path, role)\n3. The terminal auto-connects when you select an agent\n4. SSH sessions persist in tmux — disconnect and reconnect without losing state\n\n### Status Detection\n\nThe app parses terminal output to detect Claude Code states:\n- **Awaiting** — Permission prompts (Allow/Deny)\n- **Thinking** — Spinner characters or \"Thinking...\"\n- **Tool Running** — Read/Edit/Write/Bash/etc. tool execution\n- **Active** — Idle at prompt\n\n## Contributing\n\nIssues and PRs welcome. Please follow existing code patterns.\n\n## License\n\nMIT - wat-hiroaki\n\n---\n\n\u003ca id=\"japanese\"\u003e\u003c/a\u003e\n\n## 概要\n\n\u003e スクリーンショットは[上部](#multi-pane-layout--run-multiple-agents-side-by-side)を参照\n\nClaude Code Studio は、複数の Claude Code CLI セッションを組織として管理する Electron デスクトップアプリです。以下の5つの課題を解決します:\n\n1. **コンテキスト汚染** — ワークスペースで会社/個人プロジェクトを完全分離\n2. **セッション管理** — ダッシュボードで複数エージェントを一望\n3. **モビリティ** — SSH + tmux でリモートセッション永続化\n4. **入力UX** — テンプレート・Plan Mode切替付きの Composer\n5. **エコシステム可視化** — Config Map と Agent Profile で CLAUDE.md, Memory, Skills, MCP, Hooks を一箇所で確認\n\n### 主な機能\n\n- **ワークスペース分離** — ローカル or SSH、プロジェクトごとに設定を分離\n- **リアルターミナル** — xterm.js + node-pty による本物のターミナル表示\n- **SSH + tmux** — リモートマシンに SSH 接続、切断しても tmux でセッション維持\n- **エージェント管理** — 作成・命名・役割設定・チーム・プロジェクト紐付け\n- **Composer** — テンプレート・Plan Mode・ショートカット付きリッチ入力\n- **ダッシュボード** — 全エージェントのリアルタイムステータス監視\n- **Config Map** — CLAUDE.md階層・MCP・Hooks・Skills・Memoryをワークスペース単位で可視化。SSHリモートのGLOBALをホスト別に正しく分離表示\n- **アクティビティマップ** — ローカル/SSH横断のリアルタイムエージェント活動可視化\n- **ブロードキャスト** — 複数エージェントへの一括指示\n- **タスクチェーン** — A完了→B自動開始\n- **チェーングラフ \u0026 スケジューラ** — チェーン依存関係の可視化・定期実行管理\n- **Agent Profile** — CLAUDE.md・Memory・Skills・MCP・Hooks の可視化\n- **マルチペイン** — 1/2/4 ターミナル並列表示、パネル入替え・閉じるボタン付き\n- **リサイザブルパネル** — ドラッグでサイズ調整、レイアウト永続化\n- **ブラウザ埋め込み** — コンテキストペイン内でウェブページを閲覧\n- **セッション回復** — ターミナル出力を自動保存・復元\n- **診断ログ** — トラブルシューティング用の内蔵診断機能\n- **通知** — OS ネイティブ通知\n- **自動アップデート** — アプリ内通知・ワンクリックインストール\n- **多言語** — 英語・日本語\n\n### 始め方\n\n```bash\ngit clone https://github.com/wat-hiroaki/claude-code-studio.git\ncd claude-code-studio\nnpm install\nnpm run dev\n```\n\n### ビルド\n\n```bash\n# Windows インストーラー\nnpm run package\n```\n\n## ライセンス\n\nMIT - wat-hiroaki\n\n---\n\n\u003ca id=\"russian\"\u003e\u003c/a\u003e\n\n## Обзор\n\nClaude Code Studio — десктопное Electron-приложение для управления несколькими сессиями Claude Code CLI как командой. Решает 5 проблем:\n\n1. **Загрязнение контекста** — Воркспейсы изолируют конфигурации (MCP, API-ключи, ограничения) между проектами\n2. **Управление сессиями** — Дашборд для мониторинга нескольких агентов одновременно\n3. **Мобильность** — SSH + tmux сохраняют сессии на удалённых серверах\n4. **UX ввода** — Composer с шаблонами, Plan Mode, горячие клавиши\n5. **Видимость экосистемы** — Config Map и Agent Profile показывают CLAUDE.md, Memory, Skills, MCP, Hooks в одном месте\n\n### Ключевые возможности\n\n- **Изоляция воркспейсов** — Локальные или SSH, с конфигурацией на уровне проекта\n- **Настоящий терминал** — xterm.js + node-pty (не чат-пузыри)\n- **SSH + tmux** — Подключение к удалённым машинам, сессии живут в tmux\n- **Управление агентами** — Создание, роли, команды, проекты\n- **Плагины** — MCP-серверы с manifest.json, кнопки на тулбаре, вкладки контекста\n- **Activity Map** — Визуализация активности агентов в реальном времени\n- **Task Chains** — Автоматический запуск агента B при завершении агента A\n- **Multi-pane Layout** — 1/2/4 терминала рядом, drag-to-split\n- **Авто-обновление** — Уведомления + установка в один клик\n\n### Быстрый старт\n\n```bash\ngit clone https://github.com/wat-hiroaki/claude-code-studio.git\ncd claude-code-studio\nnpm install\nnpm run dev\n```\n\n### Горячие клавиши\n\n| Клавиши | Действие |\n|---------|----------|\n| `Ctrl+N` | Новый агент |\n| `Ctrl+K` | Быстрый поиск |\n| `Ctrl+D` | Дашборд |\n| `Ctrl+L` | Фокус на Composer |\n| `Ctrl+Tab` | Следующий агент |\n| `Ctrl+Shift+P` | Правая панель |\n| `Ctrl+=` / `Ctrl+-` | Масштаб шрифта терминала |\n\n## Лицензия\n\nMIT - wat-hiroaki\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwat-hiroaki%2Fclaude-code-studio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwat-hiroaki%2Fclaude-code-studio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwat-hiroaki%2Fclaude-code-studio/lists"}