Công cụ AI Coding

Claude Code Desktop App Là Gì? Hướng Dẫn Toàn Diện 2026

Aug 19, 202616 phút đọc

Claude Code Desktop App là ứng dụng native cho macOS, Windows và Linux (beta), gộp ba tab trong một cửa sổ: Chat (trò chuyện thường, không đụng file - giống claude.ai), Cowork (agent nền tự trị chạy trong VM sandbox, on-device hoặc remote) và Code (Claude Code đầy đủ nhưng có giao diện: nhiều session song song, xem diff trực quan, tác vụ theo lịch - không cần mở terminal). Nó không thay CLI, mà là một cách khác để chạy cùng một Claude Code.

- Các mốc phiên bản, yêu cầu gói và giới hạn nền tảng trong bài đã đối chiếu tài liệu chính thức tại thời điểm viết (20/08/2026); tính năng Desktop đổi rất nhanh, hãy kiểm tra docs live trước khi làm theo đúng đường dẫn menu.

Claude Code Desktop App là gì? (Chat vs Cowork vs Code)

Nói ngắn gọn: đây là một ứng dụng native (không phải web wrapper) mở ra ba tab riêng biệt, mỗi tab dùng cho một việc khác nhau. Bạn không cần chọn "cài Desktop hay CLI" - Desktop chỉ là thêm một mặt kính lên trên cùng một Claude Code chạy nền terminal mà bạn có thể đã quen.

TabLàm gìTruy cập file
ChatTrò chuyện thông thường, hỏi đáp, brainstorm - giống trải nghiệm claude.aiKhông
CoworkAgent nền tự trị, chạy tác vụ dài trong VM sandbox (on-device hoặc remote), báo lại khi xongTrong sandbox riêng, không phải file gốc trên máy
CodeTrợ lý coding tương tác - trọng tâm của bài nàyTrực tiếp trên file local của project

Ba tab dùng chung một tài khoản và một ứng dụng, nhưng mô hình chạy khác hẳn nhau: Chat không đụng file của bạn, Cowork chạy trong một máy ảo cách ly, còn Code mới là nơi Claude Code thật sự đọc/sửa code trên máy bạn - đúng cơ chế bạn đã biết từ CLI, chỉ khác là có sidebar, tab, và xem diff bằng mắt thay vì cuộn log terminal.

Vì sao tách ba tab thay vì gộp một khung chat duy nhất? Vì ba việc này có rủi ro khác nhau: hỏi đáp không cần quyền ghi file, một agent nền chạy hàng chục phút không nên đọc thẳng ổ đĩa của bạn, còn việc sửa code thì ngược lại - phải chạm được file thật mới có ích. Tách tab giúp bạn nhìn ngay một session đang ở chế độ nào chỉ bằng cách nhìn nó nằm ở tab nào, thay vì phải nhớ mình đã bật quyền gì cho phiên chat đó.

Cài Desktop App - macOS, Windows, Linux (Beta), WSL

Desktop yêu cầu gói Pro, Max, Team hoặc Enterprise (không có ở gói Free) - kiểm tra lại gói hiện tại của bạn trước khi cài, vì điều kiện gói theo tính năng có thể đổi.

Nền tảngCách càiGhi chú
macOSFile .dmg universal (chạy được cả Intel lẫn Apple Silicon)Không cần chọn kiến trúc riêng
WindowsInstaller x64 hoặc ARM64Cần cài sẵn Git for Windows; khởi động lại máy sau khi cài
Linux (beta)Apt repo chính thứcChỉ Ubuntu 22.04+/Debian 12+, chỉ x86_64/arm64; chưa có Computer Use hay dictation
WSLChạy trên Windows, session thực thi bên trong distro WSL2Dùng path Linux gốc, cần git ngay trong distro; chưa có terminal tích hợp, connectors, plugin, file-browser hay @mention

Vài điểm dễ vấp: Windows cần Git for Windows cài sẵn (không tự động cài kèm), và trên Linux beta, một loạt tính năng "vui" như Computer Use hay dictation giọng nói chưa có - đây vẫn là bản beta, đừng kỳ vọng full parity với macOS/Windows. Với WSL, Claude Code chạy đúng bên trong distro Linux của bạn (path kiểu /home/user/project, không phải C:\Users\...), nên mọi git hook, permission, symlink đều hành xử như Linux thật - đổi lại bạn mất tạm thời vài tiện ích UI như file-browser tích hợp.

