LongHorizon-Harness
A loop-engineering system that lets Claude Code, Codex, OpenCode, and DeepSeek Harness agents run for hours across desktop apps and the CLI with verified progress.
- Source repo
- AMAP-ML/LongHorizon-Harness
- Stars
- ★ 1.8k
- Last updated
- 1mo ago
- License
- MIT
- Primary language
- Python
- FA score
- 66/100 · Some gaps
At a glance
- How it runs
- Works with
- Platform-specificCodex · Claude Code
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- Developers automating complex long-horizon tasks across desktop apps and terminal, e.g., starting in a browser, processing data in CLI, then producing a document in desktop software.
- Not a fit if
- Teams needing reliable Windows support; Windows is not thoroughly tested
- Users unwilling to pay API costs for external runtimes like Claude Code or Codex
- Source review
- 66/100 · Some gaps
What does this agent do, and when should you use it?
LongHorizon-Harness is a loop-engineering system that turns existing agents into long-running computer-use systems. It engineers a durable execution loop around the agent, ensuring tasks complete through a cycle of planning, acting, verifying, checkpoints, and recovery. The system supports multiple agent backends including Claude Code, Codex CLI, OpenCode, and DeepSeek Harness (CLI phase), and allows assigning different models and backends per role. It offers a web workbench and CLI, supports GUI and CLI tasks, and ensures progress is trackable and recoverable through verified state. LongHorizon-Harness has been benchmarked on hundreds of tasks across WeaveBench, OSWorld 2.0, and Terminal-Bench 2.1, showing significant gains in task completion.
LongHorizon-Harness takes a goal and turns the remaining work into bounded steps. In each round, the Manager role rebuilds the next step from the original goal, verified progress, and failure evidence; the Executor role performs the step in a fresh context; the Auditor role independently verifies the result by checking actual files, UI, logs, and tests. Verified progress is checkpointed, while failures are recorded as evidence for recovery. It runs tasks via the lh-harness run CLI or the lh-harness web browser workbench, with options like --agent for backend selection and configurable agent, model, max_rounds, etc. Run outputs are stored under ./.lh-harness/runs/<run-id>/, including trajectories, audit reports, and a final plain-language reply.
- Developers automating complex long-horizon tasks across desktop apps and terminal, e.g., starting in a browser, processing data in CLI, then producing a document in desktop software.
- QA engineers who need independent verification of agent actions, using the Auditor role to ensure progress is reliable.
- Organizations that want to mix models and backends per role to balance quality and cost, e.g., strong model for planning and audit, cheaper for execution.
- Researchers wishing to reproduce benchmark results on long-horizon agent tasks; the repo provides frozen reproduction suites under
eval/. - Teams needing recoverable progress for long-running agents, leveraging checkpoints to continue after context refresh or failures.
How do you install or deploy this agent?
Ensure Python 3.10+ and at least one agent runtime on PATH: codex, claude, opencode, or dsh. Install via uv tool install lh-harness or pip install lh-harness. For GUI support, install a computer-use plugin: lh-harness plugin install codex-computer-use (Codex) or open-computer-use (Claude Code or both); requires Node.js 20+. Then run lh-harness init in your project to generate a config.
How do you use this agent?
From the command line, run a task in your project directory, e.g., lh-harness run --task "Inspect the current directory and summarize its files." --agent codex. Alternatively, launch the browser workbench with lh-harness web --workspace-root . and create tasks there. Progress is shown in the console; the final report is saved to ./.lh-harness/runs/<run-id>/logs/report.json. Run lh-harness doctor to verify the environment and lh-harness plugin list to manage plugins.
What are this agent's strengths and limitations?
- Multi-backend support (Claude Code, Codex, OpenCode, DeepSeek Harness) with per-role configurability.
- Robust verification and checkpointing: only independently verified progress becomes task state, and failures are recoverable.
- Significant performance gains on benchmarks (e.g., 3× completion on OSWorld 2.0).
- Currently only fully tested on macOS; Windows support not thoroughly validated.
- Depends on external agent runtimes like Claude Code or Codex, potentially incurring API costs.
- GUI plugins require manual permission grants, e.g., Accessibility and Screen Recording on macOS.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| LongHorizon-Harness This agent | 66 · Some gaps | CLIFree + model costs | ★ 1.8k | 1mo ago | Python | Codex · Claude Code |
| HUD | 63 · Some gaps | CLIFree + model costs | ★ 314 | 3d ago | Python | OpenAI API · Claude API |
| OSpec | 50 · Major gaps | CLIFree + model costs | ★ 396 | 1mo ago | JavaScript | Codex · Claude Code |
| Open Interpreter | 45 · Major gaps | CLIFree + model costs | ★ 69k | 8d ago | Rust | Codex |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows: role isolation (Manager/Executor/Auditor) and permission levels (read-only vs workspace-write) are clearly described in README and implemented via configuration. User confirmation mechanism exists (Dashboard approvals). Data flow transparency: README explains task state, log storage locations, and that API keys are not written to config files. Sensitive data handling: API keys passed via environment variables, not persisted. Dependency security: dependency list is simple, and CI checks lockfile source. External effects: requires user-granted OS permissions, and plugins are not enabled by default. Rollback: checkpoint and recovery mechanisms exist. Source attribution: MIT license, but publisher unverified. Deductions: static review cannot verify actual execution, and some security claims (e.g., role isolation) rely on documentation assertions without code-level evidence.
Evidence shows: README is consistent, configuration reference is detailed, role resolution chain is clear. Dependency availability: dependency list is explicit, and CI build verifies. Failure messages: doctor command provides diagnostics, error handling has test coverage. Deductions: static review cannot verify runtime reliability, and some failure scenarios (e.g., VM exec failure) are only tested at unit level.
Evidence shows: target users are clear (developers), scenarios cover GUI/CLI/mixed. Capability boundaries: supports multiple backends and models, but explicitly states DeepSeek Harness is preview with limited features. Trigger precision: precise control via CLI arguments and config files. Environment fit: supports macOS (tested) and Windows (not thoroughly tested), with doctor checks. Deductions: environment fit claims are based on documentation, no cross-platform test evidence.
Evidence shows: README structure is clear, with table of contents and configuration reference. Install notes are detailed, including dependencies and steps. Naming stability: version numbers are clear, changelog exists (News section). Examples and FAQ: quick start and configuration examples provided. Known limitations: platform status and DeepSeek limitations explicitly stated. License: MIT. Versioning: version numbers and changelog present. Maintenance responsibility: publisher unverified, but GitHub Actions show release process. Deductions: publisher identity unverified, and some documentation (e.g., FAQ) is missing.
Evidence shows: output usability: reports and replies provided. Marginal value: claims significant benchmark improvements. Cost-benefit: supports different model combinations to balance cost. Deductions: performance claims are self-reported, static review cannot verify.
Evidence shows: README performance data has specific numbers and benchmark names, but no raw data or reproduction methods. Cross-source corroboration: arXiv link and Hugging Face ranking present, but no independent verification. Fact-inference separation: README distinguishes facts (version updates) from inferences (performance improvements). Deductions: performance claims lack reproducible experimental details, and arXiv link may be unreliable (date anomaly).
- Publisher identity is unverified; treat claims with caution.
- Performance improvement claims are self-reported and lack independent reproduction.
- Static review cannot verify runtime security and reliability.
- DeepSeek Harness integration is in preview with limited features.
- Windows support is not thoroughly tested.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
What's Changed * fix(tests): skip web-bundle assertion when the frontend is not built by @rajathpi in https://github.com/AMAP-ML/LongHorizon-Harness/pull/31 * fix(webapi): require loopback Host, JSON Content-Type, and a body cap by @SashaMIT in https://github.com/AMAP-ML/LongHorizon-Harness/pull/11 * Harden Web API control request boundaries by @Upper9527 in https://github.com/AMAP-ML/LongHorizon-Harness/pull/47 * Fix stopped-run status and trajectory duplication by @Upper9527 in https://github.com/AMAP-ML/LongHorizon-Harness/pull/48 …View on GitHub ↗ -
Release notes excerpt
What's Changed * Add DeepSeek Harness support by @lerogo in https://github.com/AMAP-ML/LongHorizon-Harness/pull/35 * Fix dashboard static asset MIME types on Windows by @wang-kaopu in https://github.com/AMAP-ML/LongHorizon-Harness/pull/43 * Add Opencode agent support by @izaart95-jpg in https://github.com/AMAP-ML/LongHorizon-Harness/pull/41 * Prevent dashboard FD double-close by @Upper9527 in https://github.com/AMAP-ML/LongHorizon-Harness/pull/45 * Preserve completed rounds in crash reports by @Upper9527 in https://github.com/AMAP-ML/LongHorizon-Harness/pull/46 New Contributors …View on GitHub ↗ -
Release notes excerpt
What's Changed * Released a new version with a more user-friendly dashboard. by @lerogo in https://github.com/AMAP-ML/LongHorizon-Harness/pull/22 * fix npm error by @lerogo in https://github.com/AMAP-ML/LongHorizon-Harness/pull/23 * fix test error (httpx) by @lerogo in https://github.com/AMAP-ML/LongHorizon-Harness/pull/24 * Update the README file by @lerogo in https://github.com/AMAP-ML/LongHorizon-Harness/pull/25 * update the readme file by @lerogo in https://github.com/AMAP-ML/LongHorizon-Harness/pull/26 …View on GitHub ↗