SpyBara
Go Premium

tools-reference.md 2026-05-10 23:03 UTC to 2026-05-11 23:00 UTC

179 added, 13 removed.

2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

๋„๊ตฌ ์ฐธ์กฐ

Claude Code๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์˜ ์™„์ „ํ•œ ์ฐธ์กฐ ์ž๋ฃŒ์ด๋ฉฐ, ๊ถŒํ•œ ์š”๊ตฌ์‚ฌํ•ญ ๋ฐ ๋„๊ตฌ๋ณ„ ๋™์ž‘์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

Claude Code๋Š” ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋„๊ตฌ ์„ธํŠธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„๊ตฌ ์ด๋ฆ„์€ ๊ถŒํ•œ ๊ทœ์น™, subagent ๋„๊ตฌ ๋ชฉ๋ก, ๋ฐ hook ๋งค์ฒ˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ •ํ™•ํ•œ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ๋„๊ตฌ๋ฅผ ์™„์ „ํžˆ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ๊ถŒํ•œ ์„ค์ •์˜ deny ๋ฐฐ์—ด์— ํ•ด๋‹น ์ด๋ฆ„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ •์˜ ๋„๊ตฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด MCP ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. Claude๋ฅผ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ”„๋กฌํ”„ํŠธ ๊ธฐ๋ฐ˜ ์›Œํฌํ”Œ๋กœ์šฐ๋กœ ํ™•์žฅํ•˜๋ ค๋ฉด skill์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ƒˆ๋กœ์šด ๋„๊ตฌ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋Œ€์‹  ๊ธฐ์กด Skill ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๋„๊ตฌ ์„ค๋ช… ํ•„์š”ํ•œ ๊ถŒํ•œ
Agent ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ž์ฒด context window๋ฅผ ๊ฐ€์ง„ subagent๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. Agent ๋„๊ตฌ ๋™์ž‘ ์ฐธ์กฐ ์•„๋‹ˆ์˜ค
AskUserQuestion ์š”๊ตฌ์‚ฌํ•ญ์„ ์ˆ˜์ง‘ํ•˜๊ฑฐ๋‚˜ ๋ชจํ˜ธํ•จ์„ ๋ช…ํ™•ํžˆ ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ๊ด€์‹ ์งˆ๋ฌธ์„ ํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
Bash ํ™˜๊ฒฝ์—์„œ shell ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Bash ๋„๊ตฌ ๋™์ž‘ ์ฐธ์กฐ ์˜ˆ
CronCreate ํ˜„์žฌ ์„ธ์…˜ ๋‚ด์—์„œ ๋ฐ˜๋ณต ๋˜๋Š” ์ผํšŒ์„ฑ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์˜ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…์€ ์„ธ์…˜ ๋ฒ”์œ„์ด๋ฉฐ --resume ๋˜๋Š” --continue์—์„œ ๋งŒ๋ฃŒ๋˜์ง€ ์•Š์œผ๋ฉด ๋ณต์›๋ฉ๋‹ˆ๋‹ค. ์˜ˆ์•ฝ๋œ ์ž‘์—… ์ฐธ์กฐ ์•„๋‹ˆ์˜ค
CronDelete ID๋กœ ์˜ˆ์•ฝ๋œ ์ž‘์—…์„ ์ทจ์†Œํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
CronList ์„ธ์…˜์˜ ๋ชจ๋“  ์˜ˆ์•ฝ๋œ ์ž‘์—…์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
Edit ํŠน์ • ํŒŒ์ผ์— ๋Œ€ํ•œ ๋Œ€์ƒ ํŽธ์ง‘์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. Edit ๋„๊ตฌ ๋™์ž‘ ์ฐธ์กฐ ์˜ˆ
EnterPlanMode Plan Mode๋กœ ์ „ํ™˜ํ•˜์—ฌ ์ฝ”๋”ฉ ์ „์— ์ ‘๊ทผ ๋ฐฉ์‹์„ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
EnterWorktree ๊ฒฉ๋ฆฌ๋œ git worktree๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด worktree๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋Œ€์‹  ํ˜„์žฌ ์ €์žฅ์†Œ์˜ ๊ธฐ์กด worktree๋กœ ์ „ํ™˜ํ•˜๋ ค๋ฉด path๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. Subagent์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
ExitPlanMode ์Šน์ธ์„ ์œ„ํ•œ ๊ณ„ํš์„ ์ œ์‹œํ•˜๊ณ  Plan Mode๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค ์˜ˆ
ExitWorktree worktree ์„ธ์…˜์„ ์ข…๋ฃŒํ•˜๊ณ  ์›๋ž˜ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. Subagent์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
Glob ํŒจํ„ด ๋งค์นญ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŒŒ์ผ์„ ์ฐพ์Šต๋‹ˆ๋‹ค. Glob ๋„๊ตฌ ๋™์ž‘ ์ฐธ์กฐ ์•„๋‹ˆ์˜ค
Grep ํŒŒ์ผ ๋‚ด์šฉ์—์„œ ํŒจํ„ด์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. Grep ๋„๊ตฌ ๋™์ž‘ ์ฐธ์กฐ ์•„๋‹ˆ์˜ค
ListMcpResourcesTool ์—ฐ๊ฒฐ๋œ MCP ์„œ๋ฒ„์—์„œ ๋…ธ์ถœ๋œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
LSP ์–ธ์–ด ์„œ๋ฒ„๋ฅผ ํ†ตํ•œ ์ฝ”๋“œ ์ธํ…”๋ฆฌ์ „์Šค: ์ •์˜๋กœ ์ด๋™, ์ฐธ์กฐ ์ฐพ๊ธฐ, ํƒ€์ž… ์˜ค๋ฅ˜ ๋ฐ ๊ฒฝ๊ณ  ๋ณด๊ณ . LSP ๋„๊ตฌ ๋™์ž‘ ์ฐธ์กฐ ์•„๋‹ˆ์˜ค
Monitor ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ๊ฐ ์ถœ๋ ฅ ๋ผ์ธ์„ Claude์— ๋‹ค์‹œ ์ „๋‹ฌํ•˜๋ฏ€๋กœ, Claude๋Š” ๋กœ๊ทธ ํ•ญ๋ชฉ, ํŒŒ์ผ ๋ณ€๊ฒฝ ๋˜๋Š” ๋Œ€ํ™” ์ค‘ ํด๋ง๋œ ์ƒํƒœ์— ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Monitor ๋„๊ตฌ ์ฐธ์กฐ ์˜ˆ
NotebookEdit Jupyter ๋…ธํŠธ๋ถ ์…€์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. NotebookEdit ๋„๊ตฌ ๋™์ž‘ ์ฐธ์กฐ ์˜ˆ
PowerShell PowerShell ๋ช…๋ น์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. PowerShell ๋„๊ตฌ ์ฐธ์กฐ ์˜ˆ
PushNotification ๋ฐ์Šคํฌํ†ฑ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ณ , Remote Control์ด ์—ฐ๊ฒฐ๋˜์—ˆ์„ ๋•Œ ํœด๋Œ€ํฐ ํ‘ธ์‹œ๋ฅผ ๋ณด๋‚ด๋ฏ€๋กœ, ์žฅ๊ธฐ ์‹คํ–‰ ์ž‘์—… ๋˜๋Š” ์˜ˆ์•ฝ๋œ ์ž‘์—…์ด ์‚ฌ์šฉ์ž๊ฐ€ ์ž๋ฆฌ๋ฅผ ๋– ๋‚ฌ์„ ๋•Œ ์—ฐ๋ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. {/* plan-availability: feature=push-notifications providers=anthropic */}ํ‘ธ์‹œ ์ „๋‹ฌ์€ Amazon Bedrock, Google Vertex AI ๋˜๋Š” Microsoft Foundry์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” Anthropic ํ˜ธ์ŠคํŒ… ์ธํ”„๋ผ๋ฅผ ํ†ตํ•ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
Read ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ฝ์Šต๋‹ˆ๋‹ค. Read ๋„๊ตฌ ๋™์ž‘ ์ฐธ์กฐ ์•„๋‹ˆ์˜ค
ReadMcpResourceTool URI๋กœ ํŠน์ • MCP ๋ฆฌ์†Œ์Šค๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
RemoteTrigger claude.ai์—์„œ Routines๋ฅผ ์ƒ์„ฑ, ์—…๋ฐ์ดํŠธ, ์‹คํ–‰ ๋ฐ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. /schedule ๋ช…๋ น์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routines๋Š” claude.ai์— ์žˆ์œผ๋ฉฐ Pro, Max, Team ๋˜๋Š” Enterprise ํ”Œ๋žœ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ, ์ด ๋„๊ตฌ๋Š” Amazon Bedrock, Google Vertex AI ๋˜๋Š” Microsoft Foundry์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
SendMessage agent team ํŒ€์›์—๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ฑฐ๋‚˜, agent ID๋กœ subagent๋ฅผ ์žฌ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์ค‘์ง€๋œ subagent๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ž๋™์œผ๋กœ ์žฌ๊ฐœ๋ฉ๋‹ˆ๋‹ค. CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1์ด ์„ค์ •๋˜์—ˆ์„ ๋•Œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
ShareOnboardingGuide {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}}ONBOARDING.md๋ฅผ ์—…๋กœ๋“œํ•˜๊ณ  ํŒ€์›์ด Claude Code์—์„œ ์—ด ์ˆ˜ ์žˆ๋Š” ๊ณต์œ  ๋งํฌ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ด๋“œ๊ฐ€ ์ž‘์„ฑ๋œ ํ›„ /team-onboarding์—์„œ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. Pro, Max, Team ๋ฐ Enterprise ํ”Œ๋žœ์˜ claude.ai ๊ตฌ๋…์ž๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค ์˜ˆ
Skill ์ฃผ ๋Œ€ํ™” ๋‚ด์—์„œ skill์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค ์˜ˆ
TaskCreate ์ž‘์—… ๋ชฉ๋ก์— ์ƒˆ ์ž‘์—…์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
TaskGet ํŠน์ • ์ž‘์—…์˜ ์ „์ฒด ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
TaskList ํ˜„์žฌ ์ƒํƒœ์™€ ํ•จ๊ป˜ ๋ชจ๋“  ์ž‘์—…์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
TaskOutput (๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ) ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์—์„œ ์ถœ๋ ฅ์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…์˜ ์ถœ๋ ฅ ํŒŒ์ผ ๊ฒฝ๋กœ์—์„œ Read๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
TaskStop ID๋กœ ์‹คํ–‰ ์ค‘์ธ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
TaskUpdate ์ž‘์—… ์ƒํƒœ, ์ข…์†์„ฑ, ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ์ž‘์—…์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
TeamCreate ์—ฌ๋Ÿฌ ํŒ€์›์ด ์žˆ๋Š” agent team์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1์ด ์„ค์ •๋˜์—ˆ์„ ๋•Œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
TeamDelete agent team์„ ํ•ด์‚ฐํ•˜๊ณ  ํŒ€์› ํ”„๋กœ์„ธ์Šค๋ฅผ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1์ด ์„ค์ •๋˜์—ˆ์„ ๋•Œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
TodoWrite ์„ธ์…˜ ์ž‘์—… ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ ๋ฐ Agent SDK์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™”ํ˜• ์„ธ์…˜์€ ๋Œ€์‹  TaskCreate, TaskGet, TaskList, TaskUpdate๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
ToolSearch tool search๊ฐ€ ํ™œ์„ฑํ™”๋˜์—ˆ์„ ๋•Œ ์ง€์—ฐ๋œ ๋„๊ตฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค ์•„๋‹ˆ์˜ค
WebFetch ์ง€์ •๋œ URL์—์„œ ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. WebFetch ๋„๊ตฌ ๋™์ž‘ ์ฐธ์กฐ ์˜ˆ
WebSearch ์›น ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. WebSearch ๋„๊ตฌ ๋™์ž‘ ์ฐธ์กฐ ์˜ˆ
Write ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋ฎ์–ด์”๋‹ˆ๋‹ค. Write ๋„๊ตฌ ๋™์ž‘ ์ฐธ์กฐ ์˜ˆ