Nếu được chọn, nền tảng nào "mượt" nhất hiện tại? Với đa số reader, macOS và Windows là hai bản ổn định đầy đủ tính năng - dùng được ngay không phải đánh đổi gì. Linux vẫn đang beta nên nếu bạn cần Computer Use hoặc dictation, ở lại CLI hoặc chờ bản ổn định. WSL hợp nhất khi bạn vốn đã làm việc trong distro Linux trên Windows và không muốn Desktop "kéo" bạn ra khỏi path/tooling quen thuộc - nhưng chấp nhận thiếu vài tiện ích UI như đã nêu.

Bắt đầu session đầu tiên trong tab Code

Luồng khởi tạo một session mới khá thẳng: chọn môi trường (Local / Cloud / SSH / WSL) → chọn thư mục project → chọn model → chọn chế độ quyền (permission mode) → gõ task → xem diff. Không có bước nào bắt buộc phải gõ lệnh terminal.

Chế độ quyền quyết định agent được tự ý làm gì trước khi cần bạn bấm duyệt:

  • Manual - hỏi duyệt cho từng thay đổi file và từng lệnh.
  • Accept edits - tự áp các sửa file, vẫn hỏi trước lệnh shell có rủi ro.
  • Plan - chỉ đọc và lên kế hoạch, không sửa file nào cho tới khi bạn duyệt plan.
  • Auto - tự chạy phần lớn tác vụ liên tục, chỉ dừng ở hành động rủi ro cao.
  • Bypass - bỏ qua gần hết xác nhận, tương đương --dangerously-skip-permissions ở CLI - dùng rất cẩn thận.

Với người mới chuyển từ CLI sang, mẹo nhỏ: chọn Plan cho lần đầu chạy trên một repo lạ, đọc kỹ plan agent đề xuất, rồi mới nâng lên Accept edits hoặc Auto khi đã tin tưởng.

Bốn lựa chọn môi trường không chỉ khác tên - chúng quyết định code thực sự chạy ở đâu. Local chạy ngay trên máy bạn, đọc/ghi file system thật. Cloud chạy trong sandbox do Anthropic host, hữu ích khi máy bạn yếu hoặc bạn chưa muốn cấp quyền ghi trực tiếp lên máy. SSH kết nối tới một máy chủ từ xa bạn tự quản (dev box, server nội bộ) và chạy agent ngay trên đó. WSL chạy trong distro Linux ngay trên máy Windows, như đã nói ở phần cài đặt. Chọn sai môi trường là nguyên nhân phổ biến nhất khiến agent "không thấy" file bạn tưởng nó đang thấy - việc đầu tiên khi debug là kiểm tra lại đang chạy ở môi trường nào.

Chạy nhiều session song song với Git-worktree isolation

Đây là chỗ Desktop hơn hẳn việc mở nhiều tab terminal thủ công: mỗi session tab trong sidebar tự động chạy trên một Git worktree riêng, mặc định nằm ở <project-root>/.claude/worktrees/ (bạn đổi được vị trí và tiền tố tên branch). Nghĩa là hai session cùng sửa cùng một repo mà không giẫm chân nhau - mỗi cái có branch, working directory riêng.

Điều hướng giữa các session: Ctrl+Tab để lướt qua các tab sidebar, giữ Ctrl/Cmd rồi click để mở split view xem hai session song song trên màn hình. Nếu có file bị gitignore mà bạn vẫn muốn mọi worktree đều thấy (ví dụ .env.local mẫu, cert dev), khai báo trong .worktreeinclude để nó được copy sang từng worktree mới thay vì phải chép tay.

Ví dụ minh hoạ cách dùng: bạn có hai việc độc lập trong cùng một repo - sửa một bug ở API và viết test cho một feature khác không liên quan. Thay vì làm tuần tự, mở hai session tab, mỗi cái tự có worktree và branch riêng, để cả hai chạy song song trong lúc bạn làm việc khác trên máy; khi cả hai xong, bạn review diff của từng cái rồi merge lần lượt - không sợ hai agent đụng file của nhau vì chúng vốn không nằm chung một working directory.

