Deploy

Deploy an app with Codex: from your repo to a running service with ubctl

Codex can deploy an app only by operating Unbroker through ubctl. Codex does not host the service. Unbroker builds and runs it after the CLI creates or updates the service you name.

Reviewed October 26, 2026

Does Codex host your app?

No. Codex edits the repository and can run ubctl on your machine. The public URL, the build, and the running process belong to Unbroker Cloud Apps.

Installing the skill does not create an account, issue a token, or deploy anything. The skill is a set of instructions for the ubctl CLI.

What you need

You need Unbroker Pro to create an API token, a local ubctl install, Node.js with npx, and Codex. Pro is $25 per month and includes a matching usage credit. Creating or running a service can generate charges on that plan.

A read token is enough for the first inspection. Creating or changing a service needs a read/write token and permission to manage apps in that organization. Use a non-production repository for the first attempt.

Set up

Install ubctl from the CLI guide, create the token in Cloud, and paste it into the hidden login prompt. Then confirm the organization. These commands stay in your terminal. Do not paste the token into Codex.

Install the ubctl-ops skill for Codex with the command below. It is the command published in the Unbroker docs and in the CLI getting-started guide. The skill file lives in the unbroker-app/ubctl repository. Close and restart Codex so it can see the skill. The first task should only list projects.

ubctl --version
ubctl login
ubctl whoami
ubctl doctor

npx skills@latest add unbroker-app/ubctl --skill ubctl-ops --agent codex --global --yes

$ubctl-ops Show the active Unbroker organization and list its projects.
Do not create or modify resources.

Deploy prompt for Codex

Replace every bracketed value before you send this prompt. Codex should inspect the framework, build command, start command, and the names of the variables the app needs.

It should wait until the deployment reaches a terminal state. A queued deployment is not a finished release. The documented wait command is ubctl apps deploy <serviceId> --wait.

$ubctl-ops Deploy this repository to Unbroker.

Use organization [organization name] and project [project ID].
Create a new service named [service name] from [Git repository URL]
and branch [branch]. You may create and deploy this service on Pro.
Do not modify other services or attach a custom domain.

Inspect the repository's framework, build command, start command
and required runtime variables. Tell me which secret keys I need
to enter in Cloud; do not ask me to paste their values into chat.

Wait for the deployment to finish, inspect any failure, and verify
the public application URL. Report the service ID, deployment ID,
tested URL and checks performed.

When a deploy fails: let Codex read logs

Ask Codex to read the build log and the runtime log, then name the failing step before it changes anything. A restart, a volume reset, or a larger size is not a universal fix.

The CLI commands below are the ones documented for waiting, reading a deployment log, and reading runtime logs. A rollback promotes a previous deployment. It does not rebuild the commit, and it does not restore a database or a volume.

ubctl apps deploy <serviceId> --wait
ubctl apps deployment <deploymentId> --log
ubctl apps services logs <serviceId>

Keep secrets out of the chat

Tell Codex which variable names to create. Enter the values in Cloud. Do not paste tokens, database URLs, or passwords into the prompt, a shell history flag, or the repository.

ubctl doctor reports settings without printing the token. Prefer ubctl login, or a token piped to ubctl login --stdin, over putting the token on the command line. The same rule applies if you also connect the documented Codex MCP server: the token stays in an environment variable, not in the chat.

Codex vs Claude Code on Unbroker

Both agents use the same ubctl-ops skill and the same Unbroker account. Neither one hosts the app. The documented difference is how you install and invoke the skill.

Codex uses --agent codex and you invoke $ubctl-ops. Claude Code uses --agent claude-code and you invoke /ubctl-ops. The deploy prompt on this page is the Claude Code prompt with that invocation changed. API tokens still require Pro for either agent.

FAQ

Can Codex deploy an app to Unbroker?

Yes, when ubctl is authenticated and the ubctl-ops skill is installed for Codex. Codex deploys by creating or updating an Unbroker service. The app then runs on Unbroker.

Does Codex host the deployed app?

No. Codex operates the CLI. Hosting, builds, and the public URL are Unbroker Cloud Apps.

What is the Codex install command?

The documented command is npx skills@latest add unbroker-app/ubctl --skill ubctl-ops --agent codex --global --yes. Restart Codex afterward and invoke the skill with $ubctl-ops.

Do I need Pro?

API tokens require Pro. Pro is $25 per month with a matching usage credit. Resource creation and a running service can add usage on top of that fee once the credit is spent. The skill itself does not deploy anything.

Sources