Skip to content

[v2.5] Add --provider CLI flag to sandbox run #35

@frankbria

Description

@frankbria

Overview

Add a `--provider` flag to the `sandbox-run` command to allow users to choose which sandbox provider to use.

Usage

# Explicit provider selection
parallel-cc sandbox-run --provider e2b --repo . --prompt "Long task"
parallel-cc sandbox-run --provider native --repo . --prompt "Quick fix"
parallel-cc sandbox-run --provider docker --repo . --prompt "Cross-platform test"

# Use default provider (from config or auto-selected)
parallel-cc sandbox-run --repo . --prompt "Task"

# List available providers
parallel-cc providers list
parallel-cc providers status  # Show which are available

Provider Selection Priority

  1. CLI flag (`--provider `)
  2. Environment variable (`PARALLEL_CC_PROVIDER`)
  3. Project config (`.parallel-cc.json`)
  4. User config (`~/.parallel-cc/config.json`)
  5. Auto-selection based on task characteristics

Configuration

// .parallel-cc.json (project-level)
{
  "sandbox": {
    "defaultProvider": "native"
  }
}

// ~/.parallel-cc/config.json (user-level)
{
  "sandbox": {
    "defaultProvider": "e2b",
    "providers": {
      "e2b": {
        "template": "anthropic-claude-code"
      }
    }
  }
}

Environment Variables

export PARALLEL_CC_PROVIDER=docker
export PARALLEL_CC_E2B_TEMPLATE=my-template
export PARALLEL_CC_DOCKER_IMAGE=claude-code:latest

Files to Modify

  • `src/cli.ts` - Add `--provider` flag
  • `src/e2b/sandbox-manager.ts` - Use provider from registry
  • New: `src/config.ts` - Configuration loading

Acceptance Criteria

  • `--provider` flag works correctly
  • Environment variable fallback works
  • Config file loading works
  • Invalid provider gives clear error
  • `providers list` command shows available providers
  • Backward compatible (default to E2B if no flag)

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    component-cliCLI commands and interfaceenhancementNew feature or requestphase-2-multi-providerPhase 2: Multi-provider sandbox architecture (v2.5)priority-mediumMedium priority - next milestone

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions