Show HN: Harness – Manage parallel Claude Code agents across Git worktrees

hackernews | | 📰 뉴스
#claude #오픈소스
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

애플 실리콘과 인텔 맥을 모두 지원하는 ‘하니스(Harness)’가 출시되어, 사용자가 여러 개의 클로드 코드 에이전트를 동시에 관리할 수 있게 되었습니다. 이 도구는 기존의 원격 UI보다 개선된 사용자 경험을 제공하며, 코드 로컬 테스트나 쇼핑 목록 작성 등 다양한 업무 효율을 높이는 데 활용될 수 있습니다. 사용자는 해당 웹사이트에서 최신 버전의 .dmg 파일을 다운로드하여 애플리케이션 폴더에 설치하면 됩니다.

본문

Run ten Claudes at once without losing your mind. Ship more, faster, with every session at your fingertips. | Control your agents from your phone. Guaranteed to be better than Claude's shitty remote UI. | Give agents control of your browser. Useful for testing your code locally, or just ordering groceries. | → Visit harness.mikelyons.org for screenshots, feature walkthroughs, and release notes. Grab the latest release from the releases page. - Apple Silicon (M1/M2/M3/M4): Harness-2.6.0-arm64.dmg - Intel Mac: Harness-2.6.0.dmg - Download the .dmg for your Mac architecture from the links above. - Open the .dmg and drag Harness into your Applications folder. - Launch Harness from Applications. The app is signed and notarized, so it should open without any Gatekeeper warnings. - On first launch: - Pick a git repository when prompted. - Click the ⚙ gear icon in the sidebar and paste a GitHub personal access token (fine-grained or classic, with repo scope). This is optional but required for the PR status panel and checks. - When the hooks consent banner appears, click Enable so Harness can install status-tracking hooks globally at ~/.claude/settings.json . One install covers every worktree and is what makes the sidebar status dots reliable. Curious what the hook actually runs? Seesrc/main/hooks.ts (the bash command built bymakeHookCommand — it appends one line of JSON per event to/tmp/harness-status/.ndjson ) andsrc/main/agents/claude.ts (where the install/uninstall logic lives). - macOS (Apple Silicon or Intel) claude CLI installed and on your login shell'sPATH git installed (preinstalled on macOS via Xcode Command Line Tools) Harness makes outbound network calls to two places: api.github.com (for PR status, check runs, and review state on worktrees that have an open PR) and this project's own GitHub releases feed (for auto-updates via electron-updater ). If you have the gh CLI installed and authenticated, Harness will optionally pick up your token from it instead of requiring you to paste a PAT. The optional remote-control WebSocket transport (used by the web client) is off by default, bearer-token-authed, and bound to 127.0.0.1 when enabled; opting in to LAN access (binding to 0.0.0.0 ) is a separate explicit config flag. - Remove the Claude Code hooks (do this while Harness is still running). Open Settings → Agent → Status hooks and click Remove hooks. This strips Harness's entries from ~/.claude/settings.json and leaves any user-authored hooks intact. - Quit Harness with ⌘Q. - Delete the app: rm -rf /Applications/Harness.app (or drag it to the Trash.) - Remove app data (optional, for a fully clean uninstall): rm -rf ~/Library/Application\ Support/Harness rm -rf ~/Library/Preferences/org.mikelyons.harness.plist rm -rf ~/Library/Saved\ Application\ State/org.mikelyons.harness.savedState rm -rf ~/Library/Caches/org.mikelyons.harness rm -rf ~/Library/Logs/Harness - If you skipped step 1 and already deleted the app, you can remove the hooks by hand. Open ~/.claude/settings.json and delete any hook entries whose object contains"_marker": "__claude_harness__" — every Harness-managed hook is tagged with that marker, so they're safe to identify and remove. - Optional — clean up worktrees. Harness may have created git worktrees under claude-harness-worktrees/ next to your repos. These are normal git worktrees and aren't removed automatically. To clean them up:cd git worktree list git worktree remove Or delete the claude-harness-worktrees/ directories from disk and rungit worktree prune in each repo. - Multi-agent — run Claude Code or Codex in the same window, one harness for both - Multi-repo — manage multiple repos in a single window, switch between them or see everything at once - Live PR status — see open PRs and CI checks for every worktree, auto-sorted by urgency - Embedded editor — full Monaco-powered editor for tweaking files without leaving Harness - Full code review tool — side-by-side syntax-highlighted diffs for every changed file in a worktree - Status at a glance — sidebar dots show which agent is working, waiting, or needs approval (powered by Claude Code hooks) - Command center — bird's-eye grid of every worktree with mini activity timelines - Tabs + vertical split panes — Claude, shells, and editor/diff tabs scoped to each checkout, splittable side-by-side - 9 themes — dark, dracula, nord, gruvbox, tokyo night, catppuccin, one dark, solarized dark/light - Configurable hotkeys — ⌘1–⌘9 to jump between worktrees, all rebindable - MCP: Claude controls Harness — a built-in MCP server lets Claude create and list worktrees on its own Honestly I have been using Conductor for a while as a fairly happy customer, but some rough edges have really started to annoy me so on a random Thursday morning I decided to build my own version of it that works the way I want to. Oh yeah did I mention: Originally vibe coded start to finish — these days I occasionally crack open the actual source. Future travelers: still mostly vibes. This app is specifically designed to be an easy way to do the sort of ADD fueled multi-worktree development that I have been in-to these days. Along the left you can see all the worktrees you have, and each worktree has it's own claude, additional terminals and PR display. The main benefit of this is that your worktrees stay organized, and it's very obvious when one of your many claudes needs your attention (the dot will change colors) This app assumes that you are going to want to use worktrees (otherwise what's the point) It will create a worktree directory at ../-worktree and start making worktrees there. This directory will probably be changable at some point - Initial functionality - Proper packaging into an app and dmg for other mac users - OTA Updates - Settings, configurability, etc - Better persistence (PTYs don't really stay if you kill the app, which can be a bit frustrating) - Multi-repo support - MCP server — Claude can create and manage worktrees itself - Command center — bird's-eye view of all worktrees - Activity tracking — visual timeline of agent status history - Syntax-highlighted diffs - 9 built-in themes - Support other LLM CLI tools — Codex is now supported alongside Claude Code - Per-agent model selection - Vertical split panes - Contextual system prompt injection so the agent knows it's inside Harness - Shared permissions via symlinked Claude settings - Release notes page inside the app - Browser panes — view localhost dev servers next to the terminal - Dev server management — start/stop/inspect dev servers per worktree - Notifications when claudes are ready for you (maybe peon noises?) - Mobile app - Whatever else people want — add a github issue or email me directly! Clone the repo and install dependencies: git clone https://github.com/frenchie4111/harness.git cd harness npm install --legacy-peer-deps The --legacy-peer-deps flag is required becauseelectron-vite@5 declares a peer range that npm's strict resolver rejects against the installedvite@7 . Common commands: | Command | What it does | |---|---| npm run dev | Launch the app in dev mode with hot reload | npm run build | Type-check and build main, preload, and renderer to out/ | npm run pack | Build an unsigned .app for local smoke testing (fast — skips codesigning and notarization) | npm run dist:mac | Full signed + notarized macOS build (requires .env with Apple creds) | npm run rebuild:dev | Rebuild node-pty against the dev Electron version — run this if dev mode errors with posix_spawnp failed | npm run log | Tail the debug log at ~/Library/Application Support/harness/debug.log | After npm run pack , you can launch the unsigned build with: open release/mac-arm64/Harness.app If Gatekeeper blocks the unsigned app, strip the quarantine attribute first: xattr -cr release/mac-arm64/Harness.app I mean if you want? I think you probably just want to tell claude to download it and make whatever changes you want

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →