Skip to content

[BUG] brev create --gpu fails with 'not found' for all non-GCP instance types (Shadeform, Nebius, Launchpad) #15

@dims

Description

@dims

Summary

brev create --gpu hyperstack_H100 (and all Shadeform, Nebius, Launchpad, Lambda Labs types) fails with:

rpc error: code = NotFound desc = instance type hyperstack_H100 not found

GCP-native types (e.g. a2-highgpu-1g:nvidia-tesla-a100:1) succeed. The same error occurs for every non-GCP type tried: latitude_H100, scaleway_H100, paperspace_H100, nebius.h100x1.sxm, gpu-h100-sxm.1gpu-16vcpu-200gb, and others.

The authenticated catalog API confirms these types exist and are available:

GET /api/instances/alltypesavailable/{orgID}
→ { "type": "hyperstack_H100", "is_available": true, "base_price": { "amount": "2.280000" } }

Root cause (from reading the source)

The installed binary (v0.6.316) routes brev create --gpu through the deprecated pkg/cmd/create/create.go code path. That path passes InstanceType to POST /api/organizations/{orgID}/workspaces without a WorkspaceGroupID. The backend cannot route non-GCP instance types without an explicit workspace group ID.

The fix already exists in pkg/cmd/gpucreate/gpucreate.go (the designated successor), which calls GetAllInstanceTypesWithWorkspaceGroups first and populates WorkspaceGroupID before creating. This code is merged but not yet released.

Steps to reproduce

brev create test-h100 --gpu hyperstack_H100
# → rpc error: code = NotFound desc = instance type hyperstack_H100 not found

Expected

Instance creates successfully.

Workaround

Call the REST API directly, populating workspaceGroupId manually. This requires reading the Go source to discover the field name, the API base URL, and the correct workspace group ID for each provider — not a reasonable user expectation.

Impact

Complete blocker for anyone trying to provision H100 (or any non-GCP GPU) via the CLI. Hyperstack H100 is one of the cheapest and most commonly used H100 options on the platform.

Suggested fix

  • Ship a release from maingpucreate already handles workspaceGroupId correctly
  • Add a deprecation warning to --gpu pointing users to --type and to brev search
  • Server: return InvalidArgument (not NotFound) when WorkspaceGroupID is absent but required, with a message pointing to a CLI upgrade

CLI version: v0.6.316 | OS: macOS

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions