ansible-console - REPL console for executing Ansible tasks.



ansible-console − REPL console for executing Ansible tasks.


usage: ansible−console [−h] [−−version] [−v] [−b]

[−−become−method BECOME_METHOD] [−−become−user BECOME_USER] [−K | −−become−password−file BECOME_PASSWORD_FILE] [−i INVENTORY] [−−list−hosts] [−l SUBSET] [−−private−key PRIVATE_KEY_FILE] [−u REMOTE_USER] [−c CONNECTION] [−T TIMEOUT] [−−ssh−common−args SSH_COMMON_ARGS] [−−sftp−extra−args SFTP_EXTRA_ARGS] [−−scp−extra−args SCP_EXTRA_ARGS] [−−ssh−extra−args SSH_EXTRA_ARGS] [−k | −−connection−password−file CONNECTION_PASSWORD_FILE] [−C] [−D] [−−vault−id VAULT_IDS] [−J | −−vault−password−file VAULT_PASSWORD_FILES] [−f FORKS] [−M MODULE_PATH] [−−playbook−dir BASEDIR] [−e EXTRA_VARS] [−−task−timeout TASK_TIMEOUT] [−−step] [pattern]


A REPL that allows for running ad−hoc tasks against a chosen inventory from a nice shell with built−in tab completion (based on dominis' ansible−shell).

It supports several commands, and you can modify its configuration at runtime:

cd [pattern]: change host/group (you can use host patterns eg.: app*.dc*:!app01*)

list: list available hosts in the current path

list groups: list groups included in the current path

become: toggle the become flag

!: forces shell module instead of the ansible module (!yum update −y)

verbosity [num]: set the verbosity level

forks [num]: set the number of forks

become_user [user]: set the become_user

remote_user [user]: set the remote_user

become_method [method]: set the privilege escalation method

check [bool]: toggle check mode

diff [bool]: toggle diff mode

timeout [integer]: set the timeout of tasks in seconds (0 to disable)

help [command/module]: display documentation for the command or module

exit: exit ansible−console


host pattern

−−become−method 'BECOME_METHOD'

privilege escalation method to use (default=sudo), use ansible−doc −t become −l to list valid choices.

−−become−password−file 'BECOME_PASSWORD_FILE', −−become−pass−file 'BECOME_PASSWORD_FILE'

Become password file

−−become−user 'BECOME_USER'

run operations as this user (default=root)

−−connection−password−file 'CONNECTION_PASSWORD_FILE', −−conn−pass−file 'CONNECTION_PASSWORD_FILE'

Connection password file


outputs a list of matching hosts; does not execute anything else

−−playbook−dir 'BASEDIR'

Since this tool does not use playbooks, use this as a substitute playbook directory. This sets the relative path for many features including roles/ group_vars/ etc.

−−private−key 'PRIVATE_KEY_FILE', −−key−file 'PRIVATE_KEY_FILE'

use this file to authenticate the connection

−−scp−extra−args 'SCP_EXTRA_ARGS'

specify extra arguments to pass to scp only (e.g. −l)

−−sftp−extra−args 'SFTP_EXTRA_ARGS'

specify extra arguments to pass to sftp only (e.g. −f, −l)

−−ssh−common−args 'SSH_COMMON_ARGS'

specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand)

−−ssh−extra−args 'SSH_EXTRA_ARGS'

specify extra arguments to pass to ssh only (e.g. −R)


one−step−at−a−time: confirm each task before running

−−task−timeout 'TASK_TIMEOUT'

set task timeout limit in seconds, must be positive integer.


the vault identity to use. This argument may be specified multiple times.

−−vault−password−file, −−vault−pass−file

vault password file


show program's version number, config file location, configured module search path, module location, executable location and exit

−C, −−check

don't make any changes; instead, try to predict some of the changes that may occur

−D, −−diff

when changing (small) files and templates, show the differences in those files; works great with −−check

−J, −−ask−vault−password, −−ask−vault−pass

ask for vault password

−K, −−ask−become−pass

ask for privilege escalation password

−M, −−module−path

prepend colon−separated path(s) to module library (default={{ ANSIBLE_HOME ˜ "/plugins/modules:/usr/share/ansible/plugins/modules" }}). This argument may be specified multiple times.

−T 'TIMEOUT', −−timeout 'TIMEOUT'

override the connection timeout in seconds (default depends on connection)

−b, −−become

run operations with become (does not imply password prompting)

−c 'CONNECTION', −−connection 'CONNECTION'

connection type to use (default=ssh)

−e, −−extra−vars

set additional variables as key=value or YAML/JSON, if filename prepend with @. This argument may be specified multiple times.

−f 'FORKS', −−forks 'FORKS'

specify number of parallel processes to use (default=5)

−h, −−help

show this help message and exit

−i, −−inventory, −−inventory−file

specify inventory host path or comma separated host list. −−inventory−file is deprecated. This argument may be specified multiple times.

−k, −−ask−pass

ask for connection password

−l 'SUBSET', −−limit 'SUBSET'

further limit selected hosts to an additional pattern


connect as this user (default=None)

−v, −−verbose

Causes Ansible to print more debug messages. Adding multiple −v will increase the verbosity, the builtin plugins currently evaluate up to −vvvvvv. A reasonable level to start is −vvv, connection debugging might require −vvvv. This argument may be specified multiple times.



A name of a group in the inventory, a shell−like glob selecting hosts in inventory or any combination of the two separated by commas.


Ansible stores the hosts it can potentially operate on in an inventory. This can be an YAML file, ini−like file, a script, directory, list, etc. For additional options, see the documentation on


The following environment variables may be specified.

ANSIBLE_INVENTORY −− Override the default ansible inventory sources

ANSIBLE_LIBRARY −− Override the default ansible module library path

ANSIBLE_CONFIG −− Specify override location for the ansible config file

Many more are available for most options in ansible.cfg

For a full list check or use the ansible−config command.


/etc/ansible/hosts −− Default inventory file

/etc/ansible/ansible.cfg −− Config file, used if present

˜/.ansible.cfg −− User config file, overrides the default config if present

./ansible.cfg −− Local config file (in current working directory) assumed to be 'project specific' and overrides the rest if present.

As mentioned above, the ANSIBLE_CONFIG environment variable will override all others.


Ansible was originally written by Michael DeHaan.


Copyright © 2018 Red Hat, Inc | Ansible. Ansible is released under the terms of the GPLv3 license.


ansible (1), ansible−config (1), ansible−doc (1), ansible−galaxy (1), ansible−inventory (1), ansible−playbook (1), ansible−pull (1), ansible−vault (1)

Extensive documentation is available in the documentation site: <->. IRC and mailing list info can be found in file, available in: <->

Updated 2024-01-29 - |