๊ถŒํ•œ ๊ทœ์น™ ๋ฐ hook์œผ๋กœ ๋„๊ตฌ ๊ตฌ์„ฑ

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ Claude๊ฐ€ ์ด๋Ÿฌํ•œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์‹œ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•˜๋ฉฐ Claude์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ๋•Œ ๋„๊ตฌ ์ด๋ฆ„์„ ์ง์ ‘ ์ง€์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ถŒํ•œ ๋ฐ ๊ธฐํƒ€ ๊ตฌ์„ฑ์„ ์ •์˜ํ•  ๋•Œ ๋„๊ตฌ ์ด๋ฆ„์„ ์ง์ ‘ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค:

์ด๋“ค ๋ชจ๋‘ ๋™์ผํ•œ ๊ทœ์น™ ํ˜•์‹์ธ ToolName(specifier)๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. specifier๋Š” ๋„๊ตฌ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฉฐ, ์—ฌ๋Ÿฌ ๋„๊ตฌ๊ฐ€ ํ˜•์‹์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค:

๊ทœ์น™ ํ˜•์‹ ์ ์šฉ ๋Œ€์ƒ ์„ธ๋ถ€ ์ •๋ณด
Bash(npm run *) Bash, Monitor ๋ช…๋ น ํŒจํ„ด ๋งค์นญ
PowerShell(Get-ChildItem *) PowerShell ๋ช…๋ น ํŒจํ„ด ๋งค์นญ
Read(~/secrets/**) Read, Grep, Glob, LSP ๊ฒฝ๋กœ ํŒจํ„ด ๋งค์นญ
Edit(/src/**) Edit, Write, NotebookEdit ๊ฒฝ๋กœ ํŒจํ„ด ๋งค์นญ
Skill(deploy *) Skill Skill ์ด๋ฆ„ ๋งค์นญ
Agent(Explore) Agent Subagent ํƒ€์ž… ๋งค์นญ
WebFetch(domain:example.com) WebFetch ๋„๋ฉ”์ธ ๋งค์นญ
WebSearch WebSearch specifier ์—†์Œ; ๋„๊ตฌ ์ „์ฒด๋ฅผ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค

ExitPlanMode ๋˜๋Š” ShareOnboardingGuide์™€ ๊ฐ™์ด ์—ฌ๊ธฐ์— ๋‚˜์—ด๋˜์ง€ ์•Š์€ ๋„๊ตฌ๋Š” specifier ์—†์ด ๋„๊ตฌ ์ด๋ฆ„๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

Edit(...) allow ๊ทœ์น™์€ ๋™์ผํ•œ ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ์ฝ๊ธฐ ์ ‘๊ทผ๋„ ๋ถ€์—ฌํ•˜๋ฏ€๋กœ, ์ผ์น˜ํ•˜๋Š” Read(...) ๊ทœ์น™์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Hook matcher ํ•„๋“œ๋Š” ๊ด„ํ˜ธ๋กœ ๋ฌถ์ธ ๊ทœ์น™ ํ˜•์‹์ด ์•„๋‹Œ ๋„๊ตฌ ์ด๋ฆ„๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋งค์นญ ๊ทœ์น™์€ matcher ํŒจํ„ด์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋„๊ตฌ๊ฐ€ hook์˜ tool_input์— ์ „๋‹ฌํ•˜๋Š” ํ•„๋“œ ์ด๋ฆ„์€ PreToolUse ์ž…๋ ฅ ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

Agent ๋„๊ตฌ ๋™์ž‘

Agent ๋„๊ตฌ๋Š” ๋ณ„๋„์˜ context window์—์„œ subagent๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. Subagent๋Š” ์ž์‹ ์˜ ์ž‘์—…์„ ์ž์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ ๋‹ค์Œ ๋‹จ์ผ ํ…์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ๋ถ€๋ชจ ๋Œ€ํ™”์— ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ถ€๋ชจ๋Š” subagent์˜ ์ค‘๊ฐ„ ๋„๊ตฌ ํ˜ธ์ถœ์ด๋‚˜ ์ถœ๋ ฅ์„ ๋ณด์ง€ ๋ชปํ•˜๊ณ , ์ตœ์ข… ๊ฒฐ๊ณผ๋งŒ ๋ด…๋‹ˆ๋‹ค. Subagent๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ํ„ด์˜ ์ˆ˜๋ฅผ ์ œํ•œํ•˜๋ ค๋ฉด subagent ์ •์˜์—์„œ maxTurns๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

๋™์ผํ•œ Agent ๋„๊ตฌ๋Š” fork ๋ชจ๋“œ๊ฐ€ ํ™œ์„ฑํ™”๋˜์—ˆ์„ ๋•Œ forked subagent๋„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. fork๋Š” ์ƒˆ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋Œ€์‹  ์ „์ฒด ๋ถ€๋ชจ ๋Œ€ํ™”๋ฅผ ์ƒ์†ํ•˜๊ณ , ํ•ญ์ƒ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๋ฉฐ, ์—ฌ์ „ํžˆ ํ„ฐ๋ฏธ๋„์—์„œ ๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด ์„น์…˜์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ ๋ช…๋ช…๋œ subagent๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋ช…๋ช…๋œ subagent๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋Š” subagent ์ •์˜์˜ tools ๋ฐ disallowedTools ํ•„๋“œ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค:

  • ํ•„๋“œ๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์Œ: subagent๋Š” ๋ถ€๋ชจ๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋„๊ตฌ๋ฅผ ์ƒ์†ํ•ฉ๋‹ˆ๋‹ค.
  • tools๋งŒ: subagent๋Š” ๋‚˜์—ด๋œ ๋„๊ตฌ๋งŒ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • disallowedTools๋งŒ: subagent๋Š” ๋‚˜์—ด๋œ ๋„๊ตฌ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ถ€๋ชจ ๋„๊ตฌ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • ๋‘˜ ๋‹ค ์„ค์ •๋จ: disallowedTools๊ฐ€ ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค์— ๋‚˜์—ด๋œ ๋„๊ตฌ๋Š” ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

Subagent๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ ์ž์ฒด๋Š” ๊ถŒํ•œ์„ ์š”์ฒญํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Subagent์˜ ์ž์ฒด ๋„๊ตฌ ํ˜ธ์ถœ์€ ์‹คํ–‰๋  ๋•Œ ๊ถŒํ•œ ๊ทœ์น™์— ๋Œ€ํ•ด ํ™•์ธ๋ฉ๋‹ˆ๋‹ค:

  • ํฌ๊ทธ๋ผ์šด๋“œ subagent๋Š” ๊ฐ ๋„๊ตฌ ํ˜ธ์ถœ์ด ๋ฐœ์ƒํ•˜๋Š” ์ˆœ๊ฐ„ ์ฃผ ๋Œ€ํ™”์—์„œ ๋ณด๊ฒŒ ๋  ๋™์ผํ•œ ๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ subagent๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ ์„ธ์…˜์—์„œ ์ด๋ฏธ ๋ถ€์—ฌ๋œ ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰๋˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ‘œ์‹œํ•  ๋„๊ตฌ ํ˜ธ์ถœ์„ ์ž๋™์œผ๋กœ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฑฐ๋ถ€ ํ›„ subagent๋Š” ํ•ด๋‹น ๋„๊ตฌ ์—†์ด ๊ณ„์† ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Subagent๊ฐ€ ๋จผ์ € ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์ œํ•œํ•˜๋ ค๋ฉด tools ํ•„๋“œ๋ฅผ ์ขํžˆ๊ณ , Bash๋ฅผ ๋ชฉ๋ก์—์„œ ์ œ์™ธํ•˜๊ฑฐ๋‚˜, Subagent ๊ธฐ๋Šฅ ์ œ์–ด์—์„œ ์„ค๋ช…ํ•œ ๋Œ€๋กœ ์„ค์ •์—์„œ ๊ฑฐ๋ถ€ ๊ทœ์น™์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ทธ๋ผ์šด๋“œ์™€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ค‘ ์„ ํƒ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Subagent๋ฅผ ํฌ๊ทธ๋ผ์šด๋“œ ๋˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

Bash ๋„๊ตฌ ๋™์ž‘

Bash ๋„๊ตฌ๋Š” ๋‹ค์Œ์˜ ์ง€์†์„ฑ ๋™์ž‘์œผ๋กœ ๊ฐ ๋ช…๋ น์„ ๋ณ„๋„์˜ ํ”„๋กœ์„ธ์Šค์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

  • Claude๊ฐ€ ์ฃผ ์„ธ์…˜์—์„œ cd๋ฅผ ์‹คํ–‰ํ•  ๋•Œ, ์ƒˆ๋กœ์šด ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋Š” ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์— ๋จธ๋ฌผ๋Ÿฌ ์žˆ๊ฑฐ๋‚˜ --add-dir, /add-dir, ๋˜๋Š” ์„ค์ •์˜ additionalDirectories๋กœ ์ถ”๊ฐ€ํ•œ ์ถ”๊ฐ€ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์— ๋จธ๋ฌผ๋Ÿฌ ์žˆ๋Š” ํ•œ ์ดํ›„ Bash ๋ช…๋ น์œผ๋กœ ์ด์›”๋ฉ๋‹ˆ๋‹ค. Subagent ์„ธ์…˜์€ ์ ˆ๋Œ€ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ์„ ์ด์›”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • cd๊ฐ€ ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ ์™ธ๋ถ€๋กœ ์ด๋™ํ•˜๋ฉด, Claude Code๋Š” ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์žฌ์„ค์ •ํ•˜๊ณ  ๋„๊ตฌ ๊ฒฐ๊ณผ์— Shell cwd was reset to <dir>์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    • ๋ชจ๋“  Bash ๋ช…๋ น์ด ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์‹œ์ž‘ํ•˜๋„๋ก ์ด ์ด์›”์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ์ง€์†๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•œ ๋ช…๋ น์˜ export๋Š” ๋‹ค์Œ ๋ช…๋ น์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Claude Code๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— virtualenv ๋˜๋Š” conda ํ™˜๊ฒฝ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. Bash ๋ช…๋ น ์ „์ฒด์—์„œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ง€์†ํ•˜๋ ค๋ฉด Claude Code๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— CLAUDE_ENV_FILE์„ shell ์Šคํฌ๋ฆฝํŠธ๋กœ ์„ค์ •ํ•˜๊ฑฐ๋‚˜, SessionStart hook์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ ์œผ๋กœ ์ฑ„์›๋‹ˆ๋‹ค.

๋‘ ๊ฐ€์ง€ ์ œํ•œ์ด ๊ฐ ๋ช…๋ น์„ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค:

  • Timeout: ๊ธฐ๋ณธ๊ฐ’์€ 2๋ถ„์ž…๋‹ˆ๋‹ค. Claude๋Š” timeout ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ช…๋ น๋‹น ์ตœ๋Œ€ 10๋ถ„์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BASH_DEFAULT_TIMEOUT_MS ๋ฐ BASH_MAX_TIMEOUT_MS๋กœ ๊ธฐ๋ณธ๊ฐ’ ๋ฐ ์ƒํ•œ์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์ถœ๋ ฅ ๊ธธ์ด: ๊ธฐ๋ณธ๊ฐ’์€ 30,000์ž์ž…๋‹ˆ๋‹ค. ๋ช…๋ น์ด ๊ทธ ์ด์ƒ์„ ์ƒ์„ฑํ•˜๋ฉด, Claude Code๋Š” ์ „์ฒด ์ถœ๋ ฅ์„ ์„ธ์…˜ ๋””๋ ‰ํ† ๋ฆฌ์˜ ํŒŒ์ผ์— ์ €์žฅํ•˜๊ณ  Claude์— ํŒŒ์ผ ๊ฒฝ๋กœ์™€ ์‹œ์ž‘ ๋ถ€๋ถ„์˜ ์งง์€ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Claude๋Š” ๋‚˜๋จธ์ง€๊ฐ€ ํ•„์š”ํ•  ๋•Œ ํ•ด๋‹น ํŒŒ์ผ์„ ์ฝ๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. BASH_MAX_OUTPUT_LENGTH๋กœ ์ œํ•œ์„ ๋†’์ž…๋‹ˆ๋‹ค. ์ตœ๋Œ€ 150,000์ž๊นŒ์ง€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

dev ์„œ๋ฒ„ ๋˜๋Š” watch ๋นŒ๋“œ์™€ ๊ฐ™์€ ์žฅ๊ธฐ ์‹คํ–‰ ํ”„๋กœ์„ธ์Šค์˜ ๊ฒฝ์šฐ, Claude๋Š” run_in_background: true๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ช…๋ น์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์œผ๋กœ ์‹œ์ž‘ํ•˜๊ณ  ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ๊ณ„์† ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. /tasks๋กœ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์„ ๋‚˜์—ดํ•˜๊ณ  ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.

Edit ๋„๊ตฌ ๋™์ž‘

Edit ๋„๊ตฌ๋Š” ์ •ํ™•ํ•œ ๋ฌธ์ž์—ด ๊ต์ฒด๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. old_string๊ณผ new_string์„ ๊ฐ€์ ธ์™€ ์ฒซ ๋ฒˆ์งธ๋ฅผ ๋‘ ๋ฒˆ์งธ๋กœ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค. ์ •๊ทœ์‹์ด๋‚˜ fuzzy ๋งค์นญ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘์ด ์ ์šฉ๋˜๋ ค๋ฉด ์„ธ ๊ฐ€์ง€ ํ™•์ธ์ด ํ†ต๊ณผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

  • ํŽธ์ง‘ ์ „ ์ฝ๊ธฐ: Claude๋Š” ํ˜„์žฌ ๋Œ€ํ™”์—์„œ ํŒŒ์ผ์„ ์ฝ์—ˆ์–ด์•ผ ํ•˜๋ฉฐ, ํ•ด๋‹น ์ฝ๊ธฐ ์ดํ›„ ํŒŒ์ผ์ด ๋””์Šคํฌ์—์„œ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ™•์ธ์€ ๋จผ์ € ์‹คํ–‰๋˜๋ฉฐ, ๋ฌธ์ž์—ด ๋งค์นญ ์ „์— ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • ๋งค์นญ: old_string์€ ํŒŒ์ผ์— ์ •ํ™•ํžˆ ์ž‘์„ฑ๋œ ๋Œ€๋กœ ๋‚˜ํƒ€๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณต๋ฐฑ์ด๋‚˜ ๋“ค์—ฌ์“ฐ๊ธฐ์˜ ๋‹จ์ผ ๋ฌธ์ž ์ฐจ์ด๋„ ๋ฏธ์Šคํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ์œ ์„ฑ: old_string์€ ์ •ํ™•ํžˆ ํ•œ ๋ฒˆ ๋‚˜ํƒ€๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ ์ด์ƒ ๋‚˜ํƒ€๋‚˜๋ฉด, Claude๋Š” ํ•œ ๋ฐœ์ƒ์„ ๊ณ ์ •ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•œ ์ฃผ๋ณ€ ์ปจํ…์ŠคํŠธ๊ฐ€ ์žˆ๋Š” ๋” ๊ธด ๋ฌธ์ž์—ด์„ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜, replace_all: true๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ชจ๋‘ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค.

Bash๋กœ ํŒŒ์ผ์„ ๋ณด๋Š” ๊ฒƒ๋„ ๋ช…๋ น์ด ๋‹จ์ผ ํŒŒ์ผ์— ๋Œ€ํ•œ cat path/to/file ๋˜๋Š” sed -n 'X,Yp' path/to/file์ผ ๋•Œ ํŒŒ์ดํ”„๋‚˜ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๊ฐ€ ์—†์œผ๋ฉด ํŽธ์ง‘ ์ „ ์ฝ๊ธฐ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค. head, tail ๋˜๋Š” ํŒŒ์ดํ”„๋œ ์ถœ๋ ฅ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ Bash ๋ช…๋ น์€ ๊ณ„์‚ฐ๋˜์ง€ ์•Š์œผ๋ฉฐ, Claude๋Š” ์ด ๊ฒฝ์šฐ ํŽธ์ง‘ ์ „์— Read๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” ํŽธ์ง‘ ์ ๊ฒฉ์„ฑ์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฉฐ, ๊ถŒํ•œ์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Read ๋ฐ Edit ๊ฑฐ๋ถ€ ๊ทœ์น™์€ Claude Code๊ฐ€ cat, head, tail ๋ฐ sed์™€ ๊ฐ™์ด Bash์—์„œ ์ธ์‹ํ•˜๋Š” ํŒŒ์ผ ๋ช…๋ น์—๋„ ์ ์šฉ๋˜์ง€๋งŒ, ํŒŒ์ผ์„ ๊ฐ„์ ‘์ ์œผ๋กœ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” Python ๋˜๋Š” Node ์Šคํฌ๋ฆฝํŠธ์™€ ๊ฐ™์€ ์ž„์˜์˜ ํ•˜์œ„ ํ”„๋กœ์„ธ์Šค์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. OS ์ˆ˜์ค€ ์ ์šฉ์„ ์œ„ํ•ด ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ํฌํ•จํ•˜๋ ค๋ฉด sandbox๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

Glob ๋„๊ตฌ ๋™์ž‘

Glob ๋„๊ตฌ๋Š” ์ด๋ฆ„ ํŒจํ„ด์œผ๋กœ ํŒŒ์ผ์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ์žฌ๊ท€ ๋””๋ ‰ํ† ๋ฆฌ ๋งค์นญ์„ ์œ„ํ•œ **๋ฅผ ํฌํ•จํ•œ ํ‘œ์ค€ glob ๊ตฌ๋ฌธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:

  • **/*.js๋Š” ๋ชจ๋“  ๊นŠ์ด์˜ ๋ชจ๋“  .js ํŒŒ์ผ๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค
  • src/**/*.ts๋Š” src/ ์•„๋ž˜์˜ ๋ชจ๋“  .ts ํŒŒ์ผ๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค
  • *.{json,yaml}์€ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ .json ๋ฐ .yaml ํŒŒ์ผ๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค

๊ฒฐ๊ณผ๋Š” ์ˆ˜์ • ์‹œ๊ฐ„์œผ๋กœ ์ •๋ ฌ๋˜๊ณ  100๊ฐœ ํŒŒ์ผ๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ์ƒํ•œ์— ๋„๋‹ฌํ•˜๋ฉด, Claude๋Š” ๊ฒฐ๊ณผ์—์„œ ์ž˜๋ฆผ ํ”Œ๋ž˜๊ทธ๋ฅผ ๋ณด๊ณ  ํŒจํ„ด์„ ์ขํž ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Glob์€ ๊ธฐ๋ณธ์ ์œผ๋กœ .gitignore๋ฅผ ์กด์ค‘ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, gitignored ํŒŒ์ผ์„ ์ถ”์ ๋œ ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ ์ฐพ์Šต๋‹ˆ๋‹ค. ์ด๋Š” gitignored ํŒŒ์ผ์„ ๊ฑด๋„ˆ๋›ฐ๋Š” Grep๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. Glob์ด .gitignore๋ฅผ ์กด์ค‘ํ•˜๋„๋ก ํ•˜๋ ค๋ฉด Claude Code๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— CLAUDE_CODE_GLOB_NO_IGNORE=false๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

Grep ๋„๊ตฌ ๋™์ž‘

Grep ๋„๊ตฌ๋Š” ํŒŒ์ผ ๋‚ด์šฉ์—์„œ ํŒจํ„ด์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. Glob์ด ์ด๋ฆ„์œผ๋กœ ํŒŒ์ผ์„ ์ฐพ๋Š” ๊ฒฝ์šฐ, Grep์€ ํŒŒ์ผ ๋‚ด๋ถ€์˜ ๋ผ์ธ์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

Grep์€ ripgrep์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ POSIX grep์ด ์•„๋‹Œ ripgrep์˜ ์ •๊ทœ์‹ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ •๊ทœ์‹ ๋ฉ”ํƒ€๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜๋Š” ํŒจํ„ด์€ ์ด์Šค์ผ€์ดํ”„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Go ์ฝ”๋“œ์—์„œ interface{}๋ฅผ ์ฐพ์œผ๋ ค๋ฉด interface\{\} ํŒจํ„ด์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์„ธ ๊ฐ€์ง€ ์ถœ๋ ฅ ๋ชจ๋“œ๋Š” ๋ฐ˜ํ™˜๋˜๋Š” ๋‚ด์šฉ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค:

  • files_with_matches: ํŒŒ์ผ ๊ฒฝ๋กœ๋งŒ, ๋ผ์ธ ๋‚ด์šฉ ์—†์Œ. ์ด๊ฒƒ์ด ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค.
  • content: ํŒŒ์ผ ๋ฐ ๋ผ์ธ ๋ฒˆํ˜ธ๊ฐ€ ์žˆ๋Š” ์ผ์น˜ํ•˜๋Š” ๋ผ์ธ.
  • count: ํŒŒ์ผ๋‹น ์ผ์น˜ ์ˆ˜.

Claude๋Š” **/*.tsx์™€ ๊ฐ™์€ glob ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํŒŒ์ผ๋ณ„๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฒ”์œ„ ์ง€์ •ํ•˜๊ฑฐ๋‚˜, py ๋˜๋Š” rust์™€ ๊ฐ™์€ type ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์–ธ์–ด๋ณ„๋กœ ๋ฒ”์œ„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํŒจํ„ด์€ ๋‹จ์ผ ๋ผ์ธ ๋‚ด์—์„œ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. Claude๋Š” multiline: true๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ผ์ธ ๊ฒฝ๊ณ„๋ฅผ ๋„˜์–ด ์ผ์น˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Grep์€ .gitignore๋ฅผ ์กด์ค‘ํ•˜๋ฏ€๋กœ gitignored ํŒŒ์ผ์€ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. gitignored ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•˜๋ ค๋ฉด Claude๋Š” ๊ฒฝ๋กœ๋ฅผ ์ง์ ‘ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

LSP ๋„๊ตฌ ๋™์ž‘

LSP ๋„๊ตฌ๋Š” ์‹คํ–‰ ์ค‘์ธ ์–ธ์–ด ์„œ๋ฒ„์—์„œ Claude์— ์ฝ”๋“œ ์ธํ…”๋ฆฌ์ „์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํŒŒ์ผ ํŽธ์ง‘ ํ›„ ์ž๋™์œผ๋กœ ํƒ€์ž… ์˜ค๋ฅ˜ ๋ฐ ๊ฒฝ๊ณ ๋ฅผ ๋ณด๊ณ ํ•˜๋ฏ€๋กœ Claude๋Š” ๋ณ„๋„์˜ ๋นŒ๋“œ ๋‹จ๊ณ„ ์—†์ด ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Claude๋Š” ๋˜ํ•œ ์ฝ”๋“œ๋ฅผ ํƒ์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ์ง์ ‘ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ๊ธฐํ˜ธ์˜ ์ •์˜๋กœ ์ด๋™
  • ๊ธฐํ˜ธ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ฐธ์กฐ ์ฐพ๊ธฐ
  • ์œ„์น˜์˜ ํƒ€์ž… ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ
  • ํŒŒ์ผ ๋˜๋Š” ์›Œํฌ์ŠคํŽ˜์ด์Šค์˜ ๊ธฐํ˜ธ ๋‚˜์—ด
  • ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌํ˜„ ์ฐพ๊ธฐ
  • ํ˜ธ์ถœ ๊ณ„์ธต ์ถ”์ 

์ด ๋„๊ตฌ๋Š” ์–ธ์–ด์— ๋Œ€ํ•œ ์ฝ”๋“œ ์ธํ…”๋ฆฌ์ „์Šค ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•  ๋•Œ๊นŒ์ง€ ๋น„ํ™œ์„ฑ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์–ธ์–ด ์„œ๋ฒ„ ๊ตฌ์„ฑ์„ ๋ฒˆ๋“ค๋กœ ์ œ๊ณตํ•˜๋ฉฐ, ์„œ๋ฒ„ ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” ๋ณ„๋„๋กœ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

Monitor ๋„๊ตฌ

Monitor ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Claude๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ฐ์‹œํ•˜๊ณ  ๋Œ€ํ™”๋ฅผ ์ผ์‹œ ์ค‘์ง€ํ•˜์ง€ ์•Š๊ณ  ๋ณ€๊ฒฝ๋  ๋•Œ ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Claude์— ๋‹ค์Œ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค:

  • ๋กœ๊ทธ ํŒŒ์ผ์„ ์ถ”์ ํ•˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ํ”Œ๋ž˜๊ทธ ์ง€์ •
  • PR ๋˜๋Š” CI ์ž‘์—…์„ ํด๋งํ•˜๊ณ  ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๋ณด๊ณ 
  • ํŒŒ์ผ ๋ณ€๊ฒฝ์„ ์œ„ํ•ด ๋””๋ ‰ํ† ๋ฆฌ ๊ฐ์‹œ
  • ์ง€์ •ํ•œ ์žฅ๊ธฐ ์‹คํ–‰ ์Šคํฌ๋ฆฝํŠธ์˜ ์ถœ๋ ฅ ์ถ”์ 

Claude๋Š” ๊ฐ์‹œ๋ฅผ ์œ„ํ•œ ์ž‘์€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ํ•˜๋ฉฐ, ๊ฐ ์ถœ๋ ฅ ๋ผ์ธ์ด ๋„์ฐฉํ•  ๋•Œ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ์„ธ์…˜์—์„œ ๊ณ„์† ์ž‘์—…ํ•˜๊ณ  Claude๋Š” ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๊ฐœ์ž…ํ•ฉ๋‹ˆ๋‹ค. Claude์— ์ทจ์†Œํ•˜๋„๋ก ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ์„ธ์…˜์„ ์ข…๋ฃŒํ•˜์—ฌ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.

Monitor๋Š” Bash์™€ ๋™์ผํ•œ ๊ถŒํ•œ ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, Bash์— ๋Œ€ํ•ด ์„ค์ •ํ•œ allow ๋ฐ deny ํŒจํ„ด์ด ์—ฌ๊ธฐ์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. Amazon Bedrock, Google Vertex AI ๋˜๋Š” Microsoft Foundry์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. DISABLE_TELEMETRY ๋˜๋Š” CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC์ด ์„ค์ •๋˜์—ˆ์„ ๋•Œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌ๊ทธ์ธ์€ Claude์— ์‹œ์ž‘ํ•˜๋„๋ก ์š”์ฒญํ•˜๋Š” ๋Œ€์‹  ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ™œ์„ฑํ™”๋  ๋•Œ ์ž๋™์œผ๋กœ ์‹œ์ž‘๋˜๋Š” ๋ชจ๋‹ˆํ„ฐ๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

NotebookEdit ๋„๊ตฌ ๋™์ž‘

NotebookEdit์€ cell_id๋กœ ๋Œ€์ƒ ์…€์„ ์ง€์ •ํ•˜์—ฌ Jupyter ๋…ธํŠธ๋ถ์„ ํ•œ ๋ฒˆ์— ํ•œ ์…€์”ฉ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ํŒŒ์ผ์—์„œ Edit์ฒ˜๋Ÿผ ๋…ธํŠธ๋ถ ์ „์ฒด์—์„œ ๋ฌธ์ž์—ด ๊ต์ฒด๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์„ธ ๊ฐ€์ง€ ํŽธ์ง‘ ๋ชจ๋“œ๋Š” ๋Œ€์ƒ ์…€์— ๋ฐœ์ƒํ•˜๋Š” ์ผ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค:

  • replace: ์…€์˜ ์†Œ์Šค๋ฅผ ๋ฎ์–ด์”๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค.
  • insert: ๋Œ€์ƒ ํ›„์— ์ƒˆ ์…€์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. cell_id๊ฐ€ ์—†์œผ๋ฉด, ์ƒˆ ์…€์€ ๋…ธํŠธ๋ถ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. cell_type์„ code ๋˜๋Š” markdown์œผ๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • delete: ๋Œ€์ƒ ์…€์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

๊ถŒํ•œ ๊ทœ์น™์€ Edit(...) ๊ฒฝ๋กœ ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Edit(notebooks/**)์™€ ๊ฐ™์€ ๊ทœ์น™์€ ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์˜ ํŒŒ์ผ์— ๋Œ€ํ•œ NotebookEdit ํ˜ธ์ถœ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

PowerShell ๋„๊ตฌ

PowerShell ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Claude๋Š” PowerShell ๋ช…๋ น์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Windows์—์„œ๋Š” ์ด๊ฒƒ์ด Git Bash๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ…ํ•˜๋Š” ๋Œ€์‹  PowerShell์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. Git Bash๊ฐ€ ์—†๋Š” Windows์—์„œ๋Š” ๋„๊ตฌ๊ฐ€ ์ž๋™์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. Git Bash๊ฐ€ ์„ค์น˜๋œ Windows์—์„œ๋Š” ๋„๊ตฌ๊ฐ€ ์ ์ง„์ ์œผ๋กœ ์ถœ์‹œ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Linux, macOS ๋ฐ WSL์—์„œ๋Š” ๋„๊ตฌ๊ฐ€ ์˜ตํŠธ์ธ์ž…๋‹ˆ๋‹ค.

PowerShell ๋„๊ตฌ ํ™œ์„ฑํ™”

ํ™˜๊ฒฝ ๋˜๋Š” settings.json์—์„œ CLAUDE_CODE_USE_POWERSHELL_TOOL=1์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค:

{
  "env": {
    "CLAUDE_CODE_USE_POWERSHELL_TOOL": "1"
  }
}

Windows์—์„œ๋Š” ๋ณ€์ˆ˜๋ฅผ 0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์ถœ์‹œ๋ฅผ ๊ฑฐ๋ถ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Linux, macOS ๋ฐ WSL์—์„œ๋Š” ๋„๊ตฌ์— PowerShell 7 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค: pwsh๋ฅผ ์„ค์น˜ํ•˜๊ณ  PATH์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

Windows์—์„œ Claude Code๋Š” PowerShell 7+์˜ ๊ฒฝ์šฐ pwsh.exe๋ฅผ ์ž๋™ ๊ฐ์ง€ํ•˜๋ฉฐ PowerShell 5.1์˜ ๊ฒฝ์šฐ powershell.exe๋กœ ํด๋ฐฑํ•ฉ๋‹ˆ๋‹ค. ๋„๊ตฌ๊ฐ€ ํ™œ์„ฑํ™”๋˜๋ฉด Claude๋Š” PowerShell์„ ๊ธฐ๋ณธ ์…ธ๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. Bash ๋„๊ตฌ๋Š” Git Bash๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์„ ๋•Œ POSIX ์Šคํฌ๋ฆฝํŠธ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ค์ •, hook ๋ฐ skill์˜ shell ์„ ํƒ

์„ธ ๊ฐ€์ง€ ์ถ”๊ฐ€ ์„ค์ •์ด PowerShell์ด ์‚ฌ์šฉ๋˜๋Š” ์œ„์น˜๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค:

  • settings.json์˜ "defaultShell": "powershell": ๋Œ€ํ™”ํ˜• ! ๋ช…๋ น์„ PowerShell์„ ํ†ตํ•ด ๋ผ์šฐํŒ…ํ•ฉ๋‹ˆ๋‹ค. PowerShell ๋„๊ตฌ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐœ๋ณ„ command hook์˜ "shell": "powershell": ํ•ด๋‹น hook์„ PowerShell์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Hook์€ PowerShell์„ ์ง์ ‘ ์ƒ์„ฑํ•˜๋ฏ€๋กœ CLAUDE_CODE_USE_POWERSHELL_TOOL์— ๊ด€๊ณ„์—†์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • skill frontmatter์˜ shell: powershell: !`command` ๋ธ”๋ก์„ PowerShell์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. PowerShell ๋„๊ตฌ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Bash ๋„๊ตฌ ์„น์…˜์—์„œ ์„ค๋ช…ํ•œ ๋™์ผํ•œ ์ฃผ ์„ธ์…˜ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ์žฌ์„ค์ • ๋™์ž‘์ด PowerShell ๋ช…๋ น์— ์ ์šฉ๋˜๋ฉฐ, CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ œํ•œ์‚ฌํ•ญ

PowerShell ๋„๊ตฌ๋Š” ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ค‘์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์•Œ๋ ค์ง„ ์ œํ•œ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • PowerShell ํ”„๋กœํ•„์ด ๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
  • Windows์—์„œ๋Š” sandboxing์ด ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

Read ๋„๊ตฌ ๋™์ž‘

Read ๋„๊ตฌ๋Š” ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ๊ฐ€์ ธ์™€ ๋ผ์ธ ๋ฒˆํ˜ธ๊ฐ€ ์žˆ๋Š” ๋‚ด์šฉ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. Claude๋Š” ํ•ญ์ƒ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ „๋‹ฌํ•˜๋„๋ก ์ง€์‹œ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ Read๋Š” ์‹œ์ž‘ ๋ถ€๋ถ„์—์„œ ํŒŒ์ผ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ธฐ ์ž„๊ณ„๊ฐ’์„ ์ดˆ๊ณผํ•˜๋Š” ํŒŒ์ผ์€ ๋ถ€๋ถ„ ๋‚ด์šฉ์ด ์•„๋‹Œ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜์—ฌ Claude๊ฐ€ offset ๋ฐ limit์œผ๋กœ ์žฌ์‹œ๋„ํ•˜์—ฌ ํŠน์ • ๋ฒ”์œ„๋ฅผ ์ฝ๋„๋ก ํ”„๋กฌํ”„ํŠธํ•ฉ๋‹ˆ๋‹ค.

Read๋Š” ์ผ๋ฐ˜ ํ…์ŠคํŠธ ์ด์ƒ์˜ ์—ฌ๋Ÿฌ ํŒŒ์ผ ํƒ€์ž…์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค:

  • ์ด๋ฏธ์ง€: PNG, JPG ๋ฐ ๊ธฐํƒ€ ์ด๋ฏธ์ง€ ํ˜•์‹์€ ์›๋ณธ ๋ฐ”์ดํŠธ๊ฐ€ ์•„๋‹Œ Claude๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ์  ์ฝ˜ํ…์ธ ๋กœ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ๋ชจ๋ธ์˜ ์ด๋ฏธ์ง€ ํฌ๊ธฐ ์ œํ•œ์— ๋งž๋„๋ก ํฐ ์ด๋ฏธ์ง€๋ฅผ ํฌ๊ธฐ ์กฐ์ •ํ•˜๊ณ  ์žฌ์••์ถ•ํ•˜๋ฏ€๋กœ, Claude๋Š” ํฐ ์Šคํฌ๋ฆฐ์ƒท์˜ ์ถ•์†Œ๋œ ๋ฒ„์ „์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Claude๊ฐ€ ํฐ ์ด๋ฏธ์ง€์—์„œ ์„ธ๋ฐ€ํ•œ ํ”ฝ์…€ ์ˆ˜์ค€์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๋†“์น˜๋ฉด, ์˜ˆ๋ฅผ ๋“ค์–ด ImageMagick์„ ํ†ตํ•ด Bash๋กœ ๊ด€์‹ฌ ์˜์—ญ์„ ๋จผ์ € ์ž๋ฅด๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.
  • PDF: Claude๋Š” ์งง์€ .pdf ํŒŒ์ผ์„ ์ „์ฒด์ ์œผ๋กœ ์ฝ์Šต๋‹ˆ๋‹ค. 10ํŽ˜์ด์ง€๋ณด๋‹ค ๊ธด PDF์˜ ๊ฒฝ์šฐ, "1-5"์™€ ๊ฐ™์€ pages ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฒ”์œ„์—์„œ ์ฝ์œผ๋ฉฐ, ํ•œ ๋ฒˆ์— ์ตœ๋Œ€ 20ํŽ˜์ด์ง€๊นŒ์ง€ ์ฝ์Šต๋‹ˆ๋‹ค.
  • Jupyter ๋…ธํŠธ๋ถ: .ipynb ํŒŒ์ผ์€ ์ฝ”๋“œ, markdown ๋ฐ ์‹œ๊ฐํ™”๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์…€๊ณผ ํ•ด๋‹น ์ถœ๋ ฅ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Read๋Š” ํŒŒ์ผ๋งŒ ์ฝ์œผ๋ฉฐ, ๋””๋ ‰ํ† ๋ฆฌ๋Š” ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Claude๋Š” Bash ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ls๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์šฉ์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.

WebFetch ๋„๊ตฌ ๋™์ž‘

WebFetch๋Š” URL๊ณผ ์ถ”์ถœํ•  ๋‚ด์šฉ์„ ์„ค๋ช…ํ•˜๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ , ์„œ๋ฒ„๊ฐ€ HTML์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ ์‘๋‹ต์„ Markdown์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ฉฐ, ์ž‘๊ณ  ๋น ๋ฅธ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ€์ ธ์˜ค๊ธฐ์˜ ๊ฒฝ์šฐ, Claude๋Š” ์›๋ณธ ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹Œ ํ•ด๋‹น ๋ชจ๋ธ์˜ ๋‹ต๋ณ€์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๋ณ€ํ™˜ ๋‹จ๊ณ„๋Š” ๊ตฌ์„ฑํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด๋Š” WebFetch๋ฅผ ์„ค๊ณ„์ƒ ์†์‹ค์ด ์žˆ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ถ”์ถœ ํ”„๋กฌํ”„ํŠธ๋Š” Claude์— ๋„๋‹ฌํ•˜๋Š” ๋‚ด์šฉ์„ ๊ฒฐ์ •ํ•˜๋ฏ€๋กœ, ํŽ˜์ด์ง€๊ฐ€ ๋ฌด์–ธ๊ฐ€๋ฅผ ์–ธ๊ธ‰ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒฐ๊ณผ๋Š” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๊ทธ๊ฒƒ์„ ๋ฌป์ง€ ์•Š์•˜๋‹ค๋Š” ์˜๋ฏธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Claude์— ๋” ๊ตฌ์ฒด์ ์ธ ํ”„๋กฌํ”„ํŠธ๋กœ ๋‹ค์‹œ ๊ฐ€์ ธ์˜ค๋„๋ก ์š”์ฒญํ•˜๊ฑฐ๋‚˜, ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€์˜ ๊ฒฝ์šฐ Bash๋ฅผ ํ†ตํ•ด curl์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ช‡ ๊ฐ€์ง€ ๋™์ž‘์ด Claude๊ฐ€ ๋ฐ›๋Š” ์‘๋‹ต์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค:

  • HTTP URL์€ ์ž๋™์œผ๋กœ HTTPS๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฉ๋‹ˆ๋‹ค.
  • ํฐ ํŽ˜์ด์ง€๋Š” ์ฒ˜๋ฆฌ ์ „์— ๊ณ ์ • ๋ฌธ์ž ์ œํ•œ์œผ๋กœ ์ž˜๋ฆฝ๋‹ˆ๋‹ค.
  • ์‘๋‹ต์€ 15๋ถ„ ๋™์•ˆ ์บ์‹œ๋˜๋ฏ€๋กœ, ๋™์ผํ•œ URL์˜ ๋ฐ˜๋ณต ๊ฐ€์ ธ์˜ค๊ธฐ๋Š” ๋น ๋ฅด๊ฒŒ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.
  • URL์ด ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋˜๋ฉด, WebFetch๋Š” ์›๋ณธ URL๊ณผ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ๋Œ€์ƒ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋Š” ํ…์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๋”ฐ๋ผ๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Claude๋Š” ๋‘ ๋ฒˆ์งธ WebFetch ํ˜ธ์ถœ๋กœ ์ƒˆ URL์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๋ฐ acceptEdits ๊ถŒํ•œ ๋ชจ๋“œ์—์„œ WebFetch๋Š” ์ƒˆ ๋„๋ฉ”์ธ์— ์ฒ˜์Œ ๋„๋‹ฌํ•  ๋•Œ ํ”„๋กฌํ”„ํŠธํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ ์—†์ด ๋ฏธ๋ฆฌ ๋„๋ฉ”์ธ์„ ํ—ˆ์šฉํ•˜๋ ค๋ฉด WebFetch(domain:example.com)๊ณผ ๊ฐ™์€ ๊ถŒํ•œ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. auto ๋ฐ bypassPermissions ๊ถŒํ•œ ๋ชจ๋“œ๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ์™„์ „ํžˆ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

WebFetch๋Š” Claude-User๋กœ ์‹œ์ž‘ํ•˜๋Š” User-Agent ํ—ค๋”์™€ ์ฝ˜ํ…์ธ  ํ˜‘์ƒ์„ ์ง€์›ํ•˜๋Š” ์„œ๋ฒ„๊ฐ€ Markdown์„ ์ง์ ‘ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก HTML๋ณด๋‹ค Markdown์„ ์„ ํ˜ธํ•˜๋Š” Accept ํ—ค๋”๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. Sandbox ๋„คํŠธ์›Œํฌ ๊ทœ์น™์€ ๋ณ„๋„๋กœ ๊ตฌ์„ฑ๋˜๋ฏ€๋กœ, sandboxed ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋„๋‹ฌํ•˜๊ธฐ๋ฅผ ์›ํ•˜๋Š” ๋„๋ฉ”์ธ์€ ์—ฌ์ „ํžˆ ๋ช…์‹œ์  sandbox ๊ถŒํ•œ ๊ทœ์น™์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

WebSearch ๋„๊ตฌ ๋™์ž‘

WebSearch๋Š” Anthropic์˜ web search ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•ด ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ ์ œ๋ชฉ๊ณผ URL์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Claude๊ฐ€ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์—์„œ ์ฐพ์€ ํŽ˜์ด์ง€๋ฅผ ์ฝ์œผ๋ ค๋ฉด WebFetch๋กœ ํ›„์† ์กฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋„๊ตฌ๋Š” ํ˜ธ์ถœ๋‹น ์ตœ๋Œ€ 8๊ฐœ์˜ ๋ฐฑ์—”๋“œ ๊ฒ€์ƒ‰์„ ๋ฐœํ–‰ํ•˜์—ฌ ๋ฐ˜ํ™˜ ์ „์— ๊ฒ€์ƒ‰์„ ๋‚ด๋ถ€์ ์œผ๋กœ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Claude๋Š” allowed_domains๋กœ ํŠน์ • ํ˜ธ์ŠคํŠธ๋งŒ ํฌํ•จํ•˜๊ฑฐ๋‚˜ blocked_domains๋กœ ์ œ์™ธํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฒ”์œ„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ชฉ๋ก์€ ๋‹จ์ผ ํ˜ธ์ถœ์—์„œ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ฒ€์ƒ‰ ๋ฐฑ์—”๋“œ๋Š” ๊ตฌ์„ฑํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ œ๊ณต์ž๋กœ ๊ฒ€์ƒ‰ํ•˜๋ ค๋ฉด ๊ฒ€์ƒ‰ ๋„๊ตฌ๋ฅผ ๋…ธ์ถœํ•˜๋Š” MCP ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

WebSearch ๊ถŒํ•œ ๊ทœ์น™์€ specifier๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. allow ๋˜๋Š” deny์˜ ๋‹จ์ˆœ WebSearch ํ•ญ๋ชฉ์ด ์œ ์ผํ•œ ํ˜•์‹์ž…๋‹ˆ๋‹ค.

Write ๋„๊ตฌ ๋™์ž‘

Write ๋„๊ตฌ๋Š” ์ œ๊ณต๋œ ์ „์ฒด ์ฝ˜ํ…์ธ ๋กœ ์ƒˆ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ํŒŒ์ผ์„ ๋ฎ์–ด์”๋‹ˆ๋‹ค. ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ณ‘ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋Œ€์ƒ ๊ฒฝ๋กœ๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•˜๋ฉด, Claude๋Š” ํ˜„์žฌ ๋Œ€ํ™”์—์„œ ํ•ด๋‹น ํŒŒ์ผ์„ ์ตœ์†Œํ•œ ํ•œ ๋ฒˆ ์ฝ์—ˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฝ์ง€ ์•Š์€ ๊ธฐ์กด ํŒŒ์ผ์— ๋Œ€ํ•œ Write๋Š” ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ์ด ์ œ์•ฝ์€ ์ƒˆ ํŒŒ์ผ์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Bash cat ๋˜๋Š” sed -n์œผ๋กœ ํŒŒ์ผ์„ ๋ณด๋Š” ๊ฒƒ๋„ Edit ๋„๊ตฌ ๋™์ž‘์—์„œ ์„ค๋ช…ํ•œ ๋Œ€๋กœ ์ด ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ถ€๋ถ„ ๋ณ€๊ฒฝ์˜ ๊ฒฝ์šฐ, Claude๋Š” Write ๋Œ€์‹  Edit์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ ํ™•์ธ

์ •ํ™•ํ•œ ๋„๊ตฌ ์„ธํŠธ๋Š” ์ œ๊ณต์ž, ํ”Œ๋žซํผ ๋ฐ ์„ค์ •์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์—์„œ ๋กœ๋“œ๋œ ํ•ญ๋ชฉ์„ ํ™•์ธํ•˜๋ ค๋ฉด Claude์— ์ง์ ‘ ๋ฌธ์˜ํ•ฉ๋‹ˆ๋‹ค:

What tools do you have access to?

Claude๋Š” ๋Œ€ํ™”ํ˜• ์š”์•ฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ •ํ™•ํ•œ MCP ๋„๊ตฌ ์ด๋ฆ„์˜ ๊ฒฝ์šฐ /mcp๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ  ํ•ญ๋ชฉ

  • MCP ์„œ๋ฒ„: ์™ธ๋ถ€ ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •์˜ ๋„๊ตฌ ์ถ”๊ฐ€
  • ๊ถŒํ•œ: ๊ถŒํ•œ ์‹œ์Šคํ…œ, ๊ทœ์น™ ๊ตฌ๋ฌธ, ๋„๊ตฌ๋ณ„ ํŒจํ„ด
  • Subagents: subagent์— ๋Œ€ํ•œ ๋„๊ตฌ ์ ‘๊ทผ ๊ตฌ์„ฑ
  • Hooks: ๋„๊ตฌ ์‹คํ–‰ ์ „ํ›„์— ์‚ฌ์šฉ์ž ์ •์˜ ๋ช…๋ น ์‹คํ–‰