Herdr: chạy agent Claude Code trên mọi máy bạn có
Cài Herdr, các shortcut prefix, bốn agent Claude Code chạy song song trong worktree, detach, và nối Mac, Linux, Windows WSL2 qua Tailscale và SSH.
✓ Đã duyệt độc lập · cập nhật 01/11/2026 · 33 min
1. Một terminal, ba máy cùng lúc
Trong video đăng ngày 01/11/2026, Stefan mở đầu bằng một màn hình: một terminal đang chạy các agent Claude Code trên MacBook, trên laptop Linux và trên PC Windows của anh, tất cả cùng một lúc. Công cụ đó tên là Herdr. Anh nói sẽ cho xem mọi thứ: phần cơ bản, những shortcut thật sự quan trọng, bốn agent cùng build một lúc, và cách nối mọi máy anh có vào một chỗ.

Anh tự giới thiệu (video đăng ngày 01/11/2026): tên anh là Stefan, anh là software engineer, và đây là cách anh làm việc mỗi ngày. Video bắt đầu trên một máy. Sau đó bốn agent, mỗi agent trong worktree riêng của nó, cùng build một script nhỏ mã nguồn mở giúp đưa bất kỳ máy nào vào trạng thái sẵn sàng bằng một lệnh. Trên Windows, người xem sẽ thấy script đó cài trực tiếp những gì còn thiếu. Cuối video, cả ba máy nằm trong một instance Herdr, và kết nối chạy theo cả hai chiều. Theo Stefan, nếu bạn chạy những phiên agent dài, hoặc dùng nhiều hơn một máy tính, thì video này dành cho bạn. "Let's put our agents to work", anh nói.
Rồi anh trình bày kế hoạch. Việc đầu tiên là cài Herdr trên máy local. Tiếp theo là các key binding và shortcut quan trọng nhất để di chuyển và tìm đường trong Herdr. Sau đó anh nối những thiết bị khác trong mạng local vào cùng một phiên Herdr, để điều khiển mọi thiết bị trong mạng từ một điểm. Ví dụ, theo anh (video đăng ngày 01/11/2026), từ MacBook có thể điều khiển phiên Herdr trên PC Windows, và ngược lại. Script giúp dựng toàn bộ việc này sẽ được tạo trực tiếp ngay trong video, và anh nói sẽ open source nó sau.
2. Herdr là gì: giống tmux mà cũng rất khác
Trước khi làm, Stefan giải thích Herdr thật ra là gì. Nếu bạn quen với những thứ như tmux, theo anh (video đăng ngày 01/11/2026), Herdr có phần giống, nhưng cũng rất khác, vì Herdr là một công cụ terminal được làm ra để làm việc với agent.

Anh mở trang web của Herdr, nơi có một ví dụ chạy trực tiếp. Theo Stefan (video đăng ngày 01/11/2026), ở đó bạn thấy từng agent đang ở trạng thái nào. Bạn mở được nhiều workspace khác nhau. Bạn thấy chính xác mỗi agent đang làm gì, vì mỗi agent sinh ra một tab hay một cửa sổ riêng ở phía dưới. Bạn thấy agent nào đang bị block, agent nào đã xong, agent nào vẫn đang làm, agent nào cần bạn phản hồi hay đang kẹt ở một câu hỏi, vân vân. Bạn còn nhận được toast và thông báo.

Stefan kể anh đã dùng Herdr khoảng ba tuần trở lại đây (tính đến video đăng ngày 01/11/2026), và với anh nó là một "game changer" thật sự, nhất là phần remote. Anh chạy những task nặng trên máy desktop, rồi đi sang phòng khách, cầm chiếc laptop nhỏ chạy Omarchy, và từ laptop đó có toàn quyền điều khiển mọi phiên. Anh nhận thông báo khi có gì bị kẹt, kể cả lúc đang xem YouTube. Anh thấy chuyện này rất hay, và muốn chỉ cho người xem cách dựng nó trên máy của họ.
3. Cài Herdr và lần chạy đầu tiên
Theo Stefan (video đăng ngày 01/11/2026), cài Herdr trên đủ loại thiết bị là việc rất dễ. Trên Mac, cách dễ nhất là dùng Homebrew, hoặc copy đoạn script curl ngay trên trang. Trang còn có hướng dẫn cho Windows, cho Nix và vài bộ cài thủ công. Theo anh, chắc chắn bạn sẽ chạy được nó trong chốc lát: copy lệnh curl, hoặc dùng Homebrew, rồi dán vào terminal. Lệnh anh dán:
curl -fsSL https://herdr.dev/install.sh | sh
Máy anh đã cài sẵn Herdr nên lệnh không cài lại, nhưng theo anh (video đăng ngày 01/11/2026) đó chính là việc bạn cần làm, chỉ một lệnh là chạy được. Trên màn hình, trình cài báo đã nhận diện macos/aarch64, lấy release manifest mới nhất, tải bản v0.9.5, cài herdr, rồi in dòng "ready. run 'herdr' to get started." (demo trong video đăng ngày 01/11/2026).
Cài xong, bạn khởi động bằng cách gõ herdr trong terminal. Lần đầu chạy, Herdr hỏi vài câu. Stefan thú thật anh không nhớ chính xác các câu đó là gì, nhưng theo anh (video đăng ngày 01/11/2026) chúng rất dễ trả lời. Về cơ bản nó hỏi bạn đang dùng những AI tool nào. Nếu bạn dùng Claude Code, chỉ cần đánh dấu chọn, Herdr sẽ tự nối vào để biết bạn đang dùng Claude Code, Codex hay bất cứ thứ gì bạn dùng, và phần đó được cài tự động. Anh nghĩ bạn còn chọn được theme, và mọi thứ đều tự giải thích.
4. Chuột trên iTerm2, menu chuột phải và cột spaces
Stefan thêm một lưu ý nhỏ. Anh dùng iTerm2 làm terminal, và lúc mới cài Herdr, anh gặp lỗi chuột phải không phải lúc nào cũng chạy. Anh không biết từ đó tới nay nhóm làm Herdr đã sửa chưa (tính đến video đăng ngày 01/11/2026), và anh nói nó vẫn hơi chập chờn, nhưng anh đã chỉnh được với sự giúp đỡ của Claude Code.
Triệu chứng anh mô tả: nếu bạn bấm vào đâu đó mà không hiện menu của pane Herdr, thay vào đó lại hiện menu của pane iTerm, thì chuột đang không được bắt đúng trong cửa sổ iTerm. Theo Stefan (video đăng ngày 01/11/2026), đây là lỗi riêng của iTerm; dùng terminal khác thì có lẽ bạn không gặp. Anh không gặp nó trên WSL2, chỉ gặp ở máy này. Anh kể ra để nếu bạn thử mà không chạy thì biết lý do, và bạn sửa được với sự giúp đỡ của Claude. Giờ chuột đã được bắt lại.
Khi chuột chạy, bạn có nhiều lựa chọn. Bấm chuột phải để chia pane, giống như trên tmux hay iTerm2; zoom; và làm đủ thứ khác. Menu chuột phải trên màn hình có các mục Rename pane, Split right, Split down, Zoom, Send right-clicks to pane và Close pane (demo trong video đăng ngày 01/11/2026). Ở bên trái là spaces, tức các space bạn đang có. Bạn kéo thả chúng, làm chúng ngắn hơn, nhỏ hơn, tuỳ ý: theo anh, mọi thứ đều phản hồi với chuột (video đăng ngày 01/11/2026), nên cứ bấm thử một chút cho quen.
Bạn cũng bấm được vào nút ở đây để tạo tab mới và những thứ tương tự. Theo Stefan (video đăng ngày 01/11/2026), các nút đó đều bấm được và sẽ mở ra thứ tương ứng: bạn xem key bindings, vào settings từ đây, và detach. Detach, phần anh nói kỹ sau, sẽ đóng Herdr. Anh khởi động lại Herdr rồi đi tiếp.
5. Prefix key, chia pane và di chuyển focus
Tiếp theo là những shortcut bạn thật sự cần. Điều đầu tiên cần biết là có một thứ gọi là prefix key. Theo Stefan (video đăng ngày 01/11/2026), nếu vào menu và mở key bindings, Herdr sẽ cho bạn biết đó là phím nào. Trên Mac, nó là Ctrl+B. Anh nghĩ trên Omarchy thì khác, có thể là Command và B, nhưng anh không chắc; dù sao bảng key bindings sẽ hiện cho bạn.

Prefix key là phím bật prefix menu, và theo anh (video đăng ngày 01/11/2026) mọi thứ được điều khiển qua prefix menu này. Nếu bạn chỉ bấm Q, nó sẽ gõ chữ q vào terminal. Nhưng nếu bấm prefix trước để mở chế độ prefix, rồi mới bấm Q, Herdr sẽ nhận đó là lệnh prefix và thoát Herdr. Anh thừa nhận phải mất một chút để quen, nhưng quen rồi thì nó "really, really, really helpful".
Những key binding quan trọng nhất anh tìm ra (video đăng ngày 01/11/2026): bấm Ctrl+B rồi V để chia terminal sang phải, một thao tác anh thấy rất hữu ích. Hoặc Ctrl+B rồi dấu trừ để chia xuống dưới. Vậy là một lệnh với V chia sang phải, lệnh kia chia xuống dưới, và bạn có được nhiều cửa sổ gọn gàng. Bạn bấm chuột vào từng cửa sổ để focus, hoặc chuyển giữa chúng bằng prefix rồi H để sang cửa sổ bên trái.
Đến đây Stefan thử vài lần mới nhớ đúng: anh đoán prefix J là sang phải, rồi sửa lại, L mới là sang phải, H là sang trái; còn K và J là đi lên xuống, cụ thể J là xuống và K là lên. Theo anh (video đăng ngày 01/11/2026), những phím này khá quan trọng nếu bạn muốn dùng thành thạo. Khi đã thuộc hết các tổ hợp phím, bạn di chuyển cực nhanh trong công cụ này, sinh ra nhiều agent trong cùng một cửa sổ và đi qua lại giữa chúng. Tất nhiên bạn cũng có thể dùng chuột. Nhưng nếu dùng thứ gì như Omarchy, vốn rất thiên về bàn phím, thì theo anh đây là một tốc độ rất tuyệt mà bạn đạt được.
6. Zoom, go to và chuyển tab
Một prefix hay khác là Ctrl+B rồi Z, tức zoom. Thao tác này focus vào một pane, làm lại lần nữa thì thoát zoom. Theo Stefan (video đăng ngày 01/11/2026), đây giống focus hơn là zoom, nhưng rất hữu ích khi bạn muốn tập trung vào một phiên. Bạn cũng làm được điều tương tự bằng menu chuột phải.
Kế tiếp là prefix G, tức go to. Theo anh (video đăng ngày 01/11/2026), lệnh này cũng rất hữu ích khi bạn mở cả đống cửa sổ và terminal: nó cho một cái nhìn tổng quan để chọn nơi muốn tới. Anh chọn shell thứ ba, rồi làm lại prefix và G để quay về terminal một. Vậy là bạn chuyển rất nhanh giữa các cửa sổ.
Bạn cũng chuyển được giữa các tab (demo trong video đăng ngày 01/11/2026). Stefan chỉ vào từng chỗ: đây là tab, đây là space, và đây, theo anh đoán, là agent. Anh đặt tên một tab là "tab two" rồi tạo thêm tab mới; tất nhiên tab cũng có shortcut riêng. Khi mở go to lần nữa, tab mới cũng hiện trong danh sách, xếp gọn như một cây thư mục. Anh thấy chỗ này "pretty, pretty cool".
Để mở tab mới bằng phím, theo Stefan (video đăng ngày 01/11/2026): prefix (vẫn là Ctrl+B) rồi C. Prefix N chuyển qua lại giữa các tab; bấm tiếp thì nó đi vòng qua các tab. Stefan thú thật làm vậy hơi rườm rà, anh thà bấm chuột. Nhưng trên Omarchy, lại một lần nữa, dùng phím sẽ nhanh hơn. Anh gợi ý bạn có thể gán prefix key vào một phím mà bạn hiếm khi dùng, một ký hiệu lạ nào đó bạn không bao giờ gõ, khi đó chỉ cần bấm một phím, dễ hơn. Prefix P chuyển về tab bên trái, prefix N sang tab bên phải.
7. Bảng key bindings và detach
Muốn tìm hiểu thêm về key binding thì lại là prefix: Ctrl+B rồi dấu chấm hỏi mở ra cả bảng, và bạn quay lại được từ trong đó. Theo Stefan (video đăng ngày 01/11/2026), ở đó bạn học và thuộc được tất cả.
Một thao tác nữa rất hữu ích là prefix rồi Q, lệnh detach phiên. Theo Stefan (video đăng ngày 01/11/2026), detach không có nghĩa là phiên bị mất hay bị đóng. Khi bạn mở lại, nó nhảy thẳng về chỗ bạn rời đi. Và nếu có agent đang chạy nền, chúng vẫn tiếp tục chạy. Anh gọi đây là một tính năng rất quan trọng và rất hay của Herdr. Nó giống tmux: khi đăng nhập lại vào một phiên tmux đang chạy, bạn tiếp tục từ chỗ đã dừng, và đó là toàn bộ lý do tmux tồn tại.

Để khép lại phần shortcut, Stefan nhắc lại (video đăng ngày 01/11/2026): Ctrl+B là prefix, cộng dấu chấm hỏi là bạn có mọi key binding ngay đó. Cần tra gì thì tìm ở đó, và học những gì hợp nhất với workflow của bạn.
8. Claude Code integration và thanh bên trái
Như anh nói ở trên, các phiên Claude và các phiên nói chung trong Herdr đều được giữ lại. Anh cũng đã nói rằng lần cài đặt đầu tiên sẽ nối sẵn coding agent bạn dùng. Theo Stefan (video đăng ngày 01/11/2026), Herdr tự nhận diện bạn đã cài những tool nào trên máy rồi cắm chúng vào. Nếu nó chưa làm, bạn chạy tay được, ví dụ:
herdr integration install claude
Stefan đọc lướt dòng báo của lệnh là "install claude integration hook to use, blah, blah, blah" (demo trong video đăng ngày 01/11/2026). Theo anh, bước này chắc chắn được làm tự động trong lần cài đầu, ít nhất là trong trường hợp của anh (video đăng ngày 01/11/2026), "just as easy as it gets". Sau đó, khi mở Herdr, bạn có Claude trong mọi phiên.
Tiếp theo anh cho xem agent làm việc thế nào bên trong Herdr. Phần bên trái luôn thể hiện bạn đang ở thư mục nào. Anh đang ở thư mục gốc, thư mục home, nên nó hiện bằng dấu ngã. Theo Stefan (video đăng ngày 01/11/2026), khi chuyển sang thư mục khác, chỗ này đổi theo, và nó còn cho biết bạn đang ở branch nào, một chi tiết khá hữu ích. Phía dưới lúc này chưa có gì, nhưng sẽ có ngay sau đây.
9. Agent đầu tiên: nhận task từ board và dựng herdr-kit
Trong video đăng ngày 01/11/2026, Stefan dùng AI coding orchestrator của anh để kéo về một task, và để agent build một tool giúp nối các thiết bị local vào Herdr, sao cho thấy được chúng khắp mạng local. Để làm việc đó, anh copy prompt từ coding orchestrator.
Anh khởi chạy Claude. Trước hết anh phải trust thư mục này vì chưa mở nó lần nào. Rồi Claude hiện lên trong Herdr, và ngay góc dưới bên trái, agent Claude của herdr-kit vừa khởi động. Theo Stefan (video đăng ngày 01/11/2026), đây là chỗ mọi agent của bạn sẽ xuất hiện. Anh dán prompt vào. Prompt này nhận một task từ board của AI Coding Orchestrator, trong đó có hướng dẫn về thứ cần build. "So let's try if that works."
Khi chạy, phiên chuyển sang màu vàng. Theo Stefan (video đăng ngày 01/11/2026), màu vàng về cơ bản nghĩa là Claude đang làm gì đó. Nó đang tìm kiếm, rồi sẽ bắt tay vào làm. Claude nhận task, rồi kiểm tra repo và tooling (demo trong video đăng ngày 01/11/2026). Repo lẽ ra khá trống: đó là repo anh đang build trực tiếp.

herdr-kit với subcommand setup và doctor, các module trong lib/, test bằng bats-core, MIT license) cùng các lệnh verify (video đăng ngày 01/11/2026).Để người xem hiểu anh đang nói gì và kéo task từ đâu, Stefan mở board ra (video đăng ngày 01/11/2026). Đây là tool anh tự build, không public, chỉ dùng local để làm nhiều project khác nhau cùng lúc. Trên board có một task đang in progress, chính là task agent vừa nhận. Mở nó ở khung bên cạnh, anh cho thấy prompt body: đó là thứ Claude sẽ kéo vào phiên Herdr của nó, và nó cho Claude biết phải làm gì. Anh đã đặt ra một roadmap các task để agent đi qua, kèm vài bước verify. Phía dưới có một phần history để theo dõi tiến độ.
Quay lại Herdr, Claude đã bắt đầu code. Stefan đoán nó sẽ sớm xong bước đầu. Nó đang tạo khung repo, thêm MIT license vì sau này anh publish repo công khai (demo trong video đăng ngày 01/11/2026). Anh để nó làm xong, chờ xem lúc nào nó hỏi hay có gì thay đổi.
10. Toast, âm báo và các chấm trạng thái
Claude làm xong, và Stefan lỡ tay bấm vào cái toast vừa hiện lên trong Herdr, thứ anh thấy rất hay. Anh nghĩ nó gửi lại được, nên bảo Claude gửi lại toast để demo (demo trong video đăng ngày 01/11/2026).

herdr notification show để gửi lại toast "herdr-kit · step 2 ready: Scaffold done on v0.1. Waiting for OK to commit + push." (demo trong video đăng ngày 01/11/2026).Theo Stefan (video đăng ngày 01/11/2026), khi agent xong việc hoặc có bất kỳ thông báo nào, bạn sẽ nghe một âm báo nhỏ. "There it is": dòng "herdr-kit, step 2 ready" hiện lên, báo rằng agent đã làm xong. Lúc đó biểu tượng ở đây chuyển thành một vòng tròn xanh lá rỗng, nghĩa là việc đã xong và có thứ để đọc. Anh nghĩ khi có câu hỏi đang chờ thì đó là một chấm xanh lá đặc, nếu anh không nhầm; có thể người xem vẫn thấy cảnh đó trong video.
Claude báo bước đã sẵn sàng: scaffold đã xong, đang chờ OK để commit và push (demo trong video đăng ngày 01/11/2026). Stefan trả lời "OK, let's do it", và chấm lại nhảy về màu vàng, nghĩa là Herdr, hay đúng hơn là Claude, đang làm việc. Cùng lúc đó, trong coding orchestrator, bước này được tự động chuyển sang done, kèm dòng log cuối vừa ghi. Board ghi rằng agent đã làm đúng những gì cần làm, mọi thứ đã xong, nên có thể sang bước tiếp theo (demo trong video đăng ngày 01/11/2026).
11. Bốn worktree, bốn agent chạy song song
"So now to the fun part": bốn agent cùng lúc implement bốn bước tiếp theo, trong bốn worktree khác nhau, điều phối qua Herdr. Để làm vậy, Stefan mở bốn cửa sổ và bốn worktree. Trước hết anh thoát phiên hiện tại để quay về space chính, xoá màn hình, rồi dùng một prefix khác kèm Shift: bấm prefix Ctrl+B, rồi Shift+G. Theo Stefan (video đăng ngày 01/11/2026), lệnh này tự sinh một worktree mới, mở một cửa sổ worktree mới trong repo, vì Herdr biết repo đó.
Hộp thoại có một ô checkout và một ô branch với tên tự sinh. Anh không nghĩ phải đặt tên theo kiểu nào, nhưng có thể đặt nếu muốn, ví dụ đặt theo tên task. Anh làm đúng như vậy: copy tên task sang, và cân nhắc giữa dấu gạch ngang với dấu gạch chéo; anh nghĩ Herdr đã dùng dấu gạch chéo, kiểu worktree/feat..., và đúng là vậy. Bấm create and open. Trên màn hình lúc này có một hộp hướng dẫn "Repeat for each worktree": quay về main session, Ctrl+B rồi Shift+G, đặt tên worktree/<task>, rồi create and open (video đăng ngày 01/11/2026).
Rồi lại Ctrl+B để mở menu (demo trong video đăng ngày 01/11/2026). Stefan nói anh vẫn phải nhìn màn hình vì chưa nhớ hết. Anh phải quay về phiên Herdr chính mới làm được, rồi lại Shift+G, và phải làm như thế bốn lần. Đúng là dấu gạch chéo: nếu xoá thì cả dòng bị xoá, rồi anh bấm lại vào cửa sổ, mở menu, Shift+G. Theo anh, đó cũng là một cách học shortcut nhanh: làm đi làm lại.
Giờ bốn worktree đã nằm dưới phiên herdr-kit. Theo Stefan (video đăng ngày 01/11/2026), nhìn là thấy nó được tổ chức rất gọn và làm việc trông "super clean". Anh copy các task sang. Worktree đầu là Tailscale, và tất nhiên phải mở Claude. Lần này anh dùng Sonnet, cho hiệu quả và để không tốn quá nhiều token. Anh gõ "claim step three". Sang worktree tiếp theo, mở Claude và gõ "claim step four". Worktree kế tiếp là bước SSH, thêm một phiên Claude nữa. Và cuối cùng là phiên Claude thứ tư.

Prompt trên màn hình của phiên thứ tư:
Claim step 6 on the herdr-kit board in the YouTube Projects project and work it in this worktree on branch feat/doctor.
Giờ cả bốn agent đang làm việc trong các worktree khác nhau, hoàn toàn tách biệt với nhau, và theo Stefan (demo trong video đăng ngày 01/11/2026) bạn có toàn cảnh ở cột bên này, xem được từng phiên đang làm gì. Anh để chúng chạy vài giây để xem chuyện gì xảy ra tiếp.
12. Nhảy tới toast, agent bị block, và ship now
Stefan nhắc hai điều. Thứ nhất, có lẽ anh không kịp cho xem toast trực tiếp trên màn hình, vì anh sẽ bỏ lỡ nó và không bấm nút quay kịp. Nhưng nếu có một toast hiện lên ở góc dưới bên phải màn hình như lúc nãy, theo anh (video đăng ngày 01/11/2026), bạn bấm prefix rồi O là nó nhảy tới đúng nguồn của toast đó: nó đưa bạn tới phiên đã phát ra toast để bạn tương tác.
Thứ hai, điều tương tự áp dụng khi một agent bị block. Theo Stefan (video đăng ngày 01/11/2026), lúc đó bạn bấm prefix rồi B để nhảy tới phiên đó và gỡ block cho nó. Anh hy vọng cho xem được phần nào trực tiếp. Còn lúc này, cả bốn phiên đều đang làm việc rất hăng, thể hiện bằng chấm vàng.
Rồi một toast hiện lên. Anh bấm prefix và O, nhưng chậm mất, không kịp. Dù vậy, bên trái đã có một chấm xanh lá. Bấm vào thì nó chuyển thành rỗng, nghĩa là bạn đã đọc thông báo, và nghĩa là bước đó đã build xong (demo trong video đăng ngày 01/11/2026). Anh để các bước còn lại chạy xong. Phiên tiếp theo phát âm báo. Lần này prefix và O đã chạy: nó nhảy thẳng tới toast đó. Rồi một phiên nữa xong. Ba trên bốn phiên đã xong (demo trong video đăng ngày 01/11/2026). Anh nói anh thích cách nó vận hành, và màn hình tổng quan này "absolutely great".
Với các task đã hoàn thành, theo Stefan (video đăng ngày 01/11/2026), bạn có thể đọc lại hoặc không. Stefan không đọc lúc này; anh cho rằng mọi thứ sẽ ổn. Anh dùng một skill khác do anh tự build, tên là "ship now", về cơ bản cho agent biết rằng nó được push và merge vào main mà không cần xác nhận thêm. Anh chạy nó trên các phiên này. Vì là các worktree riêng, có thể sẽ có conflict, nhưng nếu có thì sẽ thấy.
Một phiên không chịu push, nên anh trả lời "Yes, please go ahead". Theo Stefan, đôi khi việc này không trót lọt vì lý do nào đó, có gì đó được cấu hình trong repo nên nó không đi qua, và nó lại xác nhận lần nữa. Anh trả lời "Yes, please do that". Branch đã lên, và mọi thứ có vẻ ổn (demo trong video đăng ngày 01/11/2026).
13. Detach giữa chừng, merge và chạy herdr-kit doctor
Trong lúc các agent còn chạy, Stefan cho xem phần detach hoạt động thế nào. Vẫn còn việc đang dở. Anh bấm prefix rồi Q, Herdr đóng lại, và anh làm việc khác được nếu muốn. Khi quay lại, bất cứ lúc nào, các agent vẫn đang làm task và vẫn tiếp tục (demo trong video đăng ngày 01/11/2026). Anh bấm vào, và mọi thứ vẫn chạy đúng như dự kiến.
Các phiên đều đã xong, anh đoán vậy: merged, merged, merged. Phiên cuối vẫn đang chạy test. Trong lúc chờ, anh nói thêm điểm hay: bạn còn có thể bấm prefix Q để detach, rồi đóng hẳn iTerm2, mở lại iTerm, gõ herdr, và thấy phiên thật sự vẫn đang chạy. Nó được giữ lại kể cả khi bạn đóng hoàn toàn cửa sổ terminal (demo trong video đăng ngày 01/11/2026).
Tất cả task đã xong. Step 7 trên board thật ra được dành riêng cho việc merge, nên Stefan nói lẽ ra anh không cần merge tay; step đó sẽ tự làm. Nhưng anh đã làm rồi, không sao. Agent sẽ nhận ra phần nào đã được merge, merge nốt phần cuối chưa merge lên trên, và thế là xong. Agent đã merge toàn bộ (demo trong video đăng ngày 01/11/2026).
Giờ cần thêm một test (demo trong video đăng ngày 01/11/2026): lệnh doctor của herdr-kit vừa build có chạy thật không. Anh chạy:
./herdr-kit doctor

