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=dev for your dependencies, then npm start to launch. That install reads a package-lock.json in your artifact, or an npm-shrinkwrap.json if you ship one, which npm reads in preference to package-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 devDependency in that project's package.json; you never install TypeScript globally for the platform. The platform's image build installs dependencies alone, 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 .node file built for Linux, or the deploy refuses its binding.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, npm runs the script npm.ps1, which Node.js installs beside npm.cmd. Windows PowerShell's default execution policy, Restricted, blocks every script, so PowerShell will not run npm and reports that running scripts is disabled on this system. Run npm.cmd with the same arguments, and npx.cmd in place of npx. Each line of the turnzero-cloud command that a tool call returns has a Windows form, which already has npx.cmd. A line that no tool call returns, such as the hash line or the unattended deploy line, is written with npx.cmd by hand.
  • A script of your own. The same policy blocks a .ps1 file your tool writes, and the policy is your machine's, since the platform ships no PowerShell script. Run it for one process with powershell -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-WebRequest throws on a 4xx or 5xx response, and it lacks the -SkipHttpErrorCheck switch that PowerShell 7 added to return that response. Run curl.exe instead, which Windows 10 and later include. Type it with its .exe, because curl alone is an alias for Invoke-WebRequest in Windows PowerShell 5.1. curl.exe -i prints 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 artifact form, Compress-Archive writes \ between the segments of each entry's name, and the deploy refuses such a zip. Build it with tar.exe instead, which Windows 10 and later include, as Build and upload the artifact shows.
  • A JSON request body. In Windows PowerShell 5.1, -Encoding utf8 on Set-Content and Out-File writes 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 with curl.exe --data-binary '@body.json'.