Xem diff trực quan và theo dõi PR

Mỗi thay đổi hiện chỉ số diff kiểu +12 -1 ngay trên tab session, kèm comment theo từng dòng khi bạn muốn phản hồi trực tiếp vào code thay vì gõ lại trong chat.

Nút "Review code" chạy một lượt review tự động nhưng chỉ báo các vấn đề tín hiệu cao - lỗi compile, logic bug, lỗ hổng bảo mật - không báo style hay lint vặt (đỡ nhiễu). Nếu bạn dùng GitHub, Desktop còn có toggle auto-fix và auto-merge cho CI: agent tự sửa lỗi CI fail rồi merge khi xanh, nhưng chỉ hoạt động nếu máy bạn có gh CLI đã đăng nhập, và merge luôn ở dạng squash-merge (không tuỳ chọn merge commit hay rebase).

Điểm hay của cách chia này: bạn không phải đọc lại toàn bộ diff để tìm vài chỗ đáng lo - "Review code" đã lọc sẵn tín hiệu cao, còn việc soát style/format vẫn nên để lint/CI lo như bình thường. Với những ai quen review PR trên GitHub, cảm giác dùng khá giống - chỉ khác là bạn review ngay trong lúc agent còn đang chạy, trước khi mở PR thật, nên sửa sai sớm hơn nhiều so với đợi CI báo về.

Tác vụ theo lịch: Scheduled Tasks vs. Cloud Routines vs. /loop

Đây là phần dễ gây nhầm nhất vì Claude Code giờ có ba cơ chế lặp/lịch khác nhau, không phải một:

Cơ chếChạy ở đâuCần máy đang mở?Truy cập file localInterval tối thiểu
Cloud RoutinesTrên cloud của AnthropicKhôngKhông~1 giờ
Desktop Scheduled TasksTrên máy bạn, qua app DesktopCó, và máy phải đang thức (không sleep)~1 phút
CLI /loopTrên máy bạn, qua terminal~1 phút

Nói ngắn: muốn chạy khi máy tắt/đóng app, chọn Cloud Routines (đổi lại không đụng được file local, chu kỳ tối thiểu thưa hơn nhiều - khoảng 1 giờ so với 1 phút). Muốn tác vụ đọc/ghi file local với chu kỳ ngắn, chọn Desktop task hoặc CLI /loop - nhưng cả hai chỉ chạy khi máy đang mở và thức. Nếu máy sleep đúng lúc lịch tới, Desktop có cơ chế catch-up: khi máy thức lại, nó chạy đúng một lượt bị bỏ lỡ (không dồn chạy bù nhiều lượt). Muốn hiểu sâu Routines phía cloud, xem thêm Claude Code Routines là gì.

Ví dụ chọn cơ chế nào cho việc gì: một tác vụ kiểu "mỗi sáng kiểm tra dependency lỗi thời và mở PR cập nhật" hợp với Cloud Routines - không cần máy bạn tham gia. Một tác vụ kiểu "chạy lại test suite mỗi khi có file thay đổi trong lúc mình đang code" hợp với CLI /loop hoặc Desktop task - vì nó cần đọc file local liên tục với chu kỳ ngắn, và bạn vốn đang ngồi máy lúc đó rồi.

iOS Simulator Pane (chỉ macOS, beta)

Nếu bạn làm app iOS, Desktop có một pane hiển thị iOS Simulator ngay cạnh session code - hữu ích để agent tự chạy và soi kết quả UI thay vì bạn phải tự mở Simulator riêng. Vài giới hạn cần biết: chỉ chạy trên macOS, cần Xcode 26.x (Xcode 27 hiện không tương thích do đổi Device Hub), chỉ dùng được với session local (không phải Cloud/SSH), tối đa 4 thiết bị mỗi session, và mỗi thiết bị cần bạn xác nhận riêng trước khi agent điều khiển. Một điểm nên biết trước: screenshot từ Simulator được gửi tới Anthropic theo chính sách lưu trữ thông thường - nếu app bạn có dữ liệu nhạy cảm hiển thị trên màn hình test, cân nhắc trước khi bật pane này.

