Skip to main content

type

The step type field selects how Atmos executes or renders a step. Step types expose the building blocks that power the Atmos CLI itself — command execution, interactive prompts, and rich terminal UI — so you can assemble custom commands and workflows from the same primitives Atmos uses internally. Step types are values of steps[].type; they are not sibling YAML sections.

steps:
- name: prompt
type: input
prompt: Enter deployment message

Command Types

TypePurposePrimary fields
atmosRun an Atmos CLI command. This is the default for command steps.command, stack, identity
shellRun a shell command or script.command, working_directory, env, tty, interactive
execReplace the Atmos process with another executable. Must be the final step.command
containerBuild, push, run, or inspect containers.action, build, push, run, inspect

Interactive Types

TypePurposePrimary fields
inputPrompt for single-line text.prompt, placeholder, default, password
confirmPrompt for yes/no confirmation.prompt, default
chooseSelect one option.prompt, options, default
filterFilter and select options, optionally multiple.prompt, options, multiple, limit
fileSelect a file.prompt, path, extensions
writeCapture multi-line text.prompt, placeholder, height

UI and Output Types

TypePurposePrimary fields
toastDisplay a themed status message.content, level
markdownRender Markdown content.content
spinDisplay a spinner while running a command.title, command, timeout
tableDisplay tabular data.title, columns, data
pagerDisplay content in a pager.title, content, path, markdown
formatRender a Go template string.content
joinJoin strings.options, separator, content
styleApply terminal styling.content, foreground, background, border, padding
logEmit a structured log message.level, content, fields

Terminal and Control Types

TypePurposePrimary fields
alertRing the terminal bell and optionally print a message.content
titleSet or restore the terminal title.content
clearClear the current terminal line.none
linebreakPrint blank lines.count
stagePrint the current workflow stage position.title
sleepPause workflow execution.timeout
envSet variables for subsequent workflow steps.vars
exitExit the workflow immediately.code, content

Use type-specific fields on the same step object:

steps:
- name: environments
type: table
title: Available Environments
columns:
- name
- region
data:
- name: dev
region: us-east-1