Ever wanted to test out an idea or fix a bug, but you didn't want to pollute your working branch? Or do you ever get super annoyed by all the questions and permissions Claude asks you?
Well, VIWO (Virtual Workspaces) might just be your solution:
- Docker-sandboxed environments: In order to use Claude Code with
--dangerously-skip-permissions, we are using Docker to sandbox the runtime environment. - Git worktrees: Maintain a clean separation between your working branch and Claude's branch—so you can work while you work!
- Ease-of-use: Quickly jump in to a worktree session by opening it in your favourite IDE.
- Multiple agents: With VIWO, it's extremely easy to spin up multiple agents to go do your task for you.
- [COMING SOON] GitHub/GitLab integration: Once you're done, let AI handle submitting "your" work for you!
- [COMING SOON] Improved multiline support: Paste in large amounts of text and play around with your prompt before submitting.
- [COMING SOON] Recap of changes made: View a recap of the work completed by AI directly inside VIWO CLI.
- VIWO
MacOS & Linux
curl -fsSL https://raw.githubusercontent.com/OverseedAI/viwo/main/install.sh | bashWindows
irm https://raw.githubusercontent.com/OverseedAI/viwo/main/install.ps1 | iexNote:
- You may need to restart your terminal after installation for the PATH changes to take effect.
After installation, initialize your first session:
# Register your Anthropic API key
viwo auth
# Register a repository
cd /path/to/your/repo
viwo register # viwo register /path/to/your/repo also works
# Start a session
viwo start
# List sessions
viwo list- Bun v1.0 or higher
- Git
- Docker (Daemon must be running)
-
Clone and install dependencies
git clone <repository-url> cd viwo bun install
-
Link the CLI globally
cd packages/cli bun link -
Verify installation
viwo --help
That's it! No build step required during development. 🎉
viwo/
├── packages/
│ ├── core/ # Core SDK (@viwo/core)
│ └── cli/ # CLI tool (@viwo/cli)
└── apps/ # Future applications
Since this is a Bun monorepo with direct source imports, you can run the CLI immediately without building:
# Option 1: Run directly from source
bun packages/cli/src/cli.ts --help
# Option 2: Use the globally linked command (recommended)
viwo --help- Edit source files in
packages/core/src/orpackages/cli/src/ - Changes are immediately available - no build step needed!
- Run the CLI to test your changes:
viwo init --prompt "Your task here"
The core package uses direct TypeScript source imports - Bun's native TypeScript support makes this possible without compilation during development.
# Check all packages
bun run typecheck
# Check specific package
cd packages/core && bun run typecheck# Run tests in core package
cd packages/core && bun test# Format code
bun run format
# Check formatting
bun run format:check
# Lint code
bun run lintviwo init --prompt "Add user authentication feature" \
--agent claude-code \
--branch feat/authviwo listWhile development doesn't require a build step, you can build for production/publishing:
# Build all packages
bun run build
# Build specific package
cd packages/core && bun run buildThis creates the dist/ directories with compiled JavaScript and type definitions.
Remove all build artifacts, caches, and dependencies:
bun run cleanThe core package provides:
- Git worktree management
- Docker container orchestration
- AI agent initialization (Claude Code, Cline, Cursor)
- Session state management with Bun's native SQLite
- Port allocation
Key Feature: Uses direct source imports - exports TypeScript files directly without a build step during development.
A command-line interface built on top of @viwo/core:
- Interactive session management
- Pretty-printed output with colors and tables
- Progress indicators
- Comprehensive error handling
rm /usr/local/bin/viwo # or wherever you installed it# Remove the binary
Remove-Item "$env:LOCALAPPDATA\Programs\viwo\viwo.exe"
# Remove from PATH (optional)
# Open "Edit environment variables for your account" and remove the viwo directory from PATH