Bạn cài Claude Code trên laptop, giao cho nó refactor cả module rồi đi ngủ. Sáng dậy mở máy lên thì WiFi rớt từ lúc nào, session chết, agent dừng giữa chừng. Nghe quen không? Bài này giải thích Claude Code là gì và cách dời nó lên VPS để chạy 24/7, không cần để máy bật cả đêm.
Claude Code là gì?
Claude Code là CLI agent code của Anthropic - cái tên đầy đủ là tool agentic chạy thẳng trong terminal. Khác với việc bạn copy-paste code qua lại trên web chat, Claude Code sống ngay trong thư mục dự án của bạn: nó đọc được toàn bộ codebase, tự chạy lệnh shell, sửa file, chạy test, commit git, tất cả qua ngôn ngữ tự nhiên. Bạn gõ "fix cái bug ở auth.py rồi chạy test lại", nó tự làm cả chuỗi việc đó.
Điểm mấu chốt để hiểu đúng: Claude Code là một process Node.js chạy trên máy bạn. Model (Opus 4.7, context 1M token) thì nằm trên server Anthropic, nhưng cái terminal agent - cái thực sự đọc file, gõ lệnh `npm install`, sửa code của bạn - chạy local. Tức là nó cần một máy đang bật, có internet, để làm việc.
Claude Code hoạt động thế nào (agentic loop)
Để biết vì sao nó cần máy bật liên tục, cần hiểu nó làm việc theo vòng lặp:
- Bạn ra yêu cầu (prompt).
- Model suy nghĩ, quyết định cần đọc file nào, chạy lệnh gì.
- Agent local thực thi lệnh đó trên máy bạn (đọc file, chạy bash, sửa code).
- Kết quả gửi ngược lên model, model nghĩ tiếp, ra lệnh tiếp.
- Lặp lại cho tới khi xong việc.
Một task lớn như "viết test cho toàn bộ service và sửa các lỗi phát sinh" có thể lặp vòng này hàng chục, hàng trăm lần, kéo dài 20-40 phút. Suốt thời gian đó máy phải bật, terminal phải mở, mạng phải thông. Đứt một mắt xích là agent dừng.
Vì sao chạy trên VPS ăn đứt laptop
Đây là vấn đề thật của dân code với AI agent: bạn không thể ngồi canh màn hình suốt khi agent làm task dài. Mà laptop thì không sinh ra để chạy nền 24/7.
| Vấn đề | Laptop của bạn | VPS |
|---|---|---|
| Chạy task qua đêm | Máy sleep, agent chết | Bật liên tục, agent chạy tới sáng |
| Rớt WiFi giữa chừng | SSH/terminal đứt, session mất | tmux giữ session, kết nối lại là thấy |
| Tốc độ mạng tới API | Phụ thuộc WiFi nhà | Datacenter, băng thông ổn định |
| Đóng máy đi cafe | Phải để máy bật ở nhà | Đóng laptop thoải mái, agent vẫn chạy |
| Chạy nhiều agent song song | Quạt kêu, máy nóng | Mỗi window một agent, mát rượi |
Mô hình lý tưởng: laptop chỉ là cái "màn hình điều khiển". Agent thật chạy trên VPS. Bạn SSH vào ra lệnh, detach, đóng máy. Agent vẫn cày. Mai mở máy SSH lại, xem kết quả. Đây là pattern mà nhiều dev đang dùng để thay cho việc mua một con Mac Mini chỉ để chạy agent.
Setup Claude Code trên VPS Ubuntu từng bước
Phần này làm trên một con VPS Ubuntu 22.04/24.04 sạch. Cấu hình nhẹ là đủ vì agent không ăn nhiều CPU/RAM (model chạy trên cloud mà), 1-2 vCPU với 2GB RAM là chạy mượt cho hầu hết task. Nếu bạn build/compile project nặng thì lên 4GB.
Bước 1: SSH vào VPS và cập nhật hệ thống
ssh root@IP_VPS_CUA_BAN
apt update && apt upgrade -y
Bước 2: Cài Node.js (Claude Code cần Node 18+)
Dùng NodeSource để có bản LTS mới:
curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -
apt install -y nodejs
node --version # kiểm tra, nên là v20 trở lên
Bước 3: Tạo user thường (đừng chạy agent bằng root)
adduser coder
usermod -aG sudo coder
su - coder
Bước 4: Cài Claude Code
Cách qua npm (đơn giản, được hỗ trợ đầy đủ):
npm install -g @anthropic-ai/claude-code
Nếu gặp lỗi permission khi cài global bằng user thường, cấu hình npm dùng thư mục trong home thay vì sudo:
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm install -g @anthropic-ai/claude-code
Bước 5: Đăng nhập
Lần đầu chạy `claude` trong thư mục dự án, nó sẽ mở luồng OAuth để kết nối tài khoản Anthropic của bạn:
cd ~/du-an-cua-ban
claude
Trên VPS không có trình duyệt, nó sẽ in ra một URL. Copy URL đó dán vào trình duyệt trên laptop, đăng nhập, copy mã trả về dán lại vào terminal. Xong là kết nối được tài khoản (Pro/Max) hoặc bạn có thể cấu hình API key qua biến môi trường `ANTHROPIC_API_KEY`.
tmux: giữ session sống khi SSH đứt
Đây là mảnh ghép quan trọng nhất. Nếu bạn chỉ SSH vào rồi chạy `claude`, khi SSH đứt (rớt mạng, đóng laptop) thì process bị kill theo. tmux giải quyết đúng vấn đề này: nó tạo một session terminal chạy trên VPS, độc lập với kết nối SSH của bạn.
Cài và tạo session
sudo apt install -y tmux
tmux new -s claude
Lệnh `tmux new -s claude` tạo một session tên "claude". Giờ bạn đang ở bên trong nó. Chạy agent như bình thường:
cd ~/du-an-cua-ban
claude
Giao task cho nó (ví dụ "viết unit test cho toàn bộ thư mục src/, sửa các lỗi phát sinh, chạy lại cho tới khi pass"). Khi agent đang cày, bạn muốn rời đi: nhấn Ctrl+B rồi thả ra, nhấn tiếp D (detach). Bạn quay về terminal SSH bình thường, nhưng session tmux vẫn chạy ngầm trên VPS cùng con agent bên trong.
Giờ bạn có thể gõ `exit` để thoát SSH, đóng laptop, đi ngủ. Agent vẫn chạy.
Quay lại xem kết quả
Sáng mai, SSH lại vào VPS rồi attach vào đúng session cũ:
ssh coder@IP_VPS_CUA_BAN
tmux attach -t claude
Bạn thấy lại đúng màn hình lúc rời đi, kèm toàn bộ output agent đã làm. Liệt kê các session đang chạy bằng `tmux ls`.
Verify: chứng minh nó sống sót khi SSH đứt
Đừng tin lý thuyết, hãy tự test. Đây là cách kiểm chứng nhanh:
# Trong session tmux, chạy một lệnh đếm số chạy nền lâu
tmux new -s test
while true; do date >> ~/proof.log; sleep 5; done
Detach (Ctrl+B rồi D), thoát SSH hẳn (`exit`), thậm chí ngắt WiFi laptop. Đợi vài phút rồi SSH lại:
cat ~/proof.log
Nếu thấy file vẫn ghi thêm dòng timestamp trong khoảng thời gian bạn ngắt kết nối, nghĩa là tiến trình bên trong tmux không hề bị ảnh hưởng bởi việc SSH đứt. Đó chính là điều giúp Claude Code chạy được qua đêm.
Một vài thói quen nên có
Khi đã chạy agent trên VPS, vài thứ giúp bạn đỡ đau đầu về sau. Đặt API key qua biến môi trường thay vì gõ tay mỗi lần, đừng hardcode key vào file commit. Bật firewall (ufw) chỉ mở cổng SSH. Dùng SSH key thay password để login cho an toàn. Và nếu muốn đào sâu các pattern chạy nhiều agent song song, log output ra file, cấu hình SSH keep-alive thì tham khảo thêm hướng dẫn tổng hợp về VPS cho vibe coder của bên mình.
Cần VPS cấu hình nào?
Vì model chạy trên cloud, agent local nhẹ nhàng, nên bạn không cần VPS khủng. Mức tham khảo:
| Nhu cầu | Gói gợi ý | Cấu hình |
|---|---|---|
| Chạy 1 agent, task nhẹ-vừa | VPS 20 - 199k/tháng | 1 vCPU / 1GB / 20GB |
| Chạy agent + build project, vài session | VPS 50 - 639k/tháng | 4 vCPU / 4GB / 50GB |
| Nhiều agent song song, compile nặng | VPS 80 - 999k/tháng | 6 vCPU / 6GB / 80GB |
Tất cả đều dùng ổ Ceph SSD Enterprise NVMe, RAM ECC, sẵn 1 IPv4 + IPv6, khởi tạo trong 60 giây nên bạn cài đặt được ngay trong vài phút.
Cho Claude Code một ngôi nhà chạy 24/7
Đừng để laptop phải bật cả đêm chỉ để giữ agent sống. Dời nó lên VPS TND, đóng máy đi ngủ, sáng mai xem kết quả. Khởi tạo 60 giây, SSD NVMe, có IPv6, giá từ 199k/tháng.