Lý do pane này đáng chú ý dù còn beta: thay vì bạn tự build, tự mở Simulator, tự chụp màn hình để mô tả lỗi cho agent, giờ agent tự thấy kết quả UI và tự lặp lại vòng sửa-build-xem mà không cần bạn làm cầu nối. Đổi lại, đây vẫn là tính năng non - kỳ vọng đôi lúc phải khởi động lại pane hoặc gặp giới hạn phiên bản Xcode như đã nêu.

Khởi động session từ điện thoại với Dispatch

Dispatch là một cuộc hội thoại Cowork bền vững: bạn nhắn việc từ điện thoại (app Claude di động hoặc web), và nếu nội dung có dáng dấp một task lập trình, nó tự route sang một session tab Code được gắn nhãn Dispatch trên Desktop - bạn nhận push notification khi xong hoặc khi cần duyệt quyền. Cần lưu ý: Dispatch chỉ có ở gói Pro/Max, chưa có ở Team/Enterprise; và quyền được duyệt trong một session sinh ra từ Dispatch chỉ có hiệu lực 30 phút rồi hết hạn (khác với session mở bình thường, nơi quyền duyệt giữ nguyên cho cả phiên).

Ví dụ minh hoạ: bạn đang di chuyển, nhận thông báo build lỗi trên CI, và gõ ngay từ điện thoại "sửa lỗi build, chạy lại test rồi mở PR" - Dispatch nhận diện đây là việc lập trình, tạo một session Code gắn nhãn Dispatch, và khi bạn mở máy tính lên, session đó đã chạy sẵn, chờ bạn duyệt quyền hoặc xem kết quả thay vì phải bắt đầu lại từ đầu.

Desktop vs. CLI vs. Web - nên dùng cái nào?

Ba mặt của cùng một Claude Code, đọc chung cấu hình (CLAUDE.md, MCP, hooks, skills, settings) - nên bạn không mất gì khi chuyển qua lại, chỉ khác cách tương tác:

Tiêu chíDesktopCLIWeb (claude.ai/code)
Session song song có UICó (tab + split view)Được, nhưng tự quản terminal/tmuxGiới hạn
Xem diff trực quanCó, tích hợp sẵnKhông (đọc qua git diff)Có, nhưng cloud-only
Scripting / tự động hoáKhông (không có --print, không dùng Agent SDK)Có (flags, --print, tích hợp CI/script)Không
Chế độ quyền5 mode kể trênĐầy đủ, kể cả dontAskGiới hạn
Hỗ trợ distro LinuxChỉ Ubuntu/Debian (beta)Rộng hơn nhiềuKhông cần cài
Truy cập file localKhông - hoàn toàn cloud

Vài lệnh CLI có "bản dịch" trực tiếp sang Desktop: chọn model trong dropdown của session tương đương flag --model; click lại vào một tab session cũ trong sidebar tương đương --resume tiếp tục một session trước đó; và chế độ Bypass ở Desktop chính là --dangerously-skip-permissions ở CLI. Điểm khác đáng nhớ: CLI có thêm chế độ dontAsk mà Desktop hiện chưa có - nếu workflow của bạn phụ thuộc vào chế độ này, ở lại CLI cho phần đó.

Nói thẳng: nếu bạn cần chạy Claude Code trong pipeline CI, script tự động, hay cần --print/Agent SDK, Desktop không phải chỗ dùng - đó vẫn là sân của CLI. Nếu bạn muốn thao tác nhanh từ trình duyệt mà không cần cài gì, dùng Claude Code trên web. Còn nếu bạn coding hàng ngày, muốn nhiều session song song có UI và xem diff bằng mắt, Desktop là lựa chọn thoải mái nhất. Một tiện ích nhỏ: lệnh /desktop trong CLI sẽ chuyển thẳng session đang chạy sang app Desktop (hiện chỉ macOS và Windows x64, cần đăng nhập bằng subscription - không dùng được với API key).

Dùng AgentKit trong tab Code của Desktop

