Skip to main content
Open HarnessGetting StartedAI InfrastructureDeveloper Guide

Getting Started with Open Harness: Choose Your Coding-Agent Workspace

Ryan EgglestonRyan Eggleston

Open Harness is an isolated, persistent Docker workspace for coding agents, maintained by Mifune. It keeps one project and its toolchain in one sandbox instead of putting project dependencies on your host. Run it locally or on a remote VM, and choose Claude Code, Codex, Pi, or another opt-in agent CLI.

This post is a concise on-ramp. It does not reproduce the full setup manual — for depth, follow the canonical docs:

Choose your path

  • Open Harness Cloud: Mifune operates the managed environment while your coding agents work in an isolated, persistent workspace. Start in the Mifune Cloud Console.
  • Open Harness Open Source: Inspect, adapt, and operate the MIT-licensed project yourself, locally or on a remote VM. The self-hosted walkthrough below follows this path.
  • Engineering support for Cloud: Cloud customers can ask Mifune engineers to help plan, implement, integrate, troubleshoot, and hand off a deployment. Explore support.

What you get

  • One project per isolated, persistent Docker workspace
  • Project toolchains kept off your host
  • Claude Code, Codex, Pi, and other opt-in agent CLIs
  • The same workspace model on a local machine or remote VM
  • Unattended or scheduled agent work and Slack reachability when configured on a VM
  • Isolated git worktrees for parallel branches and delegation

Self-hosted prerequisites

A host (Linux, macOS, or WSL2) with:

  • Docker with the Compose plugin
  • Git
  • make (build-essential)

1. Clone and own

The recommended self-hosted path is clone-and-own: clone upstream, then make it yours.

git clone https://github.com/mifunedev/openharness.git ~/.openharness
cd ~/.openharness

Generate and edit harness.yaml before you build. Set your sandbox.name, sandbox.timezone, git.user_name, and git.user_email (plus any optional installs). Secrets never go in this file — they live in .devcontainer/.env.

make harness-config
nano harness.yaml

Then build the image and open a shell inside the sandbox:

make sandbox && make shell

That's already a working sandbox.

2. Enter the sandbox

Two ways in:

  • VS Code Dev ContainersAttach to Running Container (recommended — works locally or over Remote-SSH)
  • or make shell from the terminal

3. Authenticate

The simplest cross-provider path: launch the agent, run /login, and pick device mode — you get a code and a URL that work even on a headless or remote host. Where a provider exposes a one-liner, these are equivalents:

claude auth login            # Claude Code
codex login --device-auth    # Codex

From here you have an authenticated, isolated agent sandbox. For a private-repo origin with mifunedev/openharness as upstream, Slack gateways, and the full end-to-end walkthrough, keep going in the canonical docs.


Where to go next

Continue with the Open Harness docs for private-repository remotes, optional agent CLIs, Slack setup, schedules, and worktrees.

Prefer Mifune to operate the environment? Open the Mifune Cloud Console. If your Cloud adoption needs hands-on planning, implementation, integration, troubleshooting, or handoff help, discuss engineering support.