lua deploy makes one already-pushed version of a primitive the version production serves. It takes effect for every end user as soon as the command reports success, for every type on any agent. A deployed skill is the one exception in durability: the next lua version promote resets every skill to the version pinned in the promoted agent version, so a skill deployed without a new agent version is reverted by the next promote.
Verified against lua-cli 3.33.0.
Synopsis
Description
The command reads the primitive’s versions from the server, selects one, asks for confirmation, and deploys it.--set-version latest selects the most recently created version, not the highest semver. Persona versions are integers. The deployed version is written back to lua.skill.yaml. The primitive must have been pushed: a row without an id, or an entity with no versions, fails with a Push it first using: lua push <type> message.
How the change reaches production depends on the primitive and on whether the agent has agent versions. lua push skill uploads a version and changes nothing for end users; lua deploy skill --name <skill> --set-version <v> serves that version from the agent’s next turn, on any agent, but the next lua version promote resets every skill to the version pinned in the promoted agent version. A pushed persona is staged, so lua deploy persona --set-version <n|latest> is how it goes live and how it is rolled back; lua version promote does not change the served persona.
lua deploy webapp (lua-cli 3.49.0 or later) makes one pushed web app version live without taking anything else you staged on the agent live, and deploying an earlier version rolls just that app back. A deploy never switches a disabled web app on: the new version is live, the command prints ⚠️ Web app <name> is switched off: the new version is live, but nobody can open it until it is switched on again., and the app stays closed until it is switched on. When the deploy fails, nothing changes: the app keeps serving the version it served before, and you can run the command again.
To switch several primitives atomically, or to roll back everything except the persona, promote an agent version. The per-primitive spellings lua skills deploy, lua jobs deploy, and lua webhooks deploy neither write the version back to lua.skill.yaml nor print the agent version. --ci does not stop the version picker or the confirmation; pass --set-version and --force. The type menu and the entity picker do exit 1 under --ci; pass the type and --name.
lua deploy all --force deploys the most recently created version of every skill, webhook, trigger, job, preprocessor, postprocessor, and web app (lua-cli 3.49.0 or later) listed in lua.skill.yaml, then the latest persona version, with the same per-type behavior. Items without an id or without versions are skipped with a note. Failures are summarized with Re-deploy failed items with: lua deploy all --force, and the command exits 0 either way.
The confirmation prompt states the impact, This version will be deployed to all users. Declining exits 0 with Deployment cancelled.
Arguments
Options
Examples
Deploy a specific skill version without prompts:lua push all --force:
Exit codes
See also
- Release an agent
lua version— create, promote, roll backlua push- Releases and versions

