Opslane
Desktop app for managing multiple Claude Code sessions in parallel.
What is Opslane?
Opslane lets you work on multiple projects simultaneously with Claude AI assistance. Each session runs in an isolated Docker container, allowing you to experiment, iterate, and develop features without affecting your local repositories.
Claude can work on different features across multiple projects, review changes in real-time, and selectively apply them to your local codebase when ready.
Key Features
- 🚀 Multi-Session Management - Work on multiple projects simultaneously with isolated sessions
- 🔍 Live Diff Viewer - Review all file changes with syntax highlighting before applying
- 🔄 Two-Way Sync - Optional bidirectional file synchronization between container and local repo
- 📦 Docker Isolation - Each session runs in its own container with resource limits
- 📚 Session Archiving - Preserve completed sessions for future reference
Quick Start
Prerequisites
- Node.js 18+
- Rust 1.77+
- Docker Desktop (running)
- Claude Code CLI with OAuth credentials configured
Installation
git clone https://github.com/opslane/opslane.git
cd opslane
npm install
npm run tauri:dev
The app will launch with hot reload enabled for development.
First Session
- Click "New Session" in the app
- Select a local Git repository
- Describe your task (e.g., "Add user authentication")
- Choose a Claude model (Sonnet, Opus, or Haiku)
- Click "Start Session"
Claude will begin working in an isolated container while you monitor progress in real-time.
How It Works
- Create Session - Select project directory, describe task, choose Claude model
- Claude Works - AI reads files, edits code, runs commands in isolated container
- Review Changes - View diffs in real-time with syntax highlighting
- Sync to Local - Apply container changes to your local repository when ready
- Archive - Preserve session history for future reference
Each session is completely isolated - experiments in one session never affect others or your local files until you explicitly sync changes.
Tech Stack
- Backend: Tauri 2.0 (Rust)
- Frontend: React 19 + TypeScript
- Database: SQLite
- Styling: Tailwind CSS 4
- Build Tool: Vite 5
Development
Common Commands
# Start development server with hot reload
npm run tauri:dev
# Run frontend only (UI development)
npm run dev
# Type checking
npm run typecheck
# Linting
npm run lint
# Build for production
npm run tauri:build
See CONTRIBUTING.md for detailed development guidelines, including how to add Tauri commands and submit pull requests.
Documentation
- Product Requirements - Product vision and goals
- Architecture - System architecture and design
- Design Principles - Core design philosophy
- UX Design - User experience and interaction design
- Database Schema - Data models and migrations
- Milestones - Implementation roadmap
Project Structure
opslane/
├── src/ # React frontend
│ ├── components/ # UI components
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utilities and helpers
│ └── types/ # TypeScript types
├── src-tauri/ # Rust backend
│ ├── migrations/ # SQLite migrations
│ └── src/
│ ├── commands/ # Tauri IPC commands
│ ├── services/ # Business logic
│ └── models/ # Data structures
└── specs/ # Product documentation
Troubleshooting
Having issues? Check the Troubleshooting Guide for solutions to common problems:
- Docker not running
- Port conflicts
- Rust compilation errors
- Hot reload issues
- Session creation failures
Support
- 📖 Documentation
- 🐛 Issue Tracker
- 💬 Discord community - TODO
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines on:
- Development setup
- Code style and standards
- Adding new features
- Submitting pull requests
License
MIT License - see LICENSE file for details.