ChatGPT + xCloud
Deploy from Git with ChatGPT on xCloud
Deploying from Git with ChatGPT means pasting a repository link into a chat that has the xCloud developer-mode app selected, and letting xCloud detect the app, preview the site, create it after your approval and check the live URL.
- Skill: xcloud:deploy
- Toolsets: sites, servers, integrations
- Free with every xCloud account
YouUsing the xcloud app, deploy github.com/acme/shop to my Frankfurt server on a staging hostname. Dry run first.
git_detectread-only
AgentxCloud found a Node.js app on main. It would run npm run build and npm start and use a free staging hostname. There is one warning about a missing environment file. Do you want me to create the site?
YouYes, create it.
servers_sites_git_autoneeds approval
AgentThe site is deployed and the staging address answers 200. The certificate is issued. Here is the dashboard link.
. Keep a human in the loop: xCloud stops and asks before anything that creates, deploys, updates, reboots, deletes or buys.
Setup
How Do You Set Up ChatGPT to Deploy from Git on xCloud?
Connect ChatGPT once; every job on this account uses the same connection. Then ask in plain words.
Turn on developer mode and open Plugins
In ChatGPT on the web, open Settings, Security and login and turn on Developer mode. Then open the Plugins page and select the plus button to create an app. OpenAI lists developer mode for Pro, Plus, Business, Enterprise and Education accounts on the web, but its help center puts full MCP support with write actions in beta on Business, Enterprise and Edu workspaces and gives Pro accounts read and fetch access only, so check your plan before you expect ChatGPT to deploy or update anything. That path is for a personal account. In a Business, Enterprise or Edu workspace the controls sit under Apps instead. On Business only an admin or owner can use Developer mode: they turn it on while creating the app from Workspace settings, Apps, Create, and publish it from Workspace settings, Apps. On Enterprise and Edu an admin or owner can also toggle Developer mode under Settings, Apps, Advanced settings, and a member granted developer access under Permissions and Roles turns it on there too and can create and test the app from their own Settings, Apps, Create, but only an admin or owner can publish it. An ordinary member cannot do this, so ask an admin to publish the xcloud app; then open Settings, Plugins, select xcloud, install it if offered and choose Connect, sign in to xCloud and pick the teams and access level, and only then start at the last step.
https://chatgpt.com/pluginsCreate the app with the xCloud MCP URL
Name the app xcloud, paste this as the MCP server URL and choose OAuth for authentication. xCloud supports dynamic client registration, so you do not need to create a client ID. Sign in with xCloud when the browser asks, tick the teams and choose Read-only or Full access.
https://app.xcloud.host/mcpInstall the plugin and use it in a Work chat
Open your personal Plugins page, open xcloud and select the plus button to install it. Back on the ChatGPT homepage, switch the tab at the top from Chat to Work, start a new Work chat, type @ and pick xcloud; a plain Chat tab conversation does not offer the plugin. Then type a request like this one.
Using the xcloud app, who am I on xCloud and which servers do I have?Check it worked
Then ask ChatGPT for the job itself, for example:
Using the xcloud app, deploy https://github.com/acme/shop to my Frankfurt server on a staging hostname. Show me the dry run and wait for my approval before you create anything.
In practice
How Does Deploy from Git Work from ChatGPT?
ChatGPT has no view of your code, so the repository comes from you. Pick the xcloud plugin for the conversation with @xcloud in a Work chat, and then paste a repository URL or write acme/shop along with the server you want. Naming the app in the request, as in Using the xcloud app, deploy github.com/acme/shop, helps the model use the right tool. ChatGPT calls xCloud's detection, and xCloud reads the repository itself, so a public repository needs nothing more. A private one works when its provider is connected to your xCloud team, or when you add an SSH deploy key that xCloud prepares.
A deploy in ChatGPT has two confirmations by design. OpenAI asks you to confirm write actions in developer mode by default, and xCloud refuses a site create unless it carries an explicit confirmation. In practice you read the dry run, which is the description of the site xCloud would create, and then approve once in the chat and once in the confirmation card. After that, ChatGPT sends the confirmed request with an idempotency key, follows the site status until it is terminal, reads the failed steps and the certificate, and gives you the address and the dashboard link. Choose Full access on the xCloud sign-in screen, because Read-only cannot create a site.
Because the chat connects from OpenAI's servers, nothing about your own machine matters, which is convenient and also a limit. ChatGPT cannot read a local checkout, cannot commit a fix and cannot push. When a deploy fails, it reads the deployment diagnosis, explains the cause and can retry on the same site with a corrected build command or web root. A change inside the repository needs a person or a coding agent to push it. After the push, ask ChatGPT to redeploy the site, and it will show you what will change before it does.
ChatGPT specific: ChatGPT calls xCloud from OpenAI's servers and only sees the repository you name, so push your code before you ask and paste the link. Developer mode appears only on the web, and OpenAI's help center limits write actions such as creating a site to Business, Enterprise and Edu workspaces, with Pro accounts on read and fetch access only, so a deploy from ChatGPT needs one of those plans. If xCloud tools are missing after a change on the xCloud side, open the app under Drafts in ChatGPT's settings and refresh its tool list.
What xCloud does for deploy from git
xCloud detects the app in the repository, previews the site it would create with a dry run, creates it once you approve, polls the deployment to a terminal state and checks the live URL. A failed deploy gets a diagnosis and a corrected retry on the same site, never a delete and recreate.
- Pick the team and server. The agent uses the server you name. If you name none it lists provisioned servers and asks; it never picks one silently. Node.js, PHP and static builds need an Nginx or OpenLiteSpeed server; anything else needs a Docker server.
- Detect the repository. git_detect reads the default branch, the app type (WordPress, Laravel, custom PHP, Node.js or Lovable), the web root, suggested install, build and start commands, repository access and server compatibility. Detection creates nothing.
- Choose the address. With no domain the agent asks xCloud for a free staging hostname. With a live domain it checks whether the zone is on a connected Cloudflare account, in which case xCloud writes the DNS record and certificate itself.
- Dry run, then one approval. The agent sends the create request with dry_run set to true and shows you the resolved configuration: app type, URL, branch, commands, runtime version and every warning. Then it asks once, naming the server and the URL, before sending the same body with confirm set to true and an idempotency key.
- Poll and verify. A 202 means queued, not deployed. The agent polls the site status until it is terminal, reports each real step change, reads failed_steps and the SSL block, and fetches the URL before it calls the site live.
- Recover if it fails. On a failed deploy the agent reads the deployment diagnosis, proposes a fix from the correctable fields, and retries on the same site with your approval. Two failed retries with the same classification stop the loop and hand you the dashboard link.
Reference
Deploy from Git Settings and Limits on xCloud
The facts ChatGPT works within when it deploys from Git. Where a row names the dashboard, that step stays yours to take there.
| Setting or limit | What applies |
|---|---|
| Supported app types | WordPress, Laravel, custom PHP, Node.js and Lovable on native servers; Dockerfile and Compose apps, including Python, Go and Rust, on Docker servers |
| Repository sources | Public HTTPS URLs, repositories on a connected GitHub, GitLab or Bitbucket provider, and private SSH repositories with a read-only deploy key |
| Private repositories | The agent prepares a deploy key on the server, you add the public key to the repository, xCloud verifies it. A private key or personal token never goes in the request |
| Preview | dry_run: true returns the would_create block and consumes no idempotency key |
| Idempotency | The create call carries an Idempotency-Key, so a retried request cannot create a duplicate site. A new deployment needs a new key |
| Deployment states | deployed, failed or cancelled once terminal is true; failed_steps can be non-empty on a deployed site and must be read |
| Node.js versions | The Node version is server-wide, not per site; changing it can affect other apps on the server |
| Redeploys | A redeploy runs git reset --hard and git clean -df in the site directory, so uncommitted server-side changes are lost. Supply environment values through env_file_content, not files in the checkout |
| Staging environments | Available for Git sites on paid plans through the API; WordPress staging stays a dashboard step |
| Agentic servers | An OpenClaw, Hermes, Paperclip or DeepSeek Harness server hosts only the site created at provisioning; a second site is refused |
Rules ChatGPT has to follow
- Creating a site is billable and stops for your approval; detection and the dry run never create anything.
- The agent explains every detection warning before asking, and a repository access problem is never worked around by naming an app type by hand.
- A deployed state is not proof the application works: the agent fetches the URL and reads failed_steps first.
- A failed site is retried in place with corrections; it is never deleted and recreated to retry.
- Changing a live site's domain after creation, databases and server resizing are dashboard steps; the agent gives you the path and the dashboard link xCloud returned.
Example prompts
What Can You Ask ChatGPT to Do for Deploy from Git?
Type these as written and swap in your own repository, site and server names. Reads and routine actions such as backups, cache purges, PageSpeed scans and vulnerability scans run straight away; creating, deploying, updating, rebooting, deleting, buying or starting a broken-link scan stops and asks first.
Using the xcloud app, deploy https://github.com/acme/shop to my Frankfurt server on a staging hostname. Show me the dry run and wait for my approval before you create anything.Using the xcloud app, the last deploy of the shop site failed. Read the diagnosis, explain it in plain words and tell me what you would change before a retry.Using the xcloud app, check whether github.com/acme/api can be reached from xCloud and tell me which kind of server it needs. Create nothing.Deploy https://github.com/acme/shop to my Frankfurt server and show me the dry run before creating anything.Deploy the private GitLab repository connected to my team on a staging hostname.Scan the docker-compose.yml in github.com/acme/api and tell me which services and ports xCloud would use.Create a staging environment from the feature/checkout branch of the API site.Deploy the latest commit of the shop site after showing me what will change.The last deploy of the API site failed. Diagnose it, fix the build command and retry on the same site.ChatGPT and Deploy from Git: Frequently Asked Questions
What people ask before they let ChatGPT deploy from Git through xCloud.
Does ChatGPT need the xcloud app selected to deploy?
Yes. Pick the xcloud plugin with @xcloud in a Work chat, then ask for the deploy. Naming the app in your request helps ChatGPT call xCloud instead of answering from general knowledge.
Can ChatGPT fix my code when a deploy fails?
Not the code itself. It reads xCloud's deployment diagnosis, explains the cause and can retry on the same site with a corrected build command or web root. A change inside the repository has to be pushed by you or a coding agent, and then ChatGPT can redeploy.
Does the agent create the site as soon as I give it a repository URL?
No. It detects the repository and runs a dry run first, shows you the resolved configuration, and asks once. Only after you approve does it send the create call with an explicit confirmation and an idempotency key.
Can an agent deploy a private repository through xCloud?
Yes. Either the repository is on a Git provider connected to your xCloud team, or the agent prepares an SSH deploy key on the server for you to add to the repository. A private key or a personal access token is never sent in the request.
What does a 202 response mean during a deploy?
That xCloud queued the deployment. The agent polls the site status until it is terminal and reports deployed, failed or cancelled, then checks failed_steps and fetches the URL before calling the site live.
What happens when a deploy fails?
The agent reads the deployment diagnosis, which classifies the failing step and quotes the relevant log lines, proposes a fix from the fields xCloud lets it correct, and retries on the same site after your approval. It never deletes and recreates the site to retry.
Which servers can take a Git deploy?
Node.js, PHP and static builds deploy to Nginx or OpenLiteSpeed servers. Dockerfile and Compose apps, and other language stacks, need a Docker server. Agentic servers running OpenClaw, Hermes, Paperclip or DeepSeek Harness take no additional sites.
Other agents
Deploy from Git with Other Agents
The same job, the same xCloud tools, a guide for each client.
- Deploy from Git with Claude CodeAnthropic's terminal coding agent. One claude mcp add command, plus the xCloud skills plugin with nine skills on top.
- Deploy from Git with ClaudeAnthropic's chat assistant on the web and desktop. Add xCloud as a custom connector, no terminal needed.
- Deploy from Git with Claude CoworkAnthropic's desktop agent for delegated work. Add the xCloud connector, then hand off hosting jobs.
- Deploy from Git with CursorThe AI code editor. One mcp.json entry with the compact URL, because Cursor stops at 40 tools.
- Deploy from Git with CodexOpenAI's coding agent for the terminal. A codex mcp add command or a config.toml entry, then codex mcp login.
- Deploy from Git with OpenCodeThe open-source terminal coding agent. One remote MCP entry, then opencode mcp auth xcloud.
- Deploy from Git with Hermes AgentNous Research's agent with memory and a built-in scheduler. An mcp_servers entry in config.yaml and one login.
- Deploy from Git with OpenClawThe open-source agent runtime with chat apps and automations. ClawHub skill plus the MCP client.
- Deploy from Git with WindsurfThe Cognition editor, now Devin Desktop. devin mcp add for the Devin Local agent, a serverUrl entry for legacy Cascade.
- Deploy from Git with GitHub CopilotCopilot agent mode in VS Code. One .vscode/mcp.json entry, or the Agent Plugins package.
- Deploy from Git with Gemini CLIGoogle's terminal agent. One gemini mcp add command, OAuth found automatically.
- Deploy from Git with ChatGPT dotsOpenAI's always-on agent in ChatGPT. Uses the xCloud MCP plugin you add in ChatGPT, with custom rules and scheduled tasks.
- Deploy from Git with GrokxAI's terminal agent, Grok Build. One grok mcp add command or a config.toml entry.
- Deploy from Git with Grok BotxAI's always-on Bots on a cloud computer. One Remote HTTPS MCP plugin, OAuth sign-in, routines on a schedule.
- Deploy from Git with KiroAWS's agentic IDE. One url entry in .kiro/settings/mcp.json, plus the portable xCloud Agent Plugins package.
- Deploy from Git with AntigravityGoogle's agentic IDE. One serverUrl entry in mcp_config.json and a browser sign-in.
- Deploy from Git with ZedThe Zed editor's Agent Panel. One context_servers entry in settings.json and a browser sign-in.
More ChatGPT guides
- ChatGPT and xCloud overview
- Run Docker apps with ChatGPT
- Install one-click apps with ChatGPT
- Manage WordPress with ChatGPT
- Back up and stage sites with ChatGPT
- Manage SSL and domains with ChatGPT
- Manage servers with ChatGPT
- Troubleshoot a broken site with ChatGPT
- Speed up a slow site with ChatGPT
- Secure sites and servers with ChatGPT
Run Your Hosting from ChatGPT
xCloud MCP, the Agent Skills and the Public API are free with every account. Connect once and ask.