Show HN: Hlock – an agent harness lockfile and performance resolver Union AI's open-source project hlock released an early-development Rust tool that writes a `harness.lock` file pinning an AI agent's harness, models, MCP servers, skills and config, with commands including `hlock pin`, `hlock check`, `hlock sync`, `hlock launch`, `hlock run`, `hlock pull`, `hlock add` and `hlock audit`. The tool installs via `pip install hlock` or `cargo add hlock`, ships prebuilt wheels for Linux (x86_64, aarch64), macOS (arm64, x86_64) and Windows (x64) on CPython 3.9+, and supports harnesses including Claude Code, Codex, Pi, OpenCode, Cursor and Gemini CLI. The project also includes eval packs (`hlock evals init -t coding`, plus `data`, `research` and `support`) that measure a pinned stack against a user's own tasks, and per-contributor locks stored at `.hlock/locks/harness..lock`; its maintainers warn to expect rough edges and breaking changes between releases. Pin your harness, models, MCP servers, skills, and config in a harness.lock , version it, and rehydrate it anywhere. Your agent is more than a model. It's a harness, MCP servers, skills, and config, hand-tuned on one machine. hlock is the missing harness packaging layer, written in Rust πŸ¦€: harness.lock tracks all of its dependencies, so you can commit it to git and restore it anywhere. When you're ready, it measures your stack against your own tasks and finds a better one. | You know this from package managers | In hlock | |---|---| | πŸ”’ uv.lock / Cargo.lock | harness.lock : every dependency of your harness, pinned and hashed | | πŸ“Œ pip freeze | hlock pin : record the setup you already have, and re-pin as it grows | | βœ… --locked check | hlock check : show what changed since the pin | | πŸ“¦ uv sync / npm ci | hlock sync : rehydrate the locked setup on any machine | | uv run | hlock launch and hlock run : start sessions and run prompts on the locked setup | Note hlock is in early development. Expect rough edges and breaking changes between releases. Feedback shapes where it goes next: open an issue https://github.com/unionai-oss/hlock/issues/new for bugs and feature requests, start a discussion https://github.com/unionai-oss/hlock/discussions for questions and ideas, or send a pull request. Agent-written pull requests are welcome, as long as you've reviewed and understand the change. See the contributing guide https://docs.hlock.ai/project/contributing/ to get started. pip install hlock or: uv add hlock Β· uvx hlock --help Prebuilt wheels cover Linux x86 64, aarch64 , macOS arm64, x86 64 , and Windows x64 for CPython 3.9+. For Rust, use cargo add hlock . Pin the harness you already use Claude Code, Codex, Pi, OpenCode, Cursor, Gemini CLI, and more https://docs.hlock.ai/guides/harnesses/ , then bring it back anywhere: hlock pin --user lock your setup yours in ~/.claude etc., and the project's into harness.lock git add harness.lock .hlock/ version it secrets are placeholders, never values hlock check see what changed since the pin; re-pin to lock it hlock sync on another machine: rehydrate it into .hlock/env or --in-place, --docker hlock launch start a session on the locked setup, isolated from your config hlock run "summarize README.md" or run one prompt through it claude -p, codex exec, … hlock pull github:alice/agents get someone else's pinned setup; then hlock launch --lock alice hlock add skill github:anthropics/skills/skills/pdf declare a dependency, pin it, install it hlock audit integrity, hidden characters, what it runs, policy, secrets Plain hlock pin records only the project's own skills, MCP servers and config, so your personal setup stays out of the repository; --user adds it. For your own work, hlock evals init -t coding or data , research , support writes an eval pack template plus an Agent Skill, so the agent you already use can fill it in with real tasks from your project. See Eval packs https://docs.hlock.ai/guides/eval-packs/ . See the Quickstart https://docs.hlock.ai/getting-started/quickstart/ , Pinning your setup https://docs.hlock.ai/guides/pin/ , Rehydrating with sync https://docs.hlock.ai/guides/sync/ , and Launching a locked harness https://docs.hlock.ai/guides/launch/ . Contributors to one repository rarely share an agent setup. Each person can commit their own lock to .hlock/locks/harness.