Skip to main content

Usage

This guide covers every supported Harness feature — what each one does, how to configure it, and the exact commands to drive it from the keyboard or a script.

All commands below assume the harness binary is on your $PATH and the harness daemon is running. New to Harness? Getting started walks from install to a supervised, scheduled, event-driven agent setup; the pages here are the reference behind it.

The shape of Harness

Harness is a single Go binary with two roles, modeled after systemctl:

  • harness daemon — long-lived supervisor. It owns every harness: the processes, their PTYs, daemon-side scrollback, restart policy, and state. Run it once, supervised by init.
  • harness — thin client. Open the TUI dashboard with no arguments, or run one-shot verbs (list, start, logs, ...) for scripting. A client can die at any moment without affecting a single harness.

A harness is any long-running command you want kept alive and re-attachable — an agent CLI, a REPL, a watcher, a background service.

What you can do

AreaDocs
Install & quickstartQuickstart
CLI verbs (list, start, stop, logs...)CLI reference
Configuration (harness.toml)Configuration
Scheduled agent one-shots (cron)Configuration → Scheduled one-shots
Supervision & restart policySupervision
The TUI dashboardCockpit TUI
Project-scoped compose (up / down / ps)Projects
Remote access over SSHRemote access

Where the architecture comes from

Harness's engineering decisions are recorded as Architecture Decision Records and specifications. If you want the why behind any behavior here, see Architecture Decisions and Specifications.