First Go Workflow
A Go workflow bundle is a small package main Go program that harnessd discovers, compiles, and runs on demand. You write a function, drop it in a directory, and the harness does the rest: it builds a standalone binary from your source, wires up a JSON protocol over stdin/stdout, and exposes the whole thing through the /v1/script-workflows HTTP API.
Sandboxes (local/worktree/container/vm)
A workspace is the isolated execution environment in which an agent run operates. It combines a filesystem directory, a reachable harnessd HTTP endpoint, and optional git state. Choosing the right workspace backend determines how much isolation a run gets, what it costs to provision, and what side-effects it can leave behind.
Connect to Slack
The Slack integration lets you point a Slack app's Event API webhook at your running harnessd instance. When Slack sends an eventcallback (such as an appmention or a message in a channel), the server verifies the request signature, maps the event to a persistent conversation thread, and steers an existing agent run with the message text. This gives you a Slack-native interface to your agents without writing any glue code beyond a single environment variable.
Build into a Hono Server
This tutorial shows you how to build a Hono TypeScript server that delegates AI work to a running harnessd instance. You will add two routes:
Use as a Library
Go developers often want to embed an agent harness directly in their own project rather than running a separate service. This tutorial walks through the two legitimate ways to do that with go-code, explains what each pattern is good for, and is honest about the boundary you cannot cross.
Scheduled Agent (Cron)
The go-code harness includes a built-in cron system that lets you fire shell commands — or full agent runs — on a recurring schedule. Use it to run nightly evals, periodic code-health checks, automated report generation, or anything else that should happen on a schedule without human intervention.
Claude Desktop via MCP
The harness-mcp proxy is a small binary that lets Claude Desktop talk to a running harnessd instance. Once registered, Claude Desktop can start agent runs, check their status, wait for completion, continue conversations, and list recent runs — all without leaving the chat interface.