./herdr-kit doctor trên MacBook: OS macos, Tailscale up, MagicDNS name mbp, SSH server listening on port 22, Tailscale SSH off, Herdr 0.9.5, Claude Code integration current (v11), và dòng gợi ý "On your hub, run: herdr machine add mbp" (demo trong video đăng ngày 01/11/2026).Theo Stefan (demo trong video đăng ngày 01/11/2026), output cho thấy máy đang chạy macOS, Tailscale đang bật, có một MagicDNS name, SSH server đang lắng nghe ở port 22, và Tailscale SSH đang tắt. Anh giải thích: vì không cần truy cập từ bên ngoài mạng, anh dùng một SSH server local. Tiếp đó là phiên bản Herdr và Claude Code integration. Mọi thứ đều chạy. Anh copy output đó sang prompt như được yêu cầu, để cho agent thấy nó thật sự đã chạy. Theo anh, đây là một trong các lệnh của herdr-kit để dựng hoặc kiểm tra một bản cài local.
14. Cách kết nối: Tailscale cộng SSH thường
Theo Stefan (video đăng ngày 01/11/2026), Herdr kết nối tới các máy khác qua SSH thông thường. Phần khó là làm sao với tới chúng, và đó là việc của Tailscale. Mỗi thiết bị tham gia cùng một mạng riêng và có một cái tên. Máy Linux của anh chỉ đơn giản là tên của nó. Không port forwarding, không địa chỉ IP.
Nhưng có một lưu ý quan trọng. Theo Stefan (video đăng ngày 01/11/2026), setup này dùng SSH thường đi qua Tailscale, không dùng tính năng SSH riêng của Tailscale. Tailscale SSH được để tắt trên mọi máy. Anh nói một báo cáo "this week", tức tuần của video đăng ngày 01/11/2026, tên là Tailworm, đã cho thấy tính năng đó có thể bị lạm dụng từ bên trong một tailnet, và tính đến lúc đó chưa có bản vá (theo Stefan, video đăng ngày 01/11/2026). Theo anh, bản thân mạng thì vẫn ổn, và script sẽ kiểm tra chuyện này cho bạn.

