- Add isGitRepository check before getStatus() to prevent noisy errors on non-git directories
- Resolve npm shell wrapper shims on Windows so Bun can spawn OpenCode via node interpreter
- Add Win32PathFix middleware to normalize forward slashes to backslashes in directory params
- Merge sessions from all project directories on bare GET /session for Windows path compat
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Web and desktop interface for the OpenCode AI coding agent. Works alongside the OpenCode TUI.
The OpenCode team is actively working on their own desktop app. I still decided to release this project as a fan-made alternative.
It was entirely built with OpenCode tool - first with the TUI version, then with the first usable version of OpenChamber, which I then used to build the rest.
The whole project was built entirely with AI coding agents under my supervision. It started as a hobby project and proof of concept that AI agents can create genuinely usable software.
More screenshots
Why use OpenChamber?
Cross-device continuity: Start in TUI, continue on tablet/phone, return to terminal - same session
Remote access: Use OpenCode from anywhere via browser
Familiarity: A visual alternative for developers who prefer GUI workflows
Features
Core (all app versions)
Branchable chat timeline with /undo, /redo, and one-click forks from earlier turns
Smart tool UIs for diffs, file operations, permissions, and long-running task progress
Voice mode with speech input and read-aloud responses for hands-free workflows
Multi-agent runs from one prompt with isolated worktrees for safe side-by-side comparisons
# Quick install (auto-detects your package manager)
curl -fsSL https://raw.githubusercontent.com/btriapitsyn/openchamber/main/scripts/install.sh | bash
# Or install manually
bun add -g @openchamber/web # or npm, pnpm, yarn
openchamber # Start on port 3000
openchamber --port 8080# Custom port
openchamber --daemon # Background mode
openchamber --ui-password secret # Password-protect UI
openchamber --try-cf-tunnel # Create a Cloudflare Quick Tunnel for remote access
openchamber --try-cf-tunnel --tunnel-qr # Show QR code for easy mobile access
openchamber --try-cf-tunnel --tunnel-password-url # Include password in URL for auto-loginOPENCODE_PORT=4096OPENCODE_SKIP_START=true openchamber # Connect to external OpenCode serverOPENCODE_HOST=https://myhost:4096 OPENCODE_SKIP_START=true openchamber # Connect via custom host/HTTPS
openchamber stop # Stop server
openchamber update # Update to latest version
The service will be available at http://localhost:3000.
Data Directory Permission Note: The data/ directory is mounted into the container for persistent storage (config, sessions, SSH keys, workspaces). Before running, ensure the directory exists and has proper permissions:
# Create data directories with correct ownership
mkdir -p data/openchamber data/opencode/share data/opencode/config data/ssh data/workspaces
# Fix permissions (replace $USER with your username)
chown -R 1000:1000 data/
Without proper permissions, the container may fail to start or encounter permission denied errors when writing to these directories.