Một câu hỏi hay gặp: skill/kit cài qua AgentKit trên CLI có hoạt động trong Desktop không? Theo tài liệu Desktop, ứng dụng đọc chung một bộ cấu hình ~/.claude với CLI (skills, settings, MCP) - nên về lý thuyết, skill do AgentKit cài cũng sẽ xuất hiện tương tự, gọi bằng / trong ô nhập prompt giống cách bạn gõ lệnh kiểu $ak: ở CLI. Nói rõ để không quá lời: đây là suy luận từ cách Desktop mô tả "dùng chung cấu hình", chưa có tài liệu AgentKit nào xác nhận trực tiếp việc chạy trong tab Code Desktop - nếu việc này quan trọng với bạn, hãy tự thử trên máy trước khi phụ thuộc vào nó cho công việc thật. Muốn hiểu AgentKit làm gì và có đáng mua không, xem review AgentKit (agentkit.best).

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

Claude Code Desktop App có miễn phí không?

Không có ở gói Free. Tab Code cần gói Pro, Max, Team hoặc Enterprise; riêng Dispatch chỉ có ở Pro/Max, chưa có ở Team/Enterprise. Kiểm tra lại điều kiện gói hiện tại trước khi cài vì các mốc này có thể đổi.

Đã dùng Desktop rồi có cần cài thêm CLI không?

Không bắt buộc cho việc coding hàng ngày - Desktop chạy được Claude Code đầy đủ qua tab Code. Nhưng nếu bạn cần scripting, chạy trong CI, dùng --print hoặc Agent SDK, đó là việc chỉ CLI làm được, Desktop không có.

Claude Code Desktop có chạy trên Linux không?

Có, nhưng đang ở bản beta: chỉ hỗ trợ Ubuntu 22.04+ và Debian 12+, chỉ kiến trúc x86_64/arm64, và chưa có Computer Use hay dictation giọng nói như macOS/Windows.

Khác gì giữa Desktop và Claude Code trên web?

Web (claude.ai/code) chạy hoàn toàn trên cloud, không đụng file local trên máy bạn và không cần cài gì. Desktop là app native, đọc/sửa trực tiếp file trên máy, có nhiều session song song với xem diff trực quan - đổi lại phải cài đặt và cần máy đang mở.

Dùng Claude Code Desktop với WSL được không?

Được, trên Windows: session chạy thật sự bên trong distro WSL2 với path Linux gốc, cần cài git trong distro. Một số tính năng UI như terminal tích hợp, connectors, plugin và @mention chưa có trên chế độ WSL tại thời điểm viết.

Tác vụ theo lịch có chạy khi máy tắt không?

Desktop Scheduled Tasks và CLI /loop thì không - cả hai cần máy đang mở và thức. Nếu máy sleep đúng lịch, Desktop chạy bù đúng một lượt bị bỏ lỡ khi máy thức lại. Muốn tác vụ chạy dù máy tắt, dùng Cloud Routines (đổi lại không truy cập được file local và chu kỳ tối thiểu thưa hơn, khoảng 1 giờ).

Kết luận

Desktop không phải một Claude Code khác - nó là cùng một Claude Code, thêm giao diện cho việc chạy song song, xem diff, và lên lịch mà không cần mở terminal. Cài đúng nền tảng (nhớ Git for Windows, nhớ Linux beta còn thiếu vài tính năng), chọn permission mode phù hợp lúc mới bắt đầu, và dùng đúng công cụ cho đúng việc - Desktop cho coding trực quan hàng ngày, CLI cho script và CI, Web cho thao tác nhanh không cần cài. Muốn đào sâu phần CLI, xem Claude Code là gì.

J

Jasmine

Tác giả · Jasmine Daily

Người viết nên Jasmine Daily - ghi lại những suy nghĩ, trải nghiệm và những khoảnh khắc đời thường. Thật lòng, không vội vàng, không hoàn hảo.

Jasmine Daily

Vẫn còn nhiều điều đang chờ được đọc.

Nếu bài viết này chạm đến bạn, hãy ghé xem thêm vài trang khác trong cuốn nhật ký này.

Đọc tiếp

Bài viết liên quan