15. herdr-kit setup trên Windows WSL2
Trên một máy mới tinh, theo Stefan (video đăng ngày 01/11/2026), cùng một lệnh ./herdr-kit setup làm hết mọi việc. Nó cài Tailscale và mở trang đăng nhập trong trình duyệt. Tất cả những gì bạn cần là một tài khoản Tailscale miễn phí, dùng cùng một tài khoản trên mọi máy. Nó bật SSH server để Herdr với tới máy qua tailnet của bạn. Nó cũng đảm bảo Tailscale SSH vẫn tắt. Nó cài Herdr và Claude Code integration, và cuối cùng doctor in ra đúng dòng lệnh để thêm máy này.
./herdr-kit setup trên một máy mới, theo thẻ trên màn hình và lời Stefan trong video đăng ngày 01/11/2026.Theo Stefan (video đăng ngày 01/11/2026), mỗi bước đều kiểm tra trước, nên chạy hai lần vẫn an toàn. MacBook và máy Linux của anh đã được dựng xong, nên ở đó script bỏ qua phần cài và chỉ xác nhận lại.
Giờ đến Windows, trên WSL2. Theo Stefan (video đăng ngày 01/11/2026), Herdr cũng chạy native trên Windows, nhưng với Claude Code anh vẫn chạy bên trong WSL2. Anh nói đó là nơi sandbox của Claude Code hoạt động và các plugin của Herdr không bị kẹt ở trạng thái preview. Distro này chưa có Herdr và chưa có SSH server, nên ở đây script làm phần việc thật. Tailscale thì đã có sẵn, nên nó bỏ qua bước đó và cài phần còn lại.
"Let's give it a try." Anh vừa clone repo public về, và lệnh cần chạy là herdr-kit setup, script sẽ tự kiểm tra máy đã có gì và còn thiếu gì. Trên màn hình, nó nhận diện đúng là Tailscale đã có và đang chạy, với dòng "tailscale: up as overlord-wsl" (demo trong video đăng ngày 01/11/2026). Máy chưa có OpenSSH, dòng "OpenSSH server is not running" hiện dấu x, nên nó kéo gói openssh-server về và cài. Nó cũng nhận ra Herdr chưa được cài, và cài luôn, theo lời anh mất chừng vài giây (demo trong video đăng ngày 01/11/2026).
Tất nhiên, theo Stefan (video đăng ngày 01/11/2026), nếu bạn vẫn còn phải cài Tailscale thì cần đăng nhập trong trình duyệt và nối vào, phần đó anh thấy cũng khá dễ hiểu. Xong việc đó thì sang bước tiếp theo.
Anh nói anh đã quên push bản cập nhật cho doctor, và vừa push xong. Rồi anh chạy herdr-kit doctor để chắc mọi thứ đã kết nối. Theo anh, phần đó lẽ ra cũng hiện ở cuối lệnh vừa chạy. Mọi thứ đã chạy (demo trong video đăng ngày 01/11/2026). Output còn cho thấy tên máy Herdr: overlord-wsl. Từ MacBook, anh sẽ thêm được máy này bằng đúng dòng lệnh doctor in ra, herdr machine add overlord-wsl.
16. Từ WSL2 điều khiển MacBook
Nhưng trước hết, Stefan chạy Herdr trên WSL2 xem có chạy không. Nó chạy, và chạy tốt (demo trong video đăng ngày 01/11/2026). Trong đó đã có sẵn Omarchy, anh đoán là do cấu hình cũ còn sót lại, vì anh từng cài Herdr ở đây, đã xoá đi để quay video, nhưng có vẻ kết nối vẫn còn. Lúc này chỉ thấy máy local, và Omarchy, hiện đang tắt. Nếu bật nó lên, các phiên chat ở đó cũng sẽ hiện ra.
Giờ anh thử thêm MacBook. Từ bước trước trên MacBook, anh biết máy đó tên là mbp. Vậy lệnh cần chạy, resolve qua DNS, là:
herdr machine add mbp

herdr machine add mbp: dòng "Remote server is ready. Open Herdr clients connect automatically.", cột machines có Local, omarchy (reconnecting) và mbp với herdr-kit cùng bốn worktree feat/...; bên dưới là kết quả doctor trên debian (WSL), MagicDNS name overlord-wsl (demo trong video đăng ngày 01/11/2026)."And boom, there we go." Ngay đó là context của MacBook Pro. Stefan thấy mọi phiên chat anh đã làm việc trên đó và điều phối được chúng (demo trong video đăng ngày 01/11/2026). Anh đi vào một phiên và thấy nó đã được push: chính là bản sửa doctor anh vừa push. Anh gõ /clear, cách clear thông thường trong Claude Code, và thấy mình có toàn quyền điều khiển phiên Herdr trên MacBook Pro.
Theo Stefan (demo trong video đăng ngày 01/11/2026), lúc này anh vào context của MacBook Pro, bấm new để mở một phiên chat hoàn toàn mới với một context mới ở dưới. Anh mở được phiên mới, mở phiên từ các thư mục khác nhau, mở các phiên Claude mới, làm đủ thứ: về cơ bản là điều khiển hoàn toàn instance Herdr trên MacBook Pro. Tiếp theo anh quay sang MacBook để xem có thêm được phiên WSL2 vào đó không.
Một ghi chú bên lề của Stefan (video đăng ngày 01/11/2026): Herdr phải đang mở và đang chạy thì kết nối này mới hoạt động.
17. Cả ba máy trong một Herdr
Trở lại macOS, Stefan thêm WSL2 vào Mac bằng lệnh herdr machine add overlord-wsl, tên instance WSL của anh. Lệnh báo đã lưu SSH machine, "Remote server is ready", và các client Herdr đang mở sẽ tự kết nối. WSL hiện lên ngay (demo trong video đăng ngày 01/11/2026). Anh mở Claude trong đó và hỏi, theo lời anh:
what machine are you on? Don't show anything that we would need to blur
Anh dặn thêm vế sau để đỡ mất công khi edit: không để nó in ra MAC address và những thứ tương tự; câu hỏi chỉ cho vui. Lẽ ra nó phải đang chạy trên WSL, và đúng vậy: Claude trả lời nó đang chạy trên Windows, bên trong WSL2 (demo trong video đăng ngày 01/11/2026). Vậy là nó nhận ra máy Windows của anh, và kết nối chạy.
Tiếp theo là herdr machine add omarchy, vì anh cũng đã chạy script để thử trên Omarchy. "And boom": chiếc laptop Omarchy, đang ở ngay cạnh anh, có lẽ khó nhìn vì ánh đèn, đã được thêm vào (demo trong video đăng ngày 01/11/2026). Anh hỏi cùng câu, lần này dặn đừng để lộ gì phải làm mờ, cũng chỉ để khỏi phải làm mờ sau đó, vì nếu không nó có thể in ra những thứ không nên in.

