WTF (aka ‘wtfutil’) is a free and open-source personal information dashboard for your terminal, providing at-a-glance access to your very important but infrequently-needed stats and data. Some of the stats that wtfutil provides include your OpsGenie schedules, Google Calendar, Git and GitHub repositories, and New Relic deployments. You can also be able to see who’s away in BambooHR, which Jira tickets are assigned to you, what time it is in France, and dozens more.

What makes all this possible is modules which are the heart of WTF. A module is a discrete unit of functionality that extracts data from some source and packages that data for display. For example, the New Relic module uses New Relic’s API to retrieve a list of the latest deployments and packages that information as a list for display in the “New Relic” widget. For your information, WTF comes with over 50 easily-configurable built-in modules. See below for just a few of them.

  • Jenkins
  • Jira
  • Kubernetes
  • Docker
  • Git
  • GitHub
  • GitLab
  • Mercurial
  • New Relic
  • OpsGenie
  • Pagerdut
  • Azure DevOps
  • BambooHR
  • CircleCI
  • Transmission
  • CmdRunner
  • Crypto Currencies
  • Datadog
  • DEV (
  • DigitalOcean

To utilize this tool, let us go ahead and install it so that we can explore what it can do for us.

Installing as Binary

WTFutil can be installed from the binary files. To get it setup this way, download the latest binary from their GitHub releases space. You must have wget or curl installed in case you do not have one.

Install curl command line tool:

#####Install curl on Ubuntu/Debian#####
sudo apt install curl -y

#####Install curl CentOS#####
sudo yum install curl -y

Fetch latest wtfutil binary file:

curl -s|grep browser_download_url|grep linux_amd64|cut -d '"' -f 4|wget -i  -

Extract the file downloaded:

tar xvzf wtf_*_linux_amd64.tar.gz

TMove to /usr/local/bin/ and rename

sudo mv wtf_*_linux_amd64/wtfutil /usr/local/bin/

Make the files executable:

sudo chmod a+x /usr/local/bin/wtfutil

You can then launch wtfutil:

$ wtfutil

And you should see a terminal dashboard as shown below:

wtfutil first docker run 2

Running via Docker

In case you are a container fanatic, there is an option for you to run wtfutil inside a docker container as follows:

Download or create a Dockerfile:

curl -o Dockerfile

The Dockerfile contents looks like below.

FROM golang:1.13-alpine as build
ARG version=master
RUN apk add git make ncurses && \
    git clone $GOPATH/src/ && \
    cd $GOPATH/src/ && \
    git checkout $version


RUN make build
FROM alpine

COPY --from=build /go/src/ /usr/local/bin/
RUN adduser -h /config -DG users -u 20000 wtf

USER wtf
ENTRYPOINT ["wtfutil"]

Build the docker container. This will take some time to complete:

$ docker build -t wtfutil .

If you are interested in a particular tag or branch:

$ docker build --build-arg=version=v0.25.0 -t wtfutil . 

After the build is done, you can run the container:

$ docker run -it wtfutil

To run the container with a local config file use the following command.

$ docker run -it -v path/to/config.yml:/config/config.yml wtfutil --config=/config/config.yml

When you first run the container, you should see a rudimentary terminal dashboard as shown below:

wtfutil first docker run 2

Installation on macOS

On macOS you can use Homebrew, MacPorts or Binary method:

brew tap wtfutil/wtfutil
brew install wtfutil

sudo port selfupdate
sudo port install wtfutil

Configuration of wtfutil

WTF configuration files are located in $HOME/.config/wtf/config.yml. In the file, you can change a lot of settings depending on what you wish to achieve.

Adding modules

In order to add modules, all you need to do is to edit $HOME/.config/wtf/config.yml file by adding the various modules that you can find in wtfutils’ documentation. As an example, in order to add the Docker module, we will add its configuration to the bottom of the file under “mods:” as follows:

$ vim $HOME/.config/wtf/config.yml

      args: [""]
      cmd: "uptime"
      enabled: true
        top: 3
        left: 1
        height: 1
        width: 2
      refreshInterval: 30
      type: cmdrunner
      type: docker
      enabled: true
      labelColor: lightblue
        top: 0
        left: 0
        height: 3
        width: 3
      refreshInterval: 1

The configuration file is yaml, so make sure the spacing is done accordingly. Launching wtfutil again should show you Docker related settings and configuration details as shown on the screenshot below:

wtfutil docker configs added 1


wtfutil is a highly extensible. All you need are the API details for most of the modules that it supports and an addition of their respective configurations in the config.yml file. You can check your Azure DevOps details, Kubernetes or your BambooHR details and much more from that one interface. For more information about wtfutil including all of the modules that it supports, look at the documentation shared below:

Get the latest release of wtfutil at the official releases GitHub page.

Similar guides:

Connect To VPN Server with Cisco AnyConnect from Linux Terminal

Install Windows Terminal on Windows 10 | Server

Install Bashtop – Terminal Resource Monitor for Linux | macOS | FreeBSD

Your support is our everlasting motivation,
that cup of coffee is what keeps us going!

As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.

Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.


Please enter your comment!
Please enter your name here