Updated for 2026: this cheat sheet was written for Ansible Tower and its tower-cli. Tower is now Red Hat Ansible Automation Platform (AAP) 2.x, tower-cli is retired, and the official command-line client is awx — the same CLI that ships with the open-source AWX project. The shape of the tool is familiar, but resource names are now plural (awx users, not awx user) and export/import replaced receive/send. Everything below is the modern equivalent.
Install and connect
$ pip install awxkit # provides the awx command # Point it at your controller (or set these in ~/.awx.cfg / environment) $ export CONTROLLER_HOST=https://controller.example.local $ export CONTROLLER_USERNAME=admin $ export CONTROLLER_PASSWORD='********' # or CONTROLLER_OAUTH_TOKEN for token auth $ awx me # sanity check: prints your own user object
Users
# List all users
$ awx users list
# List all non-superusers
$ awx users list --is_superuser=false
# Get one user, by ID or by username
$ awx users get 42
$ awx users get --username guido
# Create a user
$ awx users create --username guido --first_name Guido
--last_name "Van Rossum" --email guido@python.org --password '********'
# Modify a user (lookups work by ID or unique field)
$ awx users modify 42 --first_name Guido
$ awx users modify --username guido --first_name Guido
# Delete a user
$ awx users delete 42
Jobs and templates
# List jobs, filtered and paged $ awx jobs list $ awx jobs list --status running $ awx jobs list --page 2 # Launch a job from a template, and watch it run $ awx job_templates launch 144 $ awx job_templates launch 144 --monitor # Monitor an existing job $ awx jobs monitor 95 # Ad-hoc command against an inventory $ awx ad_hoc_commands launch --inventory 12 --module_name ping
Export / import (replaces receive / send)
# Export everything to JSON $ awx export > assets.json # Export one resource type $ awx export --credentials all $ awx export --job_templates all # Import from a JSON file $ awx import < assets.json # Copy all assets from one controller to another $ awx --conf.host https://tower1.example.local export | awx --conf.host https://tower2.example.local import
Authentication
# Create an OAuth2 token and use it for subsequent calls $ awx login # prompts for credentials, stores a token # Or skip stored credentials entirely and pass a token per session $ export CONTROLLER_OAUTH_TOKEN='<token>'
Help
$ awx --help # every resource $ awx users --help # one resource $ awx users create --help # one action, with all its fields
The resource list mirrors the API — organizations, inventories, credentials, credential_types, projects, job_templates, workflow_job_templates, schedules, instances, and more. If you can see it in the controller UI, awx can script it.
tower-cli → awx, at a glance
tower-cli user list→awx users list(singular → plural)tower-cli job launch --job-template=144→awx job_templates launch 144tower-cli receive --all→awx exporttower-cli send assets.json→awx import < assets.json--tower-host→--conf.hostorCONTROLLER_HOST
Running your own server? These guides assume you have a Linux box somewhere — see our guide to choosing a VPS in 2026 for the 7 specs that actually matter before you spin one up.
