Quick installation

Before installing Ciao, please check the requirements:

  • A computing device running Linux, macOS, Windows (with WSL), or Android (with Termux).
  • A modern C compiler (gcc or clang).
  • Optionally, Emacs (required for the development environment). Graphical Emacs on WSL requires an X-server (e.g., vcxsrv).
To begin the interactive installation type the following one-liner in an sh-compatible terminal:
curl -sSfL | sh
Please report as issues any problems found during the installation process.

You can explore additional components at the bundle catalog (including links to documentation and source code repositories) and install them with the ciao get BUNDLENAME command.

Manual installation

The detailed installation instructions in the Ciao manual contain more information about non-interactive and manual installation. In a nutshell, it consists in cloning the Ciao repository:
git clone
and then executing ./ local-install to perform a core installation, or ./ get devenv to install the full environment (devenv bundle).

Notes for Windows users: Native builds for Windows are experimental, supported via MSYS2. Please contact us if you need this.

Uninstalling Ciao

If installed using a one-liner, the system must be removed from the default installation directory at ~/.ciaoroot/master. E.g., using a script like:

( cd ~/.ciaoroot/master; ./ uninstall )
rm -rf ~/.ciaoroot/master
rmdir ~/.ciaoroot > /dev/null 2>&1 || true
Bundles installed via ciao get must be uninstalled and removed explicitly. Currently, this needs to be done manually per bundle. E.g., uninstalling the development environment (if installed) requires:

ciao uninstall ciao_emacs; ciao rm ciao_emacs; ciao rm devenv
Once all bundles have been removed, the core Ciao system can be uninstalled running ./ uninstall from the source directory (then, remove the directory).