First use
The first time you open the HarmFlow app after installing it, it walks you through first use before it shows anything else. First use has five steps, under the title Welcome to HarmFlow and a line such as Step 1 of 5. Next goes on to the following step, and Back, from the second step on, returns to the one before.
Step 1: Everything runs on this computer
The first step says how HarmFlow works: it schedules, runs, and monitors automations carried out by the AI tools you already installed, Claude Code and Codex, and it never installs or updates them. Four points follow:
- Tasks, state, and logs stay on your Mac.
- Each task declares what its session may touch. HarmFlow applies it through the AI tool's own controls, and warns when a restriction can't be enforced.
- GitHub work uses your own
ghand Git sign-in, and the built-in issue implementer never merges a pull request. - The dashboard talks to the daemon over an authenticated local API.
Step 2: AI tools and command-line tools found
The second step lists what HarmFlow found on your Mac, one row each:
- Claude Code and Codex, the AI tools. A tool HarmFlow found shows its version and its path, and is marked with its readiness, such as Ready when a task can run on it, or Not ready when something stops it, such as a sign-in it lacks. A tool it did not find reads Not detected and is marked Not installed. While a tool's first check runs, its row reads Checking….
- Git and GitHub CLI (gh), the command-line tools. Each shows its version
and its path, or Not detected. A tool found is marked Detected, and
gh, when HarmFlow can tell whether it is signed in, Authenticated or Not authenticated.
You can change an AI tool's path later, in Settings. The list never shows a credential.
The list comes from the daemon, the background process that fires schedules and runs tasks. When the daemon is not running, the step says The daemon is not running yet. instead of the list, with a Start the daemon now button. Press it: once the daemon runs, the list fills in and the button goes away. Starting the daemon by hand has a section of its own in this guide.
Step 3: The daemon
The third step says whether the daemon runs, The daemon is running. or The daemon is not running yet., with the same Start the daemon now button while it does not. It runs schedules and tasks with or without the app's window open.
The step also offers Start the daemon automatically with the system. The option is unchecked: the daemon starts with your Mac only if you check it, and you can change it later in Settings. Your choice is saved when you finish first use on its last step, with the daemon running.
Step 4: Your first task
The fourth step offers two ways to a first task, while the daemon runs:
- A template. The step shows the three templates HarmFlow comes with, each named and described: General task, Implement GitHub issues, and Script task. Picking one opens the editor of a new task made from it, on the Tasks screen. Creating a task from a template has a section of its own in this guide.
- An import. Import opens the dialog that imports a task file exported from another machine, as Exporting and importing a task explains.
Once you save the new task, or import one, first use comes back on its last step. If you leave the editor or the dialog without saving or importing, it comes back on this step. Later goes to the last step with no first task.
Step 5: All set
The last step says that live executions are the app's main screen: every running execution, its events, and the queue. Its button is Go to live executions.
With the daemon running, the button ends first use: HarmFlow records it as done, saves your choice of starting the daemon with the system, and opens the Executions screen. There, the active executions are listed beside the Execution queue, where a first task with a schedule is shown with its next run. First use does not come back after that.
With the daemon not running, the button saves nothing. The app shows that the daemon is not running, with a button to start it, and first use shows again the next time you open the app.
Picking a template or importing a task never ends first use: only this button does.