Thực hành

Để Claude Code làm việc tiếp khi bạn gập laptop

Một tác vụ agent dài và nắp laptop đóng lại chẳng thể đi cùng nhau. Có bốn cách khắc phục đáng tin cậy, và cách nào phù hợp tùy vào việc bạn có sẵn một máy luôn thức hay không.

Trả lời nhanh

Claude Code dừng khi laptop ngủ, còn Remote Control chỉ kết nối lại khi máy thức dậy. Muốn công việc chạy tiếp khi đã gập máy, hãy chạy phiên ở nơi luôn thức: phiên trên cloud của Anthropic (repo GitHub), một VPS với tmux hoặc một session daemon như Maude, hoặc một máy để bàn luôn bật như Mac mini.

Bạn giao cho Claude Code một việc mất bốn mươi phút, rồi bạn phải đi. Mặc định, công việc dừng lại khi bạn gập máy. Có bốn cách đáng tin cậy để tránh điều đó, và cách nào hợp với bạn chỉ phụ thuộc vào một câu hỏi: bạn có một máy luôn thức không?

Vì sao nó dừng

Có ba nguyên nhân khác nhau có thể chấm dứt một phiên. Nên phân biệt rõ, vì mỗi cách khắc phục chỉ giải quyết được một phần trong số đó:

  • Tiến trình dừng. Máy đi ngủ, hoặc shell sở hữu claude thoát. Không gì chạy được trên một chiếc laptop đang ngủ, dù bạn dùng ứng dụng nào.
  • Kết nối bị ngắt. Bạn mất sóng, hoặc điện thoại tạm dừng ứng dụng. Tiến trình có thể vẫn ổn; chỉ là bạn không thấy được nó.
  • Phiên bị lạc. Tiến trình vẫn sống, nhưng không có gì biết cách đưa bạn quay lại với nó, hay báo cho bạn khi nó xong.

Remote Control của chính Anthropic cho thấy rõ sự khác biệt này. Tài liệu của nó nói rằng nếu laptop ngủ hoặc mạng rớt, Claude Code sẽ kết nối lại khi máy trực tuyến trở lại. Như vậy là khắc phục được phần kết nối. Nó không giữ cho thứ gì chạy khi máy đã gập, vì "máy tính của bạn phải luôn bật và tiến trình claude phải tiếp tục chạy".

Cách 1: phiên trên cloud của Anthropic

Nếu bạn không có máy nào luôn thức, hãy chuyển hẳn công việc ra khỏi máy của mình. Phiên trên cloud chạy Claude Code trong một VM do Anthropic quản lý. Phiên vẫn chạy tiếp sau khi bạn gập laptop, và bạn có thể xem tình hình từ ứng dụng Claude, trình duyệt hoặc terminal. Tính năng này đã rời bản xem trước nghiên cứu ngày 23 tháng 9 năm 2026. Nó có sẵn cho các gói Pro, Max và Team, và cho người dùng Enterprise có seat premium hoặc Chat + Claude Code.

Bạn có thể khởi chạy một phiên từ terminal rồi đi:

claude --cloud "Fix the flaky test in auth.spec.ts"

VM trên cloud clone remote GitHub của bạn ở nhánh hiện tại, nên hãy push trước. Khi xong, claude --teleport kéo phiên và nhánh của nó về lại terminal của bạn. Những điều cần biết trước khi dựa vào nó, theo tài liệu về phiên trên cloud:

  • Việc clone và tạo pull request cần GitHub.
  • Phiên không thấy được mạng nội bộ hay database cục bộ của bạn.
  • Mức dùng bị trừ vào cùng hạn mức với phần dùng Claude còn lại của bạn.
  • VM để rảnh sẽ bị thu hồi sau một thời gian. Mở lại sẽ khôi phục cuộc trò chuyện, nhưng không khôi phục công việc nền vẫn đang chạy dở.

Chúng tôi so sánh cách này chi tiết hơn trong Maude và Claude Code trên web.

Cách 2: máy chủ với tmux hoặc systemd

Câu trả lời kinh điển là chạy Claude Code trên một VPS, vốn không bao giờ ngủ, bên trong tmux, thứ sở hữu tiến trình để kết nối SSH của bạn không phải làm việc đó:

tmux new -s work
# start claude, then Ctrl-B then D to detach
tmux attach -t work

Cách này giải quyết cả ba vấn đề: tiến trình sống trên một máy luôn bật, kết nối rớt cũng không ảnh hưởng tới nó, và tmux attach đưa bạn quay lại ngay trước nó. Chi phí vài euro mỗi tháng, và hướng dẫn cài đặt VPS của chúng tôi đi qua từng bước.

Có hai cách nâng cấp đáng biết:

  • Remote Control bên trong tmux. Chạy claude remote-control trong tmux session là bạn có thể điều khiển nó từ tab Code của ứng dụng Claude, kèm thông báo đẩy, thay vì dùng terminal. Như vậy bạn có ứng dụng chính thức của Anthropic cùng một máy không bao giờ ngủ.
  • systemd cho các lần khởi động lại. tmux không sống sót qua một lần khởi động lại. Một service systemd (user unit có bật lingering, để nó khởi động mà không cần đăng nhập) có thể đưa một tiến trình chạy lâu trở lại lúc boot. Bản thân Claude Code không tiếp tục một lượt đã bị lần khởi động lại cắt ngang. claude --continue mở lại cuộc trò chuyện gần nhất trong thư mục đó để bạn bảo nó làm tiếp.

Trên điện thoại, điểm vướng chủ yếu là về trải nghiệm sử dụng. Một tmux session thuần không thể báo cho bạn khi công việc xong, và attach lại nghĩa là một terminal toàn màn hình với bàn phím ảo. Xem thêm trong tmux, mosh và Tailscale cho agent lập trình.

Cách 3: một session daemon (Maude)

Đây là cùng ý tưởng đó nhưng ở tầng cao hơn. Một tiến trình nhỏ chạy lâu dài trên máy chủ sở hữu mọi phiên agent và ghi lại những gì xảy ra trong đó. Client attach rồi detach, còn phiên không hề hay biết. So với tmux:

  • Attach lại cho bạn chính cuộc trò chuyện, không phải một bộ đệm màn hình để cuộn qua.
  • Nhiều thiết bị có thể cùng theo dõi một phiên.
  • Luôn có thứ đang theo dõi khi bạn vắng mặt, nên bạn có thể nhận thông báo đẩy khi công việc xong hoặc cần bạn quyết định.

Đây là cách Maude hoạt động. Khi bạn thêm máy chủ, ứng dụng tự triển khai daemon của mình qua SSH và đăng ký để nó khởi động lúc boot: một systemd user unit trên Linux, một LaunchAgent trên macOS, và một mục cron @reboot làm phương án dự phòng. Các phiên vẫn chạy trên máy chủ khi bạn đóng ứng dụng hay gập laptop. Hộp thư cho biết phiên nào đã xong, bị lỗi hoặc cần đến bạn, và thông báo đẩy cho phép bạn trả lời yêu cầu cấp quyền bằng Cho phép hoặc Từ chối mà không cần mở gì cả. Như mọi tiến trình khác, một lượt đang chạy khi máy khởi động lại sẽ bị cắt ngang, nhưng cuộc trò chuyện vẫn được giữ và bạn có thể làm tiếp từ ứng dụng.

Cùng một daemon đó chạy cả Codex, OpenCode, Grok Build và Antigravity, nên cách này dùng được với bất kỳ agent nào bạn khởi chạy. Chúng tôi trình bày phiên bản nhiều agent trong chạy agent lập trình 24/7.

Cách 4: một máy ở nhà luôn bật

Nếu bạn đã có một máy để bàn luôn bật, như Mac mini, máy trạm hay máy chủ tại nhà, nó có thể đóng vai máy chủ mà không tốn thêm đồng nào. Dùng Remote Control, tmux hoặc Maude trên đó, y như trên VPS. Vài lưu ý thực tế:

  • Không cho máy ngủ. Phần cài đặt Năng lượng của macOS có tùy chọn ngăn máy tự động ngủ khi màn hình tắt. caffeinate giữ một chiếc Mac đang mở luôn thức từ dòng lệnh, nhưng không ngăn được MacBook ngủ khi bạn gập máy.
  • MacBook đã gập chỉ thức ở chế độ gập màn hình (closed-display mode), vốn cần kết nối màn hình ngoài và cắm sạc. Đặt trên bàn thì ổn, bỏ trong balo thì vô dụng.
  • Truy cập từ bên ngoài. Remote Control và relay của Maude đều kết nối ra ngoài, nên máy không cần mở cổng. Với SSH thuần, Tailscale là cách thông dụng.

Lựa chọn

Cách làmVẫn chạy khi đã gập laptopCần cóBáo cho bạn
Phiên trên cloudCóMột repository trên GitHubCó
tmux trên VPSCóMột máy chủKhông
Remote Control trong tmux trên VPSCóMột máy chủ, một gói ClaudeCó
Session daemon (Maude)CóMột máy chủ và ứng dụngCó
Máy ở nhà luôn bậtCóMột máy để bàn không bao giờ ngủTùy công cụ
Remote Control ngay trên laptopKhông, nó kết nối lại khi laptop thức dậyKhông cần thêm gìCó
tmux ngay trên laptopKhôngKhông cần thêm gìKhông
Câu hỏi quyết định

Bạn có một máy luôn thức không? Nếu có, đặt phiên lên đó và dùng tmux, Remote Control hoặc một daemon. Nếu không, công việc phải chuyển tới nơi mặc định luôn thức: một VPS giá rẻ bạn thuê, hoặc phiên trên cloud của Anthropic.

Một điều có ích dù chọn cách nào

Một tác vụ không ai theo dõi nên được viết sao cho không cần theo dõi. Hãy nói rõ khi nào dừng, làm gì khi thất bại và không được động vào đâu. "Sửa các test đang lỗi trong api/; nếu cách sửa cần đổi schema thì dừng lại và giải thích" hiệu quả hơn nhiều so với "sửa test đi". Chỉ dẫn cụ thể giúp bốn mươi phút chạy không người trông không bị đi lạc hướng. Hãy quyết định trước cả việc nó được làm đến đâu mà không cần hỏi: chạy Claude Code với toàn quyền một cách an toàn bàn về sự đánh đổi đó.

Điều khiển từ điện thoại

Để giữ Claude Code chạy trên máy chủ của chính bạn và theo dõi từ điện thoại, xem Claude Code trên điện thoại. Để xem mọi lựa chọn, kể cả các lựa chọn miễn phí, xem mọi cách chạy Claude Code trên iPhone và iPad.

Câu hỏi thường gặp

Claude Code có chạy tiếp khi Mac đi ngủ không?
Không. Một chiếc Mac đang ngủ không chạy gì cả, kể cả Claude Code. Remote Control kết nối lại khi Mac thức dậy, nhưng trong lúc đó không có việc gì được làm. Muốn làm việc tiếp khi đã gập máy, phiên phải nằm trên một thứ luôn thức: VPS, máy để bàn luôn bật, hoặc phiên trên cloud của Anthropic.
tmux có sống sót qua một lần khởi động lại không?
Không. tmux giữ phiên sống qua các lần mất kết nối, không phải qua một lần khởi động lại. Sau khi khởi động lại, claude --continue mở lại cuộc trò chuyện gần nhất trong thư mục đó. Một systemd user service sẽ đưa công cụ trở lại mà bạn không cần đăng nhập, và một session daemon tự đăng ký để khởi chạy lúc boot, chẳng hạn daemon của Maude, cũng vậy.
Tôi có thể chạy Claude Code trên Mac mini ở nhà không?
Có, và đó là một cách dùng Mac mini rất hợp lý. Tắt chế độ tự động ngủ, rồi dùng tmux, Remote Control hoặc một session daemon trên đó như trên VPS. Remote Control và Maude kết nối ra ngoài, nên bạn không cần mở cổng trên router ở nhà.
Tôi có nhận được thông báo khi tác vụ xong không?
Tùy cách bạn chọn. Remote Control có thể gửi thông báo đẩy tới ứng dụng Claude khi bạn bật nó trong /config, và phiên trên cloud được theo dõi trong ứng dụng. Maude gửi thông báo khi một phiên xong, bị lỗi hoặc cần phê duyệt, kèm nút Cho phép và Từ chối. Một tmux session thuần thì hoàn toàn không báo được cho bạn.

Những gì đã thay đổi

  • — Viết lại: phiên trên cloud đã rời bản xem trước nghiên cứu, Remote Control kết nối lại sau khi máy ngủ nhưng không chạy trong lúc ngủ, Remote Control trong tmux trên máy chủ, xử lý khởi động lại bằng systemd và --continue, thêm lựa chọn máy ở nhà luôn bật.
  • — Đăng lần đầu.

Phiên vẫn chạy khi đã gập máy

Maude giữ chúng chạy trên máy chủ của bạn và báo cho bạn khi xong. iOS, iPadOS và Android.

Download Maude on the App Store Get Maude on Google Play