A clean fork of OpenCode Desktop for running many agents at once.
- Any project, any workspace — tabs are flat (not nested), so switching between projects and worktrees is fast and easy.
- Any agent, your own subscriptions — use Claude, Codex, Gemini, or any CLI agent with first-class terminal support and notifications to track work state.
- Process management that carries over — set up processes once, keep them consistent across worktrees, and soon query logs by process name.
- File manager across the workspace — unlike OpenCode's session-scoped behavior, files are not scoped to one session; each file opens in its own tab.
- Code review across worktrees — local review is not session-scoped; each local review spins up a dedicated OpenCode session.
- Port-conflict handling built in — use integrated Portless proxy support to avoid manual port juggling.
- Themes, keybindings, plugins, and sync — customize the app while staying aligned with upstream OpenCode updates.
| Area | OpenCode baseline | Claxedo |
|---|---|---|
| Workspace navigation | Session-oriented flow can feel nested when juggling many projects/worktrees | Flat, non-nested tabs across projects and worktrees for faster switching |
| Agent workflows | Great single-session terminal workflows | Built for parallel agent operation with first-class terminal UX and state notifications |
| Process management | Setup often repeated per context | Setup once and keep behavior consistent across worktrees; upcoming getLogs("processName") support lets agents fetch logs by process name anytime |
| File manager scope | Session-scoped context | Workspace-wide context, and each file opens in its own tab |
| Local code review scope | Session-bound review flow | Review across worktrees; each local review starts a dedicated OpenCode session |
| Port conflicts | Manual env/port coordination between tools | Built-in Portless proxy support for smoother multi-agent workflows |
| Customization + sync | Upstream defaults | Themes, keybindings, and plugins while staying regularly synced with upstream |
multi-tab-multi-agent-terminal-first.mov
process-management.mov
file-manager.mov
local-code-review.mov
standard-opencode-features.mov
These links open videos directly in GitHub's native viewer.
- Any project, any workspace
- Process management
- File manager
- Local code review
- Standard features / Portless demo
Raw terminal tabs give execution. Claxedo adds orchestration: workspace-aware tabs across projects/worktrees, process-state notifications, review/file-manager flows that are not session-limited, and quick agent launch patterns.
You set it up once, and the process-management workflow persists across worktrees instead of making you rewire each context.
Upcoming support for getLogs("processName") will let an agent target a process by name and inspect its logs at any time.
Claxedo includes built-in Portless proxy support so multiple local agents/services can run with less manual port coordination.
Any CLI agent that can run in a terminal workflow, including Claude Code, Codex, Gemini CLI, and custom/internal agents.
No. Bring your own agent subscriptions or credentials.
No. Claxedo uses a file-override approach and stays in sync with upstream OpenCode regularly.
# Install dependencies
bun install
# Start the app in dev mode
cd packages/claxedo-app && bun run desktop:dev# Desktop build (unsigned, for local testing)
cd packages/claxedo-app && bun run desktop:buildDownload from Claxedo v0.0.8.
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | Claxedo_0.0.8_aarch64.dmg |
| macOS (Intel) | Claxedo_0.0.8_x64.dmg |
| Windows | Claxedo_0.0.8_x64-setup.exe |
| Linux (Debian/Ubuntu) | Claxedo_0.0.8_amd64.deb |
| Linux (Fedora/RHEL) | Claxedo-0.0.8-1.x86_64.rpm |
Claxedo is built on top of OpenCode using a file-based override system:
@/resolves tosrc/overrides/*first, then falls back to upstreampackages/app/src/*- Only the files that need to change are overridden — everything else comes from upstream
- This keeps merges clean and makes it easy to stay current with OpenCode
packages/
├── claxedo-app/ # Overrides + extensions
│ └── src/overrides/ # File-level overrides of upstream UI
├── app/ # Upstream OpenCode UI (SolidJS)
├── desktop/ # Tauri desktop shell (Rust)
├── opencode/ # CLI & sidecar server
└── ui/ # Shared UI components
Releases are automated via GitHub Actions.
cd packages/claxedo-app
# Create a release
bun ./scripts/release.ts patch # 1.1.0 → 1.1.1
bun ./scripts/release.ts minor # 1.1.0 → 1.2.0
# Push to trigger CI
git push && git push --tagsSee RELEASING.md for details.
See CONTRIBUTING.md for guidelines. The key rule: keep Claxedo changes in overrides so upstream syncs stay clean.
- UI: SolidJS, Vite, Tailwind CSS
- Desktop: Tauri (Rust + WebView)
- CLI: OpenCode sidecar (Bun)
- Build: Turborepo, Bun workspaces