What your computer needs
Connecting to Turn Zero Cloud needs a Model Context Protocol (MCP) client and a browser for sign-in. It installs no local server. Building your application on your machine also needs its toolchain, which the list below describes.
The list
- An MCP client. This documentation covers Claude Code, the Claude desktop app and claude.ai, and Codex desktop and command-line interface (CLI). Connect your tool gives the setup for each.
- Node.js 24 or later. The platform runs your deployed application on Node.js 24. Build and test on the same major version, so that what you see locally is what runs on the platform. A later Node.js version also works, as long as your code uses no feature Node.js 24 lacks. A local run of your application uses the same runtime, and Run locally lists its settings (environment variables). The turnzero-cloud command itself runs on Node.js 24 or later. On an older Node.js version it starts nothing and prints a sentence that says so.
- npm. It ships with Node.js. The platform runs it inside the image it builds around your artifact:
npm install --omit=devfor yourdependencies, thennpm startto launch. That install reads apackage-lock.jsonin your artifact, or annpm-shrinkwrap.jsonif you ship one, which npm reads in preference topackage-lock.json. Neither file is required. The build skips the install only where it would install and run nothing, as step 3 of Deploy an application describes.
There is no platform software development kit (SDK), compiler, signing certificate, or console to install. Connecting your tool needs nothing on your machine beyond the tool itself.
What you do not install
Anything else your application's build uses is that project's own dependency, and npm install on your machine installs it:
- TypeScript. A project that uses a feature package's runtime code compiles it as part of its own build. The compiler is a
devDependencyin that project'spackage.json; you never install TypeScript globally for the platform. The platform's image build installsdependenciesalone, so your artifact must contain the compiled output. - A bundler, a test runner. The same rule applies: declared in the project, installed by npm, and never shipped.
- A native module's build tools. A dependency's native module ships prebuilt for Linux x64 or builds during the platform's image build, and the build reports one that can do neither or does not load on the running image. A native module of your root package or a workspace member never builds there: ship its
.nodefile built for Linux, or the deploy refuses itsbinding.gyp(Build and upload the artifact). Running the module on your own machine is separate. If the module publishes no prebuilt binary for your operating system, you need a local compiler, which the platform neither provides nor uses.
Git
Deploying needs no Git repository. No step on these pages runs the git program either, so it need not be installed: What it reads says how the command finds a folder's commit without it.
Your tool calls deploy with the application, then runs the one line the response returns. That line runs the turnzero-cloud command in the application's folder, and the command zips the folder and deploys it. The command uploads under a short-lived grant, which fixes the receiving environment and the acting identity, so its upload sends neither header. A script of your own that uploads under a minted token sends both: x-turnzero-cloud-environment for the receiving environment and X-Acting-Identity for who is acting. Deploy an application gives the whole path.
One convention does assume a repository. An application that declares the database service keeps its schema as migration files in its own repository, and the artifact's migrations/ folder is copied from there.
Connecting the platform's MCP server provides no build environment. Your coding tool builds the application on your machine, and the turnzero-cloud command uploads it.
Check a local build environment
In Windows PowerShell, read Windows PowerShell before you run the npm check.
Check the Node.js version. No test checks this sample.
node --version
Check the npm version. No test checks this sample.
npm --version
The first prints a version beginning v24, or a later major. If it does not, install Node.js 24 or later from nodejs.org or through a Node.js version manager, then run both again. The second prints the npm that ships with that Node.js release.
Windows PowerShell
Windows PowerShell 5.1, the PowerShell that Windows includes, needs five changes to the commands on these pages.
- npm. In PowerShell,
npmruns the scriptnpm.ps1, which Node.js installs besidenpm.cmd. Windows PowerShell's default execution policy,Restricted, blocks every script, so PowerShell will not runnpmand reports that running scripts is disabled on this system. Runnpm.cmdwith the same arguments, andnpx.cmdin place ofnpx. Each line of the turnzero-cloud command that a tool call returns has a Windows form, which already hasnpx.cmd. A line that no tool call returns, such as the hash line or the unattended deploy line, is written withnpx.cmdby hand. - A script of your own. The same policy blocks a
.ps1file your tool writes, and the policy is your machine's, since the platform ships no PowerShell script. Run it for one process withpowershell -NoProfile -ExecutionPolicy Bypass -File <script>, which leaves the machine's policy as it is. Or run the script's commands inline in the session instead. - A probe that must see an error status. In Windows PowerShell 5.1,
Invoke-WebRequestthrows on a 4xx or 5xx response, and it lacks the-SkipHttpErrorCheckswitch that PowerShell 7 added to return that response. Runcurl.exeinstead, which Windows 10 and later include. Type it with its.exe, becausecurlalone is an alias forInvoke-WebRequestin Windows PowerShell 5.1.curl.exe -iprints the status line and headers before the body, whatever the status. - The artifact zip. A deploy through the turnzero-cloud command needs no zip of your own, because the command builds it. For a zip you build yourself, such as one for the
artifactform,Compress-Archivewrites\between the segments of each entry's name, and the deploy refuses such a zip. Build it withtar.exeinstead, which Windows 10 and later include, as Build and upload the artifact shows. - A JSON request body. In Windows PowerShell 5.1,
-Encoding utf8onSet-ContentandOut-Filewrites a byte-order mark, which a JSON parser rejects. Write the body with[System.IO.File]::WriteAllText("$PWD\body.json", $json), which writes none, and send it withcurl.exe --data-binary '@body.json'.