"There we go": nó đang ở trên một chiếc Microsoft Surface Laptop 2, kèm cấu hình máy và Omarchy (demo trong video đăng ngày 01/11/2026). Đó đúng là máy Omarchy của anh. Giờ ở thanh bên trái, anh có toàn quyền truy cập mọi thiết bị đã kết nối. Theo Stefan (video đăng ngày 01/11/2026), bạn sinh agent mới ở đó, mở nhiều tab, vào các thư mục khác nhau, làm bất cứ gì bạn muốn.
Theo anh (video đăng ngày 01/11/2026), chừng nào laptop, hay thiết bị bạn muốn kết nối, vẫn bật và Herdr vẫn mở, bạn kết nối vào được từ bất cứ đâu trong mạng local. Nếu muốn dựng Tailscale để kết nối từ xa vào mạng nhà, nơi đặt con server lớn của bạn, bạn cũng làm được. Nhưng anh dặn hãy "take it with a grain of salt": theo Stefan, tại thời điểm video đăng ngày 01/11/2026 đang có nhiều vụ hack, nên anh sẽ cẩn thận với việc đó lúc này, trừ khi Tailscale đưa ra bản sửa cho lỗ hổng tiềm ẩn đang lan truyền.
18. Herdr có đáng dùng không?
Vậy có đáng dùng Herdr không? Với Stefan, câu trả lời là có (video đăng ngày 01/11/2026). PC Windows của anh chạy những job dài, như cả một roadmap trong một phiên phải sống liên tục. Anh kiểm tra từ laptop khi ngồi trên sofa, và với anh điều đó khá hay. Khi một agent kẹt ở một câu hỏi, anh nhận thông báo, nên không có gì cứ nằm đó chờ anh.
Không phải mọi thứ đều suôn sẻ. Trên iTerm2, chuột phải lúc đầu chập chờn, và anh đã quên push một bản sửa trước khi chạy doctor. Theo anh (video đăng ngày 01/11/2026), mọi thứ phụ thuộc vào setup của bạn, như mọi khi, và mọi thứ thay đổi liên tục. Nếu bạn làm việc trên nhiều máy, theo Stefan, nó là một game changer. Anh vẫn đang tìm cách tốt nhất để làm việc với nó, nhưng chắc chắn anh sẽ giữ nó.
Stefan chào tạm biệt và cảm ơn người xem.
Nguồn và liên kết 9 nguồn
- Tên gốc: Herdr: Run Claude Code Agents on Every Machine You Own
- Sự kiện: YouTube
- Video gốc: https://www.youtube.com/watch?v=plb8d-DR4I8 youtube.com
- Kênh YouTube Stefan Rows (Stefan Rows): youtube.com/channel/UCDqZyVCTwg9UyRWKgQ7Gizg youtube.com
- Trang Herdr TUI, có lệnh cài
curl -fsSL https://herdr.dev/install.sh | shvà ví dụherdr machine add(đọc ngày 01/11/2026): herdr.dev/tui herdr.dev - Repo Herdr trên GitHub, README mô tả prefix key kiểu tmux cùng chuột, và "ctrl+b q detaches, herdr reattaches" (đọc ngày 01/11/2026): github.com/herdrdev/herdr github.com
- Trang chủ Herdr, mục "Every machine in one sidebar" về việc thêm máy qua SSH (đọc ngày 01/11/2026): herdr.dev herdr.dev
- Tài liệu Tailscale SSH, tính năng để Tailscale quản lý xác thực và phân quyền kết nối SSH trong tailnet (đọc ngày 01/11/2026): tailscale.com/kb/1193/tailscale-ssh tailscale.com
- Tài liệu MagicDNS của Tailscale, tự đăng ký tên DNS cho các thiết bị trong mạng (đọc ngày 01/11/2026): tailscale.com/kb/1081/magicdns tailscale.com