Claude Code CLI: คู่มืออ้างอิงทางเทคนิคฉบับสมบูรณ์
อัปเดตล่าสุด 12 ธันวาคม 2025
อัปเดตธันวาคม 2025: Claude Code พร้อมขับเคลื่อน workflow ทางวิศวกรรมระดับองค์กรด้วยการแก้ไขไฟล์หลายไฟล์แบบ agentic, การผสานรวม MCP protocol กับบริการภายนอกกว่า 300 รายการ, subagents เฉพาะทางสำหรับงานซับซ้อน และระบบ hooks สำหรับการทำ CI/CD อัตโนมัติ ระบบ permission ช่วยให้ควบคุมความปลอดภัยได้อย่างละเอียด การสลับ model ระหว่าง Haiku (เร็ว/ประหยัด) และ Opus (ทรงพลัง) ช่วยปรับสมดุลระหว่างต้นทุนและประสิทธิภาพ
ผมใช้เวลาหลายเดือนทดสอบขีดจำกัดของ Claude Code กับ codebase ระดับ production, CI/CD pipelines และการ deploy ระดับองค์กร คู่มือนี้รวบรวมประสบการณ์เหล่านั้นเป็นเอกสารอ้างอิงฉบับสมบูรณ์ที่ผมอยากให้มีตั้งแต่เริ่มต้น ครอบคลุมทุกอย่างตั้งแต่การติดตั้งครั้งแรกจนถึงรูปแบบการใช้งานขั้นสูงที่ผู้ใช้ส่วนใหญ่ไม่เคยค้นพบ
Claude Code ไม่ใช่แค่ chat interface ที่บังเอิญรู้เรื่องการเขียนโปรแกรม มันเป็นระบบ agentic ที่อ่าน codebase ของคุณ, รันคำสั่ง, แก้ไขไฟล์, จัดการ git workflows, เชื่อมต่อบริการภายนอก และมอบหมายงานซับซ้อนให้ subagents เฉพาะทาง—ทั้งหมดผ่าน command-line interface ที่ผสานเข้ากับวิธีการทำงานจริงของนักพัฒนา
ความแตกต่างระหว่างการใช้ Claude Code แบบทั่วไปกับการใช้อย่างมีประสิทธิภาพคือการเข้าใจสถาปัตยกรรมของมัน: ลำดับชั้นการกำหนดค่าที่ควบคุมพฤติกรรม, ระบบ permission ที่กำกับการดำเนินการ, ระบบ hook ที่เปิดใช้งานการทำงานอัตโนมัติแบบ deterministic, MCP protocol ที่ขยายความสามารถ และระบบ subagent ที่จัดการงานหลายขั้นตอนที่ซับซ้อน เชี่ยวชาญระบบเหล่านี้แล้ว Claude Code จะกลายเป็นตัวคูณพลัง พลาดมันไปและคุณจะสูญเสียคุณค่าส่วนใหญ่ไป
คู่มือนี้สมมติว่าคุณคุ้นเคยกับ command-line tools และต้องการภาพรวมที่สมบูรณ์ ทุกฟีเจอร์มีเอกสารประกอบพร้อม syntax จริง, ตัวอย่างการกำหนดค่าจริง และกรณีพิเศษที่ทำให้ผู้ใช้ที่มีประสบการณ์สะดุด ไม่ว่าคุณจะตั้งค่าโปรเจกต์แรกหรือ deploy ข้ามองค์กรวิศวกรรม ข้อมูลทั้งหมดอยู่ที่นี่
วิธีการทำงานของ Claude Code: แบบจำลองความคิด
ก่อนลงลึกในฟีเจอร์ต่างๆ ให้เข้าใจว่าสถาปัตยกรรมของ Claude Code กำหนดทุกสิ่งที่คุณทำกับมันอย่างไร ระบบทำงานใน 3 ชั้น:
┌─────────────────────────────────────────────────────────┐
│ CLAUDE CODE LAYERS │
├─────────────────────────────────────────────────────────┤
│ EXTENSION LAYER │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ MCP │ │ Hooks │ │ Skills │ │ Plugins │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ External tools, deterministic automation, domain │
│ expertise, packaged extensions │
├─────────────────────────────────────────────────────────┤
│ DELEGATION LAYER │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Subagents (up to 10 parallel) │ │
│ │ Explore | Plan | General-purpose | Custom │ │
│ └─────────────────────────────────────────────────┘ │
│ Isolated contexts for focused work, returns summaries │
├─────────────────────────────────────────────────────────┤
│ CORE LAYER │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Main Conversation Context │ │
│ │ Tools: Read, Edit, Bash, Glob, Grep, etc. │ │
│ └─────────────────────────────────────────────────┘ │
│ Your primary interaction; limited context; costs money │
└─────────────────────────────────────────────────────────┘
Core Layer: การสนทนาหลักของคุณ ทุกข้อความ, การอ่านไฟล์ และผลลัพธ์ของ tool ใช้ context จากหน้าต่าง 200K token ที่ใช้ร่วมกัน (1M สำหรับ premium) เมื่อ context เต็ม Claude จะลืมการตัดสินใจก่อนหน้าและคุณภาพจะลดลง ชั้นนี้มีค่าใช้จ่ายต่อ token
Delegation Layer: Subagents เกิดขึ้นพร้อม context ที่สะอาด ทำงานเฉพาะทาง และส่งกลับสรุป ผลลัพธ์การสำรวจไม่ทำให้การสนทนาหลักบวม—เฉพาะข้อสรุปเท่านั้นที่กลับมา ใช้ Haiku subagents สำหรับการสำรวจ (ถูก, เร็ว) และ Sonnet สำหรับการ implement
Extension Layer: MCP เชื่อมต่อบริการภายนอก (databases, GitHub, Sentry) Hooks รับประกันการรันคำสั่ง shell โดยไม่ขึ้นกับพฤติกรรมของ model Skills เข้ารหัสความเชี่ยวชาญเฉพาะโดเมนที่ Claude นำไปใช้อัตโนมัติ Plugins รวมทั้งหมดนี้เพื่อการแจกจ่าย
ข้อคิดสำคัญ: ผู้ใช้ส่วนใหญ่ทำงานใน Core Layer ทั้งหมด เฝ้าดู context บวมและค่าใช้จ่ายเพิ่ม ผู้ใช้ขั้นสูงผลักงานสำรวจและงานเฉพาะทางไปยัง Delegation Layer, กำหนดค่า Extension Layer สำหรับ workflow ของตน และใช้ Core Layer เฉพาะสำหรับการประสานงานและการตัดสินใจขั้นสุดท้าย
สารบัญ
- การติดตั้งและการยืนยันตัวตน
- โหมดการโต้ตอบหลัก
- ระบบการกำหนดค่าเชิงลึก
- การเลือกและสลับ Model
- ระบบ Permission และความปลอดภัย
- ระบบ Hooks
- MCP (Model Context Protocol)
- Subagents และการมอบหมายงาน
- โหมด Extended Thinking
- รูปแบบ Output
- Slash Commands
- Skills
- ระบบ Plugin
- การจัดการ Memory และ Context
- Input รูปภาพและ Multimodal
- การผสานรวม Git และ Workflows
- การผสานรวม IDE
- รูปแบบการใช้งานขั้นสูง
- Claude Code Remote
- Background Agents
- การจัดการค่าใช้จ่ายและการเรียกเก็บเงิน
- การปรับแต่งประสิทธิภาพ
- การแก้ไขปัญหาและการ Debug
- การ Deploy ระดับองค์กร
- อ้างอิงคีย์ลัด
- แนวปฏิบัติที่ดี
การติดตั้งและการยืนยันตัวตน
ความต้องการของระบบ
Claude Code ทำงานบน macOS 10.15+, Ubuntu 20.04+/Debian 10+ และ Windows 10+ ผ่าน WSL หรือ Git Bash ระบบต้องการ RAM ขั้นต่ำ 4 GB และการเชื่อมต่ออินเทอร์เน็ต ความเข้ากันได้ของ Shell ทำงานได้ดีที่สุดกับ Bash, Zsh หรือ Fish
สำหรับ Windows ทั้ง WSL 1 และ WSL 2 ใช้งานได้ Git Bash ก็ใช้ได้เช่นกันถ้าคุณต้องการ native Windows Alpine Linux และระบบที่ใช้ musl อื่นๆ ต้องการ package เพิ่มเติม:
apk add libgcc libstdc++ ripgrep
export USE_BUILTIN_RIPGREP=0
วิธีการติดตั้ง
การติดตั้งแบบ Native (แนะนำ)
Native binary ให้ประสบการณ์ที่สะอาดที่สุดโดยไม่ต้องพึ่ง Node.js:
# macOS และ Linux
curl -fsSL https://claude.ai/install.sh | bash
# ทางเลือก Homebrew
brew install --cask claude-code
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
# Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
สำหรับการติดตั้งเวอร์ชันเฉพาะ:
# ติดตั้งเวอร์ชันเฉพาะ
curl -fsSL https://claude.ai/install.sh | bash -s 1.0.58
# ติดตั้ง latest อย่างชัดเจน
curl -fsSL https://claude.ai/install.sh | bash -s latest
# Windows PowerShell - เวอร์ชันเฉพาะ
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 1.0.58
การติดตั้งผ่าน NPM
สำหรับสภาพแวดล้อมที่ต้องการ npm:
npm install -g @anthropic-ai/claude-code
อย่าใช้ sudo กับการติดตั้ง npm—มันสร้างปัญหา permission ที่ทำให้ทุกอย่างซับซ้อนขึ้น
การ Migrate จากการติดตั้งที่มีอยู่
ถ้าคุณมีการติดตั้งแบบ npm เดิม ให้ migrate ไปยัง native binary:
claude install
ตัวเลือกการยืนยันตัวตน
Claude Code รองรับเส้นทางการยืนยันตัวตน 3 แบบ แต่ละแบบมีข้อดีข้อเสียต่างกัน:
Claude Console (API billing)
เชื่อมต่อกับ API ของ Anthropic โดยตรงผ่าน console.anthropic.com สร้างบัญชี, ตั้งค่าการเรียกเก็บเงิน และยืนยันตัวตนผ่าน CLI นี่ให้การเรียกเก็บเงินตามการใช้งานพร้อมการเข้าถึง API เต็มรูปแบบ workspace "Claude Code" เฉพาะจะถูกสร้างอัตโนมัติ—คุณไม่สามารถสร้าง API keys สำหรับ workspace นี้ได้ แต่สามารถติดตามการใช้งานได้
การสมัคร Claude Pro หรือ Max
ใช้ข้อมูลบัญชี claude.ai ของคุณ การสมัครครอบคลุมทั้ง web interface และการใช้ CLI ภายใต้แผนรายเดือนเดียว นี่ทำให้การเรียกเก็บเงินง่ายขึ้นสำหรับผู้ใช้รายบุคคลที่ต้องการค่าใช้จ่ายที่คาดเดาได้
แพลตฟอร์มระดับองค์กร
AWS Bedrock, Google Vertex AI และ Microsoft Foundry แต่ละตัวให้การเข้าถึงระดับองค์กรพร้อมความสัมพันธ์การเรียกเก็บเงิน cloud ที่มีอยู่:
# AWS Bedrock
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1
export AWS_PROFILE=your-profile
# Google Vertex AI
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5
export ANTHROPIC_VERTEX_PROJECT_ID=your-project
# Microsoft Foundry
export CLAUDE_CODE_USE_FOUNDRY=1
export ANTHROPIC_FOUNDRY_RESOURCE=your-resource-name
# Optional: API key auth (otherwise uses Entra ID)
export ANTHROPIC_FOUNDRY_API_KEY=your-key
สำหรับการ deploy ระดับองค์กรที่อยู่หลัง proxy หรือผ่าน LLM gateways:
# Corporate proxy
export HTTPS_PROXY='https://proxy.example.com:8080'
# LLM gateway (skip native auth)
export CLAUDE_CODE_USE_BEDROCK=1
export ANTHROPIC_BEDROCK_BASE_URL='https://your-gateway.com/bedrock'
export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1
การตรวจสอบ
claude doctor
คำสั่งนี้รายงานประเภทการติดตั้ง, เวอร์ชัน, การกำหนดค่าระบบ และปัญหาที่ตรวจพบ
การอัปเดต
Claude Code อัปเดตอัตโนมัติโดยค่าเริ่มต้น ตรวจสอบเมื่อเริ่มต้นและเป็นระยะระหว่าง session การอัปเดตดาวน์โหลดเบื้องหลังและนำไปใช้เมื่อเปิดใช้งานครั้งถัดไป
ปิดการอัปเดตอัตโนมัติ:
export DISABLE_AUTOUPDATER=1
หรือใน settings.json:
{
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}
อัปเดตด้วยตนเอง:
claude update
การถอนการติดตั้ง
การติดตั้ง Native (macOS/Linux/WSL):
rm -f ~/.local/bin/claude
rm -rf ~/.claude-code
การติดตั้ง Native (Windows PowerShell):
Remove-Item -Path "$env:LOCALAPPDATA\Programs\claude-code" -Recurse -Force
Remove-Item -Path "$env:LOCALAPPDATA\Microsoft\WindowsApps\claude.exe" -Force
ล้างการกำหนดค่า (ลบการตั้งค่าทั้งหมด):
rm -rf ~/.claude
rm ~/.claude.json
rm -rf .claude
rm -f .mcp.json
โหมดการโต้ตอบหลัก
Interactive REPL
เปิด Claude Code โดยไม่มี arguments เพื่อเข้าสู่ interactive read-eval-print loop:
cd your-project
claude
REPL รักษา context การสนทนาข้ามรอบ พิมพ์คำถามโดยตรง รับคำตอบ และทำต่อจนกว่าจะออกด้วย /exit หรือ Ctrl+D
เริ่มต้นด้วย prompt เริ่มต้นเพื่อโฟกัส session:
claude "explain the authentication flow in this project"
เคล็ดลับผู้เชี่ยวชาญ: REPL รักษา state ข้ามเหตุการณ์ compaction เมื่อ context โตเกินไป Claude จะสรุปการสนทนาเก่าอัตโนมัติในขณะที่รักษาการตัดสินใจสำคัญและ code snippets คุณสามารถทริกเกอร์สิ่งนี้ด้วยตนเองด้วย /compact หรือเพิ่มคำแนะนำเฉพาะสำหรับสิ่งที่ต้องการเก็บรักษา
โหมด Non-Interactive
Print mode (-p) รันคำถามเดียวและออก:
# คำถามโดยตรง
claude -p "list all TODO comments in this project"
# ประมวลผล input ที่ pipe
cat error.log | claude -p "identify the root cause of these failures"
# เชื่อมต่อกับ tools อื่น
claude -p "generate a README" > README.md
สำหรับ structured output ที่เหมาะสำหรับการ parse ใน scripts:
claude -p "count lines by file type" --output-format json
JSON output รวมทุกอย่างที่คุณต้องการสำหรับ automation:
{
"type": "result",
"subtype": "success",
"total_cost_usd": 0.0034,
"is_error": false,
"duration_ms": 2847,
"duration_api_ms": 1923,
"num_turns": 4,
"result": "Response text here...",
"session_id": "abc-123-d
[เนื้อหาถูกตัดทอนสำหรับการแปล]