Need help with hover?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

771 Stars 75 Forks BSD 3-Clause "New" or "Revised" License 463 Commits 2 Opened issues


Hover helps developers to release Flutter applications on desktop.

Services available


Need anything else?

Contributors list

Hover - Run Flutter apps on the desktop with hot-reload

Hover is a simple build tool to create Flutter desktop applications.

Hover is brand new and under development, it should be considered alpha. Anything can break, please backup your data before using hover

Hover is part of the go-flutter project. Please report issues at the go-flutter issue tracker.


Hover uses Go to build your Flutter application to desktop. Hover itself is also written using the Go language. You will need to install go on your development machine.


go version
and make sure that your Go version is 1.13 or higher.

Then install hover by running this in your home directory:

GO111MODULE=on go get -u -a

Or windows:

set GO111MODULE=on
go get -u -a
Or for powershell:
$env:GO111MODULE="on"; go get -u -a
Make sure the hover binary is on your
(defaults are

Run the same command to update when a newer version becomes available.

Install these dependencies:

  • You need to make sure you have a C compiler.
    The recommended C compiler are documented here.

  • You need to make sure you have dependencies of GLFW:

    • On macOS, you need Xcode or Command Line Tools for Xcode (
      xcode-select --install
      ) for required headers and libraries.
    • On Ubuntu/Debian-like Linux distributions, you need
      libgl1-mesa-dev xorg-dev
    • On CentOS/Fedora-like Linux distributions, you need
      libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel mesa-libGL-devel libXi-devel
    • See here for full details.

Getting started with an existing Flutter project

This assumes you have an existing flutter project which you want to run on desktop. If you don't have a project yet, follow the flutter tutorial for setting up a new project first.

Init project for hover

cd into a flutter project.

cd projects/simpleApplication

The first time you use hover for a project, you'll need to initialize the project for use with hover. An argument can be passed to

hover init
to set the project path. This is usually the path for your project on github or a self-hosted git service. If you are unsure use
hover init
without a path. You can change the path later.
hover init

This creates the directory

and adds boilerplate files such as Go code and a default logo.

Optionally, you may add plugins to


Optionally, change the logo in
, which is used as icon for the window.

Run with hot-reload

To run the application and attach flutter for hot-reload support:

hover run

The hot-reload is manual because you'll need to press 'r' in the terminal to hot-reload the application.

By default, hover uses the file

as entrypoint. You may specify a different endpoint by using the

IDE integration


Please try the experimental Hover extension for VSCode.

If you want to manually integrate with VSCode, read this issue.


Check hover.el packge for emacs integration.

Build standalone application

To create a standalone release (JIT mode) build run this command:

hover build linux # or darwin or windows

You can create a build for any of the supported OSs using cross-compiling which needs Docker to be installed. Then run the command from above and it will do everything for you.

The output will be in

or windows or darwin.

To start the binary: (replace

with your app name)

It's possible to zip the whole dir

and ship it to a different machine.


You can package your application for different packaging formats.
First initialize the packaging format:

hover init-packaging linux-appimage

Update the configuration files located in

to your needs.
Then create a build and package it using this command:
hover build linux-appimage

The packaging output is placed in


To get a list of all available packaging formats run:

hover build --help


Hover supports different application flavors via

--flavor MY_FLAVOR
command. If you wish to create a new flavor for you application, simply copy
and modify contents as needed. If no flavor is specified, Hover will always default to
hover run --flavor develop || hover build --flavor develop
// hover-develop.yaml


Please report issues at the go-flutter issue tracker.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.