Modelplane v0.3: Vultr, the Anthropic Messages API, and testing without a GPU Modelplane v0.3 adds Vultr as an inference cluster provider, supports the Anthropic Messages API end-to-end for tools like Claude Code, improves multi-node scheduling, and introduces three new model recipes, including Nemotron-3.5-Lightning. The release also enables multi-account provisioning via per-cluster credentials and includes a local end-to-end test that requires no cloud account or GPU. Modelplane v0.3 is out, our third release in the two months since we open sourced the project. Release by release, Modelplane is growing into its mission: bringing together the models, engines, clouds, and accelerators that make up the intelligence ecosystem so you can operate them as a single system under your control. And we are building it in the open. This release adds Vultr as an inference cluster provider, serves the Anthropic Messages API end to end so tools like Claude Code can run against your own GPUs, improves multi-node scheduling, and ships three new model recipes. It also adds something for contributors: a local end-to-end test that exercises the whole system with no cloud account and no GPU. Here's what's new. Vultr joins the fleet vultr-joins-the-fleet Vultr https://www.vultr.com/ VKE is now an inference cluster provider, alongside GKE, EKS, AKS, and Nebius. As with the others, Modelplane provisions the full cluster: VPC, control plane, system and GPU node pools and installs the inference stack on top: A big thank you to the folks at Vultr, who worked with us on validating the integration and finding the right GPU plans. This is exactly the kind of collaboration we hope to repeat with other clouds, more on that below. One control plane, many accounts one-control-plane-many-accounts Until now, every InferenceCluster authenticated through a single ClusterProviderConfig named default , which quietly limited a fleet to one AWS account, one GCP project, one Azure subscription per cloud. v0.3 lifts that: every cluster type now takes a credentials reference, so each InferenceCluster can name the ProviderConfig or ClusterProviderConfig it provisions through: One control plane can now provision clusters across team accounts, projects, and subscriptions, a production fleet in one account and experiments in another, without running a second Modelplane. Omit credentials and everything behaves as before, using the ClusterProviderConfig named default . Claude Code on your own GPUs claude-code-on-your-own-gpus Modelplane now serves the Anthropic Messages API end to end. A vLLM server registers /v1/messages alongside its OpenAI routes, and Modelplane's routing preserves the path below the /