Skip to main content

Harness UI

Harness UI is a TUI and WebUI workbench built on Harness. It is for individuals and trusted small teams working with Agents, Models, tools, Skills, and local projects. Both interfaces use one process-local HarnessUiApp; saved conversations support continuation, but active work is not a durable job queue. For managed access and worker recovery, use Service.

Install and Run

Install the published application with uv:

uv tool install a13n-harness-ui
cd your-repository
a13n-harness-ui

For WebUI, run a13n-harness-ui webui and open the printed login link. Neither installed interface requires a checkout or Node.js. If the command is not on PATH, run uv tool update-shell and reopen your shell.

Upgrade a uv-tool installation with a13n-harness-ui update or uv tool upgrade a13n-harness-ui, then restart it. Use the original package manager for other installations. For source development, run make a13n-harness-ui from the repository root; see CONTRIBUTING.md.

First Use

First launch guides you through a Model connection, model selection, and execution permissions. Setup saves editable files and opens chat; no model call occurs until you send a prompt. To rerun setup later, use a13n-harness-ui setup (outside chat). Run a13n-harness-ui setup --advanced for optional context, reasoning, shell-review, subagent, and instruction choices. To add another resource, use a13n-harness-ui add model or a13n-harness-ui add agent.

Full Control runs commands as your host account. Sandbox requires supported local isolation and never silently falls back; built-in Windows execution is Full Control only. Start with a read-only prompt if you are exploring a repository:

Explain the entry point and the relevant tests. Do not change files.

Inside chat, /help lists actions, /agent changes the complete Agent, /model selects a Model, /resume opens saved conversations, and /environment changes execution permissions. For a one-shot task (which cannot answer an interactive approval), run:

a13n-harness-ui run "Review the current diff" --format json

See the user guide, terminal workflow, and CLI command reference.

Configuration

Use a13n-harness-ui config path, then edit the selected root YAML and its sibling models/, agents/, projects/, mcp/, and extensions/ directories. The default root on Unix-like systems is ~/.a13n-harness-ui/a13n-harness-ui.yaml. An explicit --config PATH selects a separate tree; --data-root PATH selects its data store. Validate edits with a13n-harness-ui config validate. Valid edits affect subsequent Runs, not a Run already in progress. See configuration recipes and precedence.

Automatic Model Prices

The App starts with bundled prices and can update them for later Agent builds. To disable background downloads, set process.pricing_auto_update: false in the root YAML and restart. This does not alter existing usage records or provider prices. See Harness pricing.

Content Plugins

Content Plugins distribute Skills and Markdown subagents from a Git repository; they do not execute plugin Python code. Inspect and trust the source before installing it:

a13n-harness-ui plugin install /path/to/plugin-repository
a13n-harness-ui plugin list
a13n-harness-ui plugin uninstall plugin-reviewer

Uninstall deletes the installed content, including local edits. For the marketplace layout, registration and selection rules, see Skills and Content Plugins.

Built-in Configuration Skill

An Agent with the skills Capability discovers the bundled harness-ui-configuration Skill under /environment/builtin-skills/harness-ui-configuration. It contains release-matched configuration guidance and a generated documentation index; it does not grant extra permissions. The read-only mount also works in projectless and Sandbox conversations.

Source development regenerates the bundle with make a13n-harness-ui-skills after changes to docs/a13n-harness-ui/ or navigation. Generated output is not the source of truth. The build and launch targets prepare it; uv sync alone may leave an editable installation's bundle stale. See bundled Skill.

Local Store Development

Harness UI owns its SQLite schema separately from Service. Generate reviewed revisions against a disposable database from the repository root:

make a13n-harness-ui-db-migrate msg="describe the schema change"

Application startup applies committed migrations, never autogenerates against user data. Storage changes must preserve compatible readers and writes when older processes share the data root; see the storage compatibility contract.

CLI Validation

Select focused checks using Local validation. CLI tests use isolated homes and deterministic models; they need no provider account. Real Local Envd approval tests are opt-in and need a matching native binary and working isolation:

make rust-build
A13N_HARNESS_UI_TEST_SANDBOX=1 A13N_ENVD_EXECUTABLE="$PWD/target/debug/a13n-envd" \
  uv run --locked pytest packages/a13n-harness-ui/tests/test_interactive_run_control.py -k pending_shell

Dependencies

The source version is 0.0.0 with unversioned workspace dependencies. Publishable bounds live in [tool.a13n.release-dependencies]; Harness UI releases independently from Harness and Stream Protocol. Check the manifest and release policy before changing bounds.

Packaging

The wheel and sdist include the CLI, App, WebUI server, compiled WebUI assets, configuration Skill and license; installed users need no Node.js. make a13n-harness-ui-build builds the private browser frontend for release preparation. Sandbox can lazily acquire a native Envd matching the installed client version; Full Control does not need Envd. See installation.

Versioning

The release tag is release/a13n-harness-ui-v<version>. Harness UI and its container image share the application version; the frontend has no separate release. See the release policy and installation/upgrade guide. The Harness UI specification owns the architecture.

Browser UI

a13n-harness-ui webui
a13n-harness-ui webui --host 127.0.0.1 --port 9000
a13n-harness-ui webui --no-share-computer

WebUI serves shared conversations, live output, approvals, setup, configuration, and native Files/Git/terminal panels. Native computer access is enabled by default and operates as the server account, independently of Agent permissions; disable it with --no-share-computer. Participants share instance authority rather than separate authenticated identities. Keep the server running for active work. For access-key options and browser workflows, see Use WebUI; for integration, see the HTTP API.

Docker

The development image packages the same WebUI. The default container command exposes the container account's files, terminals, and mounted paths; select --no-share-computer if that is not wanted.

docker compose -f deploy/docker/compose/a13n-harness-ui.yaml up -d
docker compose -f deploy/docker/compose/a13n-harness-ui.yaml logs harness-ui

The Compose file uses persistent configuration, data, and work volumes. Bind-mounted directories must be writable by UID/GID 10001:10001. Keep startup output private (it may contain a generated login link) and do not run down --volumes to preserve data. See the distribution specification for image build and deployment details.

Windows Local Execution

Built-in Windows execution supports Full Control, not Sandbox. Explicit Sandbox selection fails rather than running with host authority; custom and remote Providers have their own requirements. See execution permissions.

Source Environment Troubleshooting

After switching source branches, run make sync or make a13n-harness-ui to use the checkout's locked dependencies. Installed users should upgrade through the package manager that owns their installation.

TUI defaults

Startup can offer an update; it does not install one without confirmation. Use --no-update-check or process.terminal_update_check: false to disable the check. Run a13n-harness-ui update to request an immediate upgrade. For TUI controls, diagnostics, and recovery, see Use the TUI and Troubleshooting.

Metadata

Release files for a13n-harness-ui 0.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for a13n-harness-ui 0.8.1
File Size Uploaded
a13n_harness_ui-0.8.1.tar.gz 3.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for a13n-harness-ui 0.8.1
File Interpreter ABI Platform
a13n_harness_ui-0.8.1-py3-none-any.whl Python 3 none any Details

Total release size: 6.8 MB

Release files / a13n_harness_ui-0.8.1.tar.gz

Download URL a13n_harness_ui-0.8.1.tar.gz
Size 3.3 MB
Tags Source
SHA-256 checksum
How to use checksums
a28e32a5666d2a3ebec47223f157a39b6ee0e9795921734c1264ea6ec713bfcb
BLAKE2b-256 checksum
How to use checksums
c0e66e387d65d09235c880607ed5d566c510e5cfb8ac29af7dcfe70753c8f237
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / a13n_harness_ui-0.8.1-py3-none-any.whl

Download URL a13n_harness_ui-0.8.1-py3-none-any.whl
Size 3.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e2b99818061f0b1cf3b7fcea56afa7a864ce5b0b9b7dbd83f7ba090321f97046
BLAKE2b-256 checksum
How to use checksums
d4a1a2e7f18c07e462966641dce5b8e3b5f43c904a91b86bffd51a413a5e4138
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.2

2 release files

This release

0.8.1 This release

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.44

2 release files

0.0.43

2 release files

0.0.42

2 release files

0.0.41

2 release files

0.0.40

2 release files

0.0.39

2 release files

0.0.38

2 release files

0.0.37

2 release files

0.0.36

2 release files

0.0.35

2 release files

0.0.34

2 release files

0.0.33

2 release files

0.0.32

2 release files

0.0.31

2 release files

0.0.30

2 release files

0.0.29

2 release files

0.0.28

2 release files

0.0.27

2 release files

0.0.26

2 release files

0.0.25

2 release files

0.0.24

2 release files

0.0.23

2 release files

0.0.22

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.18

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page