SpyBara
Go Premium

Documentation 2026-10-14 22:58 UTC to 2026-10-15 23:58 UTC

48 files changed +1,731 โˆ’506. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

636| ์ œํ•œ ์‚ฌํ•ญ | ์„ค๋ช… |636| ์ œํ•œ ์‚ฌํ•ญ | ์„ค๋ช… |

637| - | - |637| - | - |

638| Write/Edit/NotebookEdit ๋„๊ตฌ๋งŒ | Bash ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ถ”์ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค |638| Write/Edit/NotebookEdit ๋„๊ตฌ๋งŒ | Bash ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ถ”์ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค |

639| ์„œ๋ธŒ์—์ด์ „ํŠธ ํŽธ์ง‘ | [์„œ๋ธŒ์—์ด์ „ํŠธ](/docs/ko/agent-sdk/subagents)๊ฐ€ ์ ์šฉํ•˜๋Š” ํŽธ์ง‘ ์‚ฌํ•ญ์€ ์ถ”์ ๋˜๊ฑฐ๋‚˜ ๋ณต์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹จ, `context: fork`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ์Šคํ‚ฌ์€ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค. ์ถ”์ ๋˜์ง€ ์•Š์€ ํŽธ์ง‘ ์‚ฌํ•ญ์„ ๋˜๋Œ๋ฆฌ๋ ค๋ฉด git์„ ์‚ฌ์šฉํ•˜์„ธ์š” |639| ์„œ๋ธŒ์—์ด์ „ํŠธ ํŽธ์ง‘ | [์„œ๋ธŒ์—์ด์ „ํŠธ](/docs/ko/agent-sdk/subagents)๊ฐ€ ์ ์šฉํ•˜๋Š” ํŽธ์ง‘ ์‚ฌํ•ญ์€ ์ถ”์ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹จ, `context: fork`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ์Šคํ‚ฌ์€ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค. ๋˜๋Œ๋ฆฌ๊ธฐ๋Š” ๋ฉ”์ธ ๋Œ€ํ™”์—์„œ ์ด๋ฏธ ํŽธ์ง‘ํ•œ ํŒŒ์ผ์—์„œ๋งŒ ํ•ด๋‹น ํŽธ์ง‘ ์‚ฌํ•ญ์„ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€๋Š” git์„ ์‚ฌ์šฉํ•˜์—ฌ ๋˜๋Œ๋ฆฌ์„ธ์š” |

640| ๋™์ผํ•œ ์„ธ์…˜ | ์ฒดํฌํฌ์ธํŠธ๋Š” ์ด๋ฅผ ์ƒ์„ฑํ•œ ์„ธ์…˜์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค |640| ๋™์ผํ•œ ์„ธ์…˜ | ์ฒดํฌํฌ์ธํŠธ๋Š” ์ด๋ฅผ ์ƒ์„ฑํ•œ ์„ธ์…˜์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค |

641| ํŒŒ์ผ ์ฝ˜ํ…์ธ ๋งŒ | ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ, ์ด๋™ ๋˜๋Š” ์‚ญ์ œ๋Š” ๋˜๋Œ๋ฆฌ๊ธฐ๋กœ ์‹คํ–‰ ์ทจ์†Œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค |641| ํŒŒ์ผ ์ฝ˜ํ…์ธ ๋งŒ | ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ, ์ด๋™ ๋˜๋Š” ์‚ญ์ œ๋Š” ๋˜๋Œ๋ฆฌ๊ธฐ๋กœ ์‹คํ–‰ ์ทจ์†Œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค |

642| ๋กœ์ปฌ ํŒŒ์ผ | ์›๊ฒฉ ๋˜๋Š” ๋„คํŠธ์›Œํฌ ํŒŒ์ผ์€ ์ถ”์ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค |642| ๋กœ์ปฌ ํŒŒ์ผ | ์›๊ฒฉ ๋˜๋Š” ๋„คํŠธ์›Œํฌ ํŒŒ์ผ์€ ์ถ”์ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค |

Details

17 17 

18์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” SDK๊ฐ€ ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ๋ฐฉ์‹, ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•, ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐฑ์—”๋“œ์— ๋„๋‹ฌํ•œ ํ›„ ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•˜๊ณ  ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ๋Œ€์‹  SDK ์‘๋‹ต ์ŠคํŠธ๋ฆผ์—์„œ ์ง์ ‘ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ๋ฐ ๋น„์šฉ์„ ์ฝ์œผ๋ ค๋ฉด [๋น„์šฉ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰ ์ถ”์ ](/docs/ko/agent-sdk/cost-tracking)์„ ์ฐธ์กฐํ•˜์„ธ์š”.18์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” SDK๊ฐ€ ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ๋ฐฉ์‹, ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•, ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐฑ์—”๋“œ์— ๋„๋‹ฌํ•œ ํ›„ ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•˜๊ณ  ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ๋Œ€์‹  SDK ์‘๋‹ต ์ŠคํŠธ๋ฆผ์—์„œ ์ง์ ‘ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ๋ฐ ๋น„์šฉ์„ ์ฝ์œผ๋ ค๋ฉด [๋น„์šฉ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰ ์ถ”์ ](/docs/ko/agent-sdk/cost-tracking)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

19 19 

20<Note>

21 Claude API ๋˜๋Š” Managed Agents์˜ ๊ฒฝ์šฐ [Claude API์šฉ OpenTelemetry](https://platform.claude.com/docs/en/manage-claude/opentelemetry)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

22</Note>

23 

20<h2 id="how-telemetry-flows-from-the-sdk">24<h2 id="how-telemetry-flows-from-the-sdk">

21 SDK์—์„œ ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ๊ฐ€ ํ๋ฅด๋Š” ๋ฐฉ์‹25 SDK์—์„œ ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ๊ฐ€ ํ๋ฅด๋Š” ๋ฐฉ์‹

22</h2>26</h2>

agent-sdk/python.md +1 โˆ’1

Details

1926| `costUSD` | `float` | ์ด ๋ชจ๋ธ์˜ ์ถ”์ • ๋น„์šฉ (USD), ํด๋ผ์ด์–ธํŠธ ์ธก ๊ณ„์‚ฐ์ž…๋‹ˆ๋‹ค. ์ฒญ๊ตฌ ์ฃผ์˜ ์‚ฌํ•ญ์€ [๋น„์šฉ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰ ์ถ”์ ](/docs/ko/agent-sdk/cost-tracking) ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. |1926| `costUSD` | `float` | ์ด ๋ชจ๋ธ์˜ ์ถ”์ • ๋น„์šฉ (USD), ํด๋ผ์ด์–ธํŠธ ์ธก ๊ณ„์‚ฐ์ž…๋‹ˆ๋‹ค. ์ฒญ๊ตฌ ์ฃผ์˜ ์‚ฌํ•ญ์€ [๋น„์šฉ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰ ์ถ”์ ](/docs/ko/agent-sdk/cost-tracking) ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. |

1927| `contextWindow` | `int` | ์ด ๋ชจ๋ธ์˜ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค. |1927| `contextWindow` | `int` | ์ด ๋ชจ๋ธ์˜ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค. |

1928| `maxOutputTokens` | `int` | ์ด ๋ชจ๋ธ์˜ ์ตœ๋Œ€ ์ถœ๋ ฅ ํ† ํฐ ์ œํ•œ์ž…๋‹ˆ๋‹ค. |1928| `maxOutputTokens` | `int` | ์ด ๋ชจ๋ธ์˜ ์ตœ๋Œ€ ์ถœ๋ ฅ ํ† ํฐ ์ œํ•œ์ž…๋‹ˆ๋‹ค. |

1929| `canonicalModel` | `str` | ๊ฐ€๊ฒฉ ์กฐํšŒ์— ์‚ฌ์šฉ๋œ ์ •๊ทœ ๋ชจ๋ธ ID์ž…๋‹ˆ๋‹ค. ๊ณต๊ธ‰์ž๋ณ„ ID ๋˜๋Š” ๋ณ„์นญ๊ณผ ๊ฐ™์€ ์›๋ณธ ๋ชจ๋ธ ๋ฌธ์ž์—ด๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ญ์ƒ ์กด์žฌํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. |1929| `canonicalModel` | `str` | ๊ฐ€๊ฒฉ ์กฐํšŒ์— ์‚ฌ์šฉ๋œ ์ •๊ทœ ๋ชจ๋ธ ID์ž…๋‹ˆ๋‹ค. ํ•ญ๋ชฉ์˜ ํ‚ค๋กœ ์“ฐ์ด๋Š” ์›๋ณธ ๋ชจ๋ธ ๋ฌธ์ž์—ด(์˜ˆ: ๊ณต๊ธ‰์ž๋ณ„ ID ๋˜๋Š” ๋ณ„์นญ)๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ญ์ƒ ์กด์žฌํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. |

1930| `provider` | `str` | ์ด ๋ชจ๋ธ์„ ์ œ๊ณตํ•œ API ๊ณต๊ธ‰์ž์ž…๋‹ˆ๋‹ค (์˜ˆ: `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` ๋˜๋Š” `gateway`). ํ•ญ์ƒ ์กด์žฌํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. |1930| `provider` | `str` | ์ด ๋ชจ๋ธ์„ ์ œ๊ณตํ•œ API ๊ณต๊ธ‰์ž์ž…๋‹ˆ๋‹ค (์˜ˆ: `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` ๋˜๋Š” `gateway`). ํ•ญ์ƒ ์กด์žฌํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. |

1931| `costBasis` | `str` | ์ด ๋ชจ๋ธ์˜ ์ตœ์‹  ์š”์ฒญ ๊ฐ€๊ฒฉ์„ ์ฑ…์ •ํ•œ ๊ฐ€๊ฒฉํ‘œ์ž…๋‹ˆ๋‹ค: ์ •๊ฐ€์˜ ๊ฒฝ์šฐ `list`, [`modelPricing`](/docs/ko/settings-reference#modelpricing) ํ…Œ์ด๋ธ”์˜ ๊ฒฝ์šฐ `managed`, ๋‘˜ ๋‹ค ๋ชจ๋ธ ID์™€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ `unknown`์ž…๋‹ˆ๋‹ค. ํ•ญ์ƒ ์กด์žฌํ•˜์ง€๋Š” ์•Š์œผ๋ฉฐ, TypedDict์— ์„ ์–ธ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ `.get()`์œผ๋กœ ์ฝ์œผ์‹ญ์‹œ์˜ค. Claude Code v2.1.246 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. |1931| `costBasis` | `str` | ์ด ๋ชจ๋ธ์˜ ์ตœ์‹  ์š”์ฒญ ๊ฐ€๊ฒฉ์„ ์ฑ…์ •ํ•œ ๊ฐ€๊ฒฉํ‘œ์ž…๋‹ˆ๋‹ค: ์ •๊ฐ€์˜ ๊ฒฝ์šฐ `list`, [`modelPricing`](/docs/ko/settings-reference#modelpricing) ํ…Œ์ด๋ธ”์˜ ๊ฒฝ์šฐ `managed`, ๋‘˜ ๋‹ค ๋ชจ๋ธ ID์™€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ `unknown`์ž…๋‹ˆ๋‹ค. ํ•ญ์ƒ ์กด์žฌํ•˜์ง€๋Š” ์•Š์œผ๋ฉฐ, TypedDict์— ์„ ์–ธ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ `.get()`์œผ๋กœ ์ฝ์œผ์‹ญ์‹œ์˜ค. Claude Code v2.1.246 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. |

1932 1932 

Details

201| ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ๋ฐ›๋Š” ํ•ญ๋ชฉ | ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ๋ฐ›์ง€ ์•Š๋Š” ํ•ญ๋ชฉ |201| ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ๋ฐ›๋Š” ํ•ญ๋ชฉ | ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ๋ฐ›์ง€ ์•Š๋Š” ํ•ญ๋ชฉ |

202| :- | :- |202| :- | :- |

203| ์ž์ฒด ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ(`AgentDefinition.prompt`) ๋ฐ Agent ๋„๊ตฌ์˜ ํ”„๋กฌํ”„ํŠธ | ๋ถ€๋ชจ์˜ ๋Œ€ํ™” ๊ธฐ๋ก ๋˜๋Š” ๋„๊ตฌ ๊ฒฐ๊ณผ |203| ์ž์ฒด ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ(`AgentDefinition.prompt`) ๋ฐ Agent ๋„๊ตฌ์˜ ํ”„๋กฌํ”„ํŠธ | ๋ถ€๋ชจ์˜ ๋Œ€ํ™” ๊ธฐ๋ก ๋˜๋Š” ๋„๊ตฌ ๊ฒฐ๊ณผ |

204| ํ”„๋กœ์ ํŠธ CLAUDE.md([`settingSources`](/docs/ko/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)๋ฅผ ํ†ตํ•ด ๋กœ๋“œ๋จ). ๋‹จ, ์—์ด์ „ํŠธ๊ฐ€ [`omitClaudeMd`](#agentdefinition-configuration)๋ฅผ ์„ค์ •ํ•œ ๊ฒฝ์šฐ๋Š” ์ œ์™ธ | ๋ฏธ๋ฆฌ ๋กœ๋“œ๋œ ์Šคํ‚ฌ ์ฝ˜ํ…์ธ (`AgentDefinition.skills`์— ๋‚˜์—ด๋œ ๊ฒฝ์šฐ ์ œ์™ธ) |204| ํ”„๋กœ์ ํŠธ CLAUDE.md([`settingSources`](/docs/ko/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)๋ฅผ ํ†ตํ•ด ๋กœ๋“œ๋จ). [`omitClaudeMd`](#agentdefinition-configuration)๋ฅผ ์„ค์ •ํ•œ ์—์ด์ „ํŠธ๋Š” ์ด ํŒŒ์ผ ์—†์ด ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค | ๋ฏธ๋ฆฌ ๋กœ๋“œ๋œ ์Šคํ‚ฌ ์ฝ˜ํ…์ธ (`AgentDefinition.skills`์— ๋‚˜์—ด๋œ ๊ฒฝ์šฐ ์ œ์™ธ) |

205| ๋„๊ตฌ ์ •์˜(๋ถ€๋ชจ๋กœ๋ถ€ํ„ฐ ์ƒ์†๋˜๊ฑฐ๋‚˜ `tools`์— ์ง€์ •๋œ ํ•˜์œ„ ์ง‘ํ•ฉ์ด๋ฉฐ, [๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰์˜ ๊ฒฝ์šฐ ํ•„ํ„ฐ๋ง๋จ](/docs/ko/sub-agents#available-tools)) | ๋ถ€๋ชจ์˜ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ |205| ๋„๊ตฌ ์ •์˜(๋ถ€๋ชจ๋กœ๋ถ€ํ„ฐ ์ƒ์†๋˜๊ฑฐ๋‚˜ `tools`์— ์ง€์ •๋œ ํ•˜์œ„ ์ง‘ํ•ฉ์ด๋ฉฐ, [๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰์˜ ๊ฒฝ์šฐ ํ•„ํ„ฐ๋ง๋จ](/docs/ko/sub-agents#available-tools)) | ๋ถ€๋ชจ์˜ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ |

206 206 

207<Note>207<Note>

Details

369| `session_id` | `string` | ์ด ๋ฉ”์‹œ์ง€๊ฐ€ ์†ํ•œ ์„ธ์…˜ |369| `session_id` | `string` | ์ด ๋ฉ”์‹œ์ง€๊ฐ€ ์†ํ•œ ์„ธ์…˜ |

370| `message` | `unknown` | ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ์˜ ์›๋ณธ ๋ฉ”์‹œ์ง€ ํŽ˜์ด๋กœ๋“œ |370| `message` | `unknown` | ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ์˜ ์›๋ณธ ๋ฉ”์‹œ์ง€ ํŽ˜์ด๋กœ๋“œ |

371| `parent_tool_use_id` | `string \| null` | ์„œ๋ธŒ์—์ด์ „ํŠธ ๋ฉ”์‹œ์ง€์˜ ๊ฒฝ์šฐ ์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ์‹œ์ž‘ํ•œ `Agent` ๋˜๋Š” `Skill` ๋„๊ตฌ ํ˜ธ์ถœ์˜ `tool_use_id`์ž…๋‹ˆ๋‹ค. ์ฃผ ์„ธ์…˜ ๋ฉ”์‹œ์ง€ ๋ฐ ์ด์ „ ์„ธ์…˜์˜ ๊ฒฝ์šฐ `null` |371| `parent_tool_use_id` | `string \| null` | ์„œ๋ธŒ์—์ด์ „ํŠธ ๋ฉ”์‹œ์ง€์˜ ๊ฒฝ์šฐ ์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ์‹œ์ž‘ํ•œ `Agent` ๋˜๋Š” `Skill` ๋„๊ตฌ ํ˜ธ์ถœ์˜ `tool_use_id`์ž…๋‹ˆ๋‹ค. ์ฃผ ์„ธ์…˜ ๋ฉ”์‹œ์ง€ ๋ฐ ์ด์ „ ์„ธ์…˜์˜ ๊ฒฝ์šฐ `null` |

372| `parent_agent_id` | `string \| null` | [์ค‘์ฒฉ๋œ ์„œ๋ธŒ์—์ด์ „ํŠธ](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)์˜ ๋ฉ”์‹œ์ง€์˜ ๊ฒฝ์šฐ ์ด๋ฅผ ์ƒ์„ฑํ•œ ์„œ๋ธŒ์—์ด์ „ํŠธ์˜ `agentId`์ž…๋‹ˆ๋‹ค. ์ฃผ ์„ธ์…˜ ๋ฉ”์‹œ์ง€, ์ตœ์ƒ์œ„ ์„œ๋ธŒ์—์ด์ „ํŠธ์˜ ๋ฉ”์‹œ์ง€ ๋ฐ ์ด์ „ ์„ธ์…˜์˜ ๊ฒฝ์šฐ `null`์ž…๋‹ˆ๋‹ค. Claude Code v2.1.202 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |372| `parent_agent_id` | `string \| null` | [์ค‘์ฒฉ๋œ ์„œ๋ธŒ์—์ด์ „ํŠธ](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)์˜ ๋ฉ”์‹œ์ง€์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ์ค‘์ฒฉ ์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ์ƒ์„ฑํ•œ ์„œ๋ธŒ์—์ด์ „ํŠธ์˜ `agentId`์ž…๋‹ˆ๋‹ค. ์ฃผ ์„ธ์…˜ ๋ฉ”์‹œ์ง€, ์ตœ์ƒ์œ„ ์„œ๋ธŒ์—์ด์ „ํŠธ์˜ ๋ฉ”์‹œ์ง€ ๋ฐ ์ด์ „ ์„ธ์…˜์˜ ๊ฒฝ์šฐ `null`์ž…๋‹ˆ๋‹ค. Claude Code v2.1.202 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |

373 373 

374<h4 id="example-4">374<h4 id="example-4">

375 ์˜ˆ์ œ375 ์˜ˆ์ œ

agent-view.md +5 โˆ’5

Details

500 ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•  ๋•Œ ์ด์–ด์ง€๋Š” ๊ฒƒ500 ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•  ๋•Œ ์ด์–ด์ง€๋Š” ๊ฒƒ

501</h4>501</h4>

502 502 

503๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•˜๋ฉด ์ €์žฅ๋œ ๋Œ€ํ™”์—์„œ ์žฌ๊ฐœํ•˜๋Š” ์ƒˆ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘๋˜๋ฉฐ, ์ง„ํ–‰ ์ค‘์ธ ์ž‘์—…์ด ๊ทธ ํ”„๋กœ์„ธ์Šค๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ค‘์ธ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์…ธ ๋ช…๋ น, ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ๋ณด๋‚ธ ์„œ๋ธŒ์—์ด์ „ํŠธ, ๋™์  ์›Œํฌํ”Œ๋กœ, [`/loop`](/docs/ko/scheduled-tasks)๋กœ ์ƒ์„ฑํ•œ ์˜ˆ์•ฝ ์ž‘์—…, ๊ทธ๋ฆฌ๊ณ  Claude์˜ [์•„ํ‹ฐํŒฉํŠธ ๋Œ“๊ธ€์— ๋Œ€ํ•œ ์ž๋™ ํšŒ์‹ ](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own)์ด ๋ชจ๋‘ ์ด์–ด์ ธ ๊ทธ๊ณณ์—์„œ ๊ณ„์† ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” ์ž์‹ ์ด ์‹œ์ž‘ํ•œ ๋ชจ๋“  ๊ฒƒ๊ณผ ํ•จ๊ป˜ ์ด๋™ํ•˜๋ฏ€๋กœ, ๊ทธ ์ž‘์—…์ด ๋ชจ๋‘ ์ด๋™ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๋งŒ ์ด์–ด์ง‘๋‹ˆ๋‹ค. ์ง„ํ–‰ ์ค‘์ธ ์ž‘์—…์„ ์ด์–ด๊ฐ€๋Š” ๋Œ€์‹  ์ค‘์ง€ํ•˜๋ ค๋ฉด [`CLAUDE_DISABLE_ADOPT=1`](/docs/ko/env-vars#variables) ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด Claude Code๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•˜๊ธฐ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.503๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•˜๋ฉด ์ €์žฅ๋œ ๋Œ€ํ™”์—์„œ ์žฌ๊ฐœํ•˜๋Š” ์ƒˆ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘๋˜๋ฉฐ, ์ง„ํ–‰ ์ค‘์ธ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์ด ๊ทธ ํ”„๋กœ์„ธ์Šค๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ค‘์ธ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์…ธ ๋ช…๋ น, ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ๋ณด๋‚ธ ์„œ๋ธŒ์—์ด์ „ํŠธ, ๋™์  ์›Œํฌํ”Œ๋กœ, [`/loop`](/docs/ko/scheduled-tasks)๋กœ ์ƒ์„ฑํ•œ ์˜ˆ์•ฝ ์ž‘์—…, ๊ทธ๋ฆฌ๊ณ  Claude์˜ [์•„ํ‹ฐํŒฉํŠธ ๋Œ“๊ธ€์— ๋Œ€ํ•œ ์ž๋™ ํšŒ์‹ ](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own)์ด ๋ชจ๋‘ ์ด์–ด์ ธ ๊ทธ๊ณณ์—์„œ ๊ณ„์† ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” ์ž์‹ ์ด ์‹œ์ž‘ํ•œ ๋ชจ๋“  ๊ฒƒ๊ณผ ํ•จ๊ป˜ ์ด๋™ํ•˜๋ฏ€๋กœ, ๊ทธ ์ž‘์—…์ด ๋ชจ๋‘ ์ด๋™ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๋งŒ ์ด์–ด์ง‘๋‹ˆ๋‹ค. ์ง„ํ–‰ ์ค‘์ธ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์„ ์ด์–ด๊ฐ€๋Š” ๋Œ€์‹  ์ค‘์ง€ํ•˜๋ ค๋ฉด [`CLAUDE_DISABLE_ADOPT=1`](/docs/ko/env-vars#variables) ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด Claude Code๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•˜๊ธฐ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

504 504 

505[๋™์  ์›Œํฌํ”Œ๋กœ](/docs/ko/workflows)์— ์•„์ง ์‹คํ–‰ ์ค‘์ธ ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ์žˆ์œผ๋ฉด, Claude Code๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•˜๊ธฐ ์ „์— `Background this session?` ๋Œ€ํ™” ์ƒ์ž๋กœ ๋ฌป๊ณ , ๋ช‡ ๊ฐœ์˜ ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ์žฌ์‹œ์ž‘๋˜๋Š”์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๋จผ์ € ์™„๋ฃŒ๋˜๋„๋ก ํ•˜๋ ค๋ฉด `Stay`๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ํ™•์ธํ•˜๋ฉด Claude Code๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์—์„œ ์‹คํ–‰์„ ์žฌ์ƒํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ์‹คํ–‰ ์ค‘์ด๋˜ ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘๋˜๋ฏ€๋กœ, ์ง€๊ธˆ๊นŒ์ง€ ์‚ฌ์šฉํ•œ ํ† ํฐ์ด ๋‹ค์‹œ ์†Œ๋น„๋ฉ๋‹ˆ๋‹ค. ์™„๋ฃŒ๋œ ์„œ๋ธŒ์—์ด์ „ํŠธ ์ค‘ ์–ด๋–ค ๊ฒƒ์ด ์ €์žฅ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์–ด๋–ค ๊ฒƒ์ด ๋‹ค์‹œ ์‹คํ–‰๋˜๋Š”์ง€๋Š” [์ผ์‹œ ์ค‘์ง€ ํ›„ ์žฌ๊ฐœ](/docs/ko/workflows#resume-after-a-pause)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.505[๋™์  ์›Œํฌํ”Œ๋กœ](/docs/ko/workflows)์— ์•„์ง ์‹คํ–‰ ์ค‘์ธ ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ์žˆ์œผ๋ฉด, Claude Code๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•˜๊ธฐ ์ „์— `Background this session?` ๋Œ€ํ™” ์ƒ์ž๋กœ ๋ฌป๊ณ , ๋ช‡ ๊ฐœ์˜ ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ์žฌ์‹œ์ž‘๋˜๋Š”์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๋จผ์ € ์™„๋ฃŒ๋˜๋„๋ก ํ•˜๋ ค๋ฉด `Stay`๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ํ™•์ธํ•˜๋ฉด Claude Code๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์—์„œ ์‹คํ–‰์„ ์žฌ์ƒํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ์‹คํ–‰ ์ค‘์ด๋˜ ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘๋˜๋ฏ€๋กœ, ์ง€๊ธˆ๊นŒ์ง€ ์‚ฌ์šฉํ•œ ํ† ํฐ์ด ๋‹ค์‹œ ์†Œ๋น„๋ฉ๋‹ˆ๋‹ค. ์™„๋ฃŒ๋œ ์„œ๋ธŒ์—์ด์ „ํŠธ ์ค‘ ์–ด๋–ค ๊ฒƒ์ด ์ €์žฅ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์–ด๋–ค ๊ฒƒ์ด ๋‹ค์‹œ ์‹คํ–‰๋˜๋Š”์ง€๋Š” [์ผ์‹œ ์ค‘์ง€ ํ›„ ์žฌ๊ฐœ](/docs/ko/workflows#resume-after-a-pause)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

506 506 

507Claude Code๋Š” ์‹คํ–‰ ์ค‘์ธ [๋ชจ๋‹ˆํ„ฐ](/docs/ko/tools-reference#monitor-tool)์ฒ˜๋Ÿผ ์ด์–ด๊ฐˆ ์ˆ˜ ์—†๋Š” ์ž‘์—…์„ ์ค‘์ง€ํ•˜๋ฉฐ, ๋ชจ๋‹ˆํ„ฐ๋ฅผ ์†Œ์œ ํ•œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„œ๋ธŒ์—์ด์ „ํŠธ๋„ ํ•จ๊ป˜ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—…์ด ์‹คํ–‰ ์ค‘์ด๋ฉด Claude Code๋Š” `Background this session?` ๋Œ€ํ™” ์ƒ์ž๋ฅผ ํ‘œ์‹œํ•˜์—ฌ ์ž‘์—…์„ ์ค‘์ง€ํ•˜๊ธฐ ์ „์— ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.507Claude Code๋Š” ์‹คํ–‰ ์ค‘์ธ [๋ชจ๋‹ˆํ„ฐ](/docs/ko/tools-reference#monitor-tool)์ฒ˜๋Ÿผ ์ด์–ด๊ฐˆ ์ˆ˜ ์—†๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์„ ์ค‘์ง€ํ•˜๋ฉฐ, ๋ชจ๋‹ˆํ„ฐ๋ฅผ ์†Œ์œ ํ•œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„œ๋ธŒ์—์ด์ „ํŠธ๋„ ํ•จ๊ป˜ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—…์ด ์‹คํ–‰ ์ค‘์ด๋ฉด Claude Code๋Š” `Background this session?` ๋Œ€ํ™” ์ƒ์ž๋ฅผ ํ‘œ์‹œํ•˜์—ฌ ์ž‘์—…์„ ์ค‘์ง€ํ•˜๊ธฐ ์ „์— ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

508 508 

509๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•œ ํ›„ ์„ธ์…˜์€ ์ƒˆ๋กœ์šด ์„œ๋ธŒ์—์ด์ „ํŠธ, ๋ชจ๋‹ˆํ„ฐ, ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ช…๋ น์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋“ค์€ ์ดํ›„ ๋ถ„๋ฆฌ ๋ฐ ์žฌ์—ฐ๊ฒฐ ํ›„์—๋„ ๊ณ„์† ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.509๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•œ ํ›„ ์„ธ์…˜์€ ์ƒˆ๋กœ์šด ์„œ๋ธŒ์—์ด์ „ํŠธ, ๋ชจ๋‹ˆํ„ฐ, ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ช…๋ น์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋“ค์€ ์ดํ›„ ๋ถ„๋ฆฌ ๋ฐ ์žฌ์—ฐ๊ฒฐ ํ›„์—๋„ ๊ณ„์† ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

510 510 


949 ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•˜๋ฉด `Background this session?` ๋Œ€ํ™” ์ƒ์ž๊ฐ€ ํ‘œ์‹œ๋จ949 ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•˜๋ฉด `Background this session?` ๋Œ€ํ™” ์ƒ์ž๊ฐ€ ํ‘œ์‹œ๋จ

950</h3>950</h3>

951 951 

952`โ†`๋ฅผ ๋ˆŒ๋Ÿฌ ํ˜„์žฌ ์„ธ์…˜์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ „ํ™˜ํ•  ๋•Œ Claude Code๊ฐ€ `Background this session?` ๋Œ€ํ™” ์ƒ์ž๋ฅผ ํ‘œ์‹œํ•˜๋ฉด, ์„ธ์…˜์— ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ „ํ™˜ ์‹œ ์ค‘์ง€๋˜๊ฑฐ๋‚˜, ๋‹ค์‹œ ์‹œ์ž‘๋˜๊ฑฐ๋‚˜, ์ง€์ผœ๋ณด๋Š” ์‚ฌ๋žŒ ์—†์ด ๊ณ„์† ์‹คํ–‰๋  ์ง„ํ–‰ ์ค‘์ธ ์ž‘์—…์ด ์žˆ๋Š” ๊ฒƒ์ด๋ฉฐ, Claude Code๋Š” ์ด ์ค‘ ์–ด๋А ๊ฒƒ์ด๋“  ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค:952`โ†`๋ฅผ ๋ˆŒ๋Ÿฌ ํ˜„์žฌ ์„ธ์…˜์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ „ํ™˜ํ•  ๋•Œ Claude Code๊ฐ€ `Background this session?` ๋Œ€ํ™” ์ƒ์ž๋ฅผ ํ‘œ์‹œํ•˜๋ฉด, ์„ธ์…˜์— ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ „ํ™˜ ์‹œ ์ค‘์ง€๋˜๊ฑฐ๋‚˜, ๋‹ค์‹œ ์‹œ์ž‘๋˜๊ฑฐ๋‚˜, ์ง€์ผœ๋ณด๋Š” ์‚ฌ๋žŒ ์—†์ด ๊ณ„์† ์‹คํ–‰๋  ์ง„ํ–‰ ์ค‘์ธ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์ด ์žˆ๋Š” ๊ฒƒ์ด๋ฉฐ, Claude Code๋Š” ์ด ์ค‘ ์–ด๋А ๊ฒƒ์ด๋“  ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค:

953 953 

954* **์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ์ž‘์—…**: ์„ธ์…˜์— ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‹คํ–‰ ์ค‘์ธ [๋ชจ๋‹ˆํ„ฐ](/docs/ko/tools-reference#monitor-tool)์™€ ๊ฐ™์€ ์ž‘์—…์ž…๋‹ˆ๋‹ค. ๋Œ€ํ™” ์ƒ์ž๋Š” Claude Code๊ฐ€ ์ค‘๋‹จํ•  ์ž‘์—…์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ณ , ๋ณ„๋„๋กœ ์ด๋™ํ•  ์ž‘์—…์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด์ค๋‹ˆ๋‹ค.954* **์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ์ž‘์—…**: ์„ธ์…˜์— ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‹คํ–‰ ์ค‘์ธ [๋ชจ๋‹ˆํ„ฐ](/docs/ko/tools-reference#monitor-tool)์™€ ๊ฐ™์€ ์ž‘์—…์ž…๋‹ˆ๋‹ค. ๋Œ€ํ™” ์ƒ์ž๋Š” Claude Code๊ฐ€ ์ค‘๋‹จํ•  ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์˜ ์ด๋ฆ„์„ ํ‘œ์‹œํ•˜๊ณ , ๋ณ„๋„๋กœ ์ด๋™ํ•  ์ž‘์—…์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด์ค๋‹ˆ๋‹ค.

955* **์‹คํ–‰ ์ค‘์ธ ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ์žˆ๋Š” ์›Œํฌํ”Œ๋กœ**: [๋™์  ์›Œํฌํ”Œ๋กœ](/docs/ko/workflows)์— ์—ฌ์ „ํžˆ ์‹คํ–‰ ์ค‘์ธ ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์›Œํฌํ”Œ๋กœ ์ž์ฒด๋Š” ์ด๋™๋˜์ง€๋งŒ, ์‹คํ–‰ ์ค‘์ธ ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘๋˜๋ฉฐ, ๋Œ€ํ™” ์ƒ์ž๋Š” ๊ฐœ์ˆ˜๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.955* **์‹คํ–‰ ์ค‘์ธ ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ์žˆ๋Š” ์›Œํฌํ”Œ๋กœ**: [๋™์  ์›Œํฌํ”Œ๋กœ](/docs/ko/workflows)์— ์—ฌ์ „ํžˆ ์‹คํ–‰ ์ค‘์ธ ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์›Œํฌํ”Œ๋กœ ์ž์ฒด๋Š” ์ด๋™๋˜์ง€๋งŒ, ์‹คํ–‰ ์ค‘์ธ ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘๋˜๋ฉฐ, ๋Œ€ํ™” ์ƒ์ž๋Š” ๊ฐœ์ˆ˜๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

956* **์ž๋™ ์•„ํ‹ฐํŒฉํŠธ ๋‹ต๋ณ€**: Claude๊ฐ€ [์•„ํ‹ฐํŒฉํŠธ์˜ ๋Œ“๊ธ€์— ์ž๋™์œผ๋กœ ๋‹ต๋ณ€](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own)ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋‹ต๋ณ€์€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์—์„œ ๊ณ„์†๋˜๋ฉฐ, ๋Œ€ํ™” ์ƒ์ž๋Š” ์ด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.956* **์ž๋™ ์•„ํ‹ฐํŒฉํŠธ ๋‹ต๋ณ€**: Claude๊ฐ€ [์•„ํ‹ฐํŒฉํŠธ์˜ ๋Œ“๊ธ€์— ์ž๋™์œผ๋กœ ๋‹ต๋ณ€](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own)ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋‹ต๋ณ€์€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์—์„œ ๊ณ„์†๋˜๋ฉฐ, ๋Œ€ํ™” ์ƒ์ž๋Š” ์ด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

957 957 


1175| v2.1.199 | ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ํ˜ธ์ŠคํŠธ์—์„œ ์‹œ์ž‘์„ ์™„๋ฃŒํ•˜๊ธฐ ์ „์— ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์€ ๋‹จ์ˆœํžˆ ์ข…๋ฃŒ ์ด์œ ๋งŒ ํ‘œ์‹œํ•˜๋Š” ๋Œ€์‹  ํ–‰ ์ƒํƒœ์— `possibly low memory โ€” free some up and retry`๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. `โ†` ๋˜๋Š” `/background`๋กœ ์„ธ์…˜์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•˜๋ฉด `/color`๊ฐ€ ์ƒˆ ํ–‰์œผ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. |1175| v2.1.199 | ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ํ˜ธ์ŠคํŠธ์—์„œ ์‹œ์ž‘์„ ์™„๋ฃŒํ•˜๊ธฐ ์ „์— ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์€ ๋‹จ์ˆœํžˆ ์ข…๋ฃŒ ์ด์œ ๋งŒ ํ‘œ์‹œํ•˜๋Š” ๋Œ€์‹  ํ–‰ ์ƒํƒœ์— `possibly low memory โ€” free some up and retry`๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. `โ†` ๋˜๋Š” `/background`๋กœ ์„ธ์…˜์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•˜๋ฉด `/color`๊ฐ€ ์ƒˆ ํ–‰์œผ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. |

1176| v2.1.198 | ์—์ด์ „ํŠธ ๋ทฐ๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์ด ์ž…๋ ฅ์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜, ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜, ์‹คํŒจํ•  ๋•Œ `preferredNotifChannel`์„ ํ†ตํ•ด ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ณ  `agent_needs_input` ๋˜๋Š” `agent_completed` ์œ ํ˜•์œผ๋กœ `Notification` ํ›…์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. `claude attach <id>` ๋‚ด์˜ `โ†` ๋ฐ `/exit`๋Š” ์…ธ๋กœ ์ข…๋ฃŒํ•˜๋Š” ๋Œ€์‹  ์—์ด์ „ํŠธ ๋ทฐ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. `Ctrl+Z`๋Š” ์…ธ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ์ž‘์—…์„ ์›ŒํฌํŠธ๋ฆฌ์— ๊ฒฉ๋ฆฌํ•œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์€ ์™„๋ฃŒ๋  ๋•Œ ๋จผ์ € ๋ฌป๋Š” ๋Œ€์‹  ์ปค๋ฐ‹ํ•˜๊ณ , `main`์ด๋‚˜ `master`๊ฐ€ ์•„๋‹Œ ์ž์‹ ์˜ ๊ฒฉ๋ฆฌ๋œ ๋ธŒ๋žœ์น˜๋ฅผ ํ‘ธ์‹œํ•˜๋ฉฐ, ์ดˆ์•ˆ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์—ฝ๋‹ˆ๋‹ค. `/login`์€ ์—์ด์ „ํŠธ ๋ทฐ์—์„œ ์‹คํ–‰๋˜๊ณ  ๋กœ๊ทธ์ธ ๋Œ€ํ™” ์ƒ์ž๋ฅผ ์—ฝ๋‹ˆ๋‹ค. `Background work is running` ์ข…๋ฃŒ ๋Œ€ํ™” ์ƒ์ž๋Š” `Move to background and exit`๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ข…๋ฃŒ ํ•ธ๋“œ์˜คํ”„๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„œ๋ธŒ์—์ด์ „ํŠธ๋„ ํฌํ•จํ•˜๋ฉฐ, ์ด๋“ค์€ ์‹คํŒจ๋กœ ๋ณด๊ณ ๋˜๋Š” ๋Œ€์‹  ๋‹ค์Œ ๊นจ์–ด๋‚  ๋•Œ ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ์—์„œ ์žฌ๊ฐœ๋ฉ๋‹ˆ๋‹ค. `claude --bg`๋Š” `-p` ๋˜๋Š” `--print`์™€ ๊ฒฐํ•ฉ๋˜๋ฉด ์˜ค๋ฅ˜๋กœ ๊ฑฐ๋ถ€๋ฉ๋‹ˆ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜ ํ˜ธ์ŠคํŠธ๋Š” `connect: no route to host`๋กœ ์‹คํŒจํ•˜๋Š” ๋Œ€์‹  ์ฒซ LAN ์•ก์„ธ์Šค ์‹œ macOS ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ ๊ถŒํ•œ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. |1176| v2.1.198 | ์—์ด์ „ํŠธ ๋ทฐ๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์ด ์ž…๋ ฅ์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜, ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜, ์‹คํŒจํ•  ๋•Œ `preferredNotifChannel`์„ ํ†ตํ•ด ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ณ  `agent_needs_input` ๋˜๋Š” `agent_completed` ์œ ํ˜•์œผ๋กœ `Notification` ํ›…์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. `claude attach <id>` ๋‚ด์˜ `โ†` ๋ฐ `/exit`๋Š” ์…ธ๋กœ ์ข…๋ฃŒํ•˜๋Š” ๋Œ€์‹  ์—์ด์ „ํŠธ ๋ทฐ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. `Ctrl+Z`๋Š” ์…ธ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ์ž‘์—…์„ ์›ŒํฌํŠธ๋ฆฌ์— ๊ฒฉ๋ฆฌํ•œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์€ ์™„๋ฃŒ๋  ๋•Œ ๋จผ์ € ๋ฌป๋Š” ๋Œ€์‹  ์ปค๋ฐ‹ํ•˜๊ณ , `main`์ด๋‚˜ `master`๊ฐ€ ์•„๋‹Œ ์ž์‹ ์˜ ๊ฒฉ๋ฆฌ๋œ ๋ธŒ๋žœ์น˜๋ฅผ ํ‘ธ์‹œํ•˜๋ฉฐ, ์ดˆ์•ˆ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์—ฝ๋‹ˆ๋‹ค. `/login`์€ ์—์ด์ „ํŠธ ๋ทฐ์—์„œ ์‹คํ–‰๋˜๊ณ  ๋กœ๊ทธ์ธ ๋Œ€ํ™” ์ƒ์ž๋ฅผ ์—ฝ๋‹ˆ๋‹ค. `Background work is running` ์ข…๋ฃŒ ๋Œ€ํ™” ์ƒ์ž๋Š” `Move to background and exit`๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ข…๋ฃŒ ํ•ธ๋“œ์˜คํ”„๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„œ๋ธŒ์—์ด์ „ํŠธ๋„ ํฌํ•จํ•˜๋ฉฐ, ์ด๋“ค์€ ์‹คํŒจ๋กœ ๋ณด๊ณ ๋˜๋Š” ๋Œ€์‹  ๋‹ค์Œ ๊นจ์–ด๋‚  ๋•Œ ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ์—์„œ ์žฌ๊ฐœ๋ฉ๋‹ˆ๋‹ค. `claude --bg`๋Š” `-p` ๋˜๋Š” `--print`์™€ ๊ฒฐํ•ฉ๋˜๋ฉด ์˜ค๋ฅ˜๋กœ ๊ฑฐ๋ถ€๋ฉ๋‹ˆ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜ ํ˜ธ์ŠคํŠธ๋Š” `connect: no route to host`๋กœ ์‹คํŒจํ•˜๋Š” ๋Œ€์‹  ์ฒซ LAN ์•ก์„ธ์Šค ์‹œ macOS ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ ๊ถŒํ•œ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. |

1177| v2.1.196 | ๋‹จ์ผ `โ†` ๋ˆ„๋ฆ„์ด ํฌ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์€ ๋ฐ”๋‹ฅ๊ธ€ ํžŒํŠธ์™€ ํ™•์ธ์ด ์žˆ๋Š” ๋‘ ๋ฒˆ์˜ ๋ˆ„๋ฆ„์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. `claude agents`์— ์ „๋‹ฌ๋œ `--dangerously-skip-permissions`๋Š” ์กฐ์šฉํžˆ ์‚ญ์ œ๋˜๋Š” ๋Œ€์‹  ์šฐํšŒ ๋ฉด์ฑ… ์กฐํ•ญ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์„ ์ง€์ •ํ•˜์ง€ ์•Š์€ ๋Œ€ํ™”ํ˜• ์„ธ์…˜์€ ์„ธ์…˜ ๋ชฉ๋ก ๋ฐ `claude agents --json`์—์„œ `my-app-3f`์™€ ๊ฐ™์€ ๊ธฐ๋ณธ ์ด๋ฆ„์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์…ธ ๋ช…๋ น ๋ฐ ๋™์  ์›Œํฌํ”Œ๋กœ๋Š” Windows๋ฅผ ํฌํ•จํ•˜์—ฌ ์„ธ์…˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค‘์ง€๋˜๊ฑฐ๋‚˜, ๋‹ค์‹œ ์‹œ์ž‘๋˜๊ฑฐ๋‚˜, ์—…๋ฐ์ดํŠธ๋˜์–ด๋„ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1`์„ ์„ค์ •ํ•˜๋ฉด ํ•ธ๋“œ์˜คํ”„๋ฅผ ๋•๋‹ˆ๋‹ค. ๋‹ค์‹œ ์‹œ์ž‘ ์‹œ ๋น„์–ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ์ž˜๋ชป ์ฝ์€ ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ๋Š” ์‚ญ์ œ๋˜๋Š” ๋Œ€์‹  `.orphaned-` ์ ‘๋ฏธ์‚ฌ๋กœ ์ด๋ฆ„์ด ๋ฐ”๋€๋‹ˆ๋‹ค. |1177| v2.1.196 | ๋‹จ์ผ `โ†` ๋ˆ„๋ฆ„์ด ํฌ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์€ ๋ฐ”๋‹ฅ๊ธ€ ํžŒํŠธ์™€ ํ™•์ธ์ด ์žˆ๋Š” ๋‘ ๋ฒˆ์˜ ๋ˆ„๋ฆ„์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. `claude agents`์— ์ „๋‹ฌ๋œ `--dangerously-skip-permissions`๋Š” ์กฐ์šฉํžˆ ์‚ญ์ œ๋˜๋Š” ๋Œ€์‹  ์šฐํšŒ ๋ฉด์ฑ… ์กฐํ•ญ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์„ ์ง€์ •ํ•˜์ง€ ์•Š์€ ๋Œ€ํ™”ํ˜• ์„ธ์…˜์€ ์„ธ์…˜ ๋ชฉ๋ก ๋ฐ `claude agents --json`์—์„œ `my-app-3f`์™€ ๊ฐ™์€ ๊ธฐ๋ณธ ์ด๋ฆ„์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์…ธ ๋ช…๋ น ๋ฐ ๋™์  ์›Œํฌํ”Œ๋กœ๋Š” Windows๋ฅผ ํฌํ•จํ•˜์—ฌ ์„ธ์…˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค‘์ง€๋˜๊ฑฐ๋‚˜, ๋‹ค์‹œ ์‹œ์ž‘๋˜๊ฑฐ๋‚˜, ์—…๋ฐ์ดํŠธ๋˜์–ด๋„ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1`์„ ์„ค์ •ํ•˜๋ฉด ํ•ธ๋“œ์˜คํ”„๋ฅผ ๋•๋‹ˆ๋‹ค. ๋‹ค์‹œ ์‹œ์ž‘ ์‹œ ๋น„์–ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ์ž˜๋ชป ์ฝ์€ ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ๋Š” ์‚ญ์ œ๋˜๋Š” ๋Œ€์‹  `.orphaned-` ์ ‘๋ฏธ์‚ฌ๋กœ ์ด๋ฆ„์ด ๋ฐ”๋€๋‹ˆ๋‹ค. |

1178| v2.1.195 | Windows์—์„œ๋„ ์„ธ์…˜์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•  ๋•Œ ์ง„ํ–‰ ์ค‘์ธ ์ž‘์—…์ด ์ด์–ด์ง‘๋‹ˆ๋‹ค. ๋Œ€์‹  ์ค‘์ง€ํ•˜๋ ค๋ฉด `CLAUDE_DISABLE_ADOPT=1`์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. `Completed` ๊ทธ๋ฃน์€ ๋‚จ์€ ์ˆ˜์ง ๊ณต๊ฐ„์„ ์ฑ„์šฐ๊ณ  ์งง์€ ํ„ฐ๋ฏธ๋„์—์„œ ํ—ค๋”๊ฐ€ ์••์ถ•๋ฉ๋‹ˆ๋‹ค. ์ด์ „ Claude Code ๋ฒ„์ „์€ ๋” ์ด์ƒ ์ตœ์‹  ์„ธ์…˜์˜ `state.json` ํ•„๋“œ๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ํ•ด๋‹น ์„ธ์…˜์„ `claude agents`์—์„œ ์ˆจ๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ค‘์ง€๋œ ์„ธ์…˜์— ์—ฐ๊ฒฐํ•˜๋ฉด ์ตœ๋Œ€ 5์ดˆ ๋™์•ˆ ๋นˆ ํ™”๋ฉด์„ ํ‘œ์‹œํ•˜๋Š” ๋Œ€์‹  ์ฆ‰์‹œ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฝํ•  ์ˆ˜ ์—†๋Š” ๊ฐ๋…์ž๋Š” ์ž์ฒด์ ์œผ๋กœ ์ข…๋ฃŒ๋˜๊ณ  ์ž ๊ธˆ์„ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค. |1178| v2.1.195 | Windows์—์„œ๋„ ์„ธ์…˜์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•  ๋•Œ ์ง„ํ–‰ ์ค‘์ธ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์ด ์ด์–ด์ง‘๋‹ˆ๋‹ค. ๋Œ€์‹  ์ค‘์ง€ํ•˜๋ ค๋ฉด `CLAUDE_DISABLE_ADOPT=1`์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. `Completed` ๊ทธ๋ฃน์€ ๋‚จ์€ ์ˆ˜์ง ๊ณต๊ฐ„์„ ์ฑ„์šฐ๊ณ  ์งง์€ ํ„ฐ๋ฏธ๋„์—์„œ ํ—ค๋”๊ฐ€ ์••์ถ•๋ฉ๋‹ˆ๋‹ค. ์ด์ „ Claude Code ๋ฒ„์ „์€ ๋” ์ด์ƒ ์ตœ์‹  ์„ธ์…˜์˜ `state.json` ํ•„๋“œ๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ํ•ด๋‹น ์„ธ์…˜์„ `claude agents`์—์„œ ์ˆจ๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ค‘์ง€๋œ ์„ธ์…˜์— ์—ฐ๊ฒฐํ•˜๋ฉด ์ตœ๋Œ€ 5์ดˆ ๋™์•ˆ ๋นˆ ํ™”๋ฉด์„ ํ‘œ์‹œํ•˜๋Š” ๋Œ€์‹  ์ฆ‰์‹œ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฝํ•  ์ˆ˜ ์—†๋Š” ๊ฐ๋…์ž๋Š” ์ž์ฒด์ ์œผ๋กœ ์ข…๋ฃŒ๋˜๊ณ  ์ž ๊ธˆ์„ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค. |

1179| v2.1.191 | `claude --bg`์— ์„œ๋ธŒ์—์ด์ „ํŠธ์™€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” `--agent` ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋ฉด ์‹œ์ž‘์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค: ์„ธ์…˜์€ ๊ธฐ๋ณธ ์—์ด์ „ํŠธ๋กœ ์‹คํ–‰๋˜๋Š” ๋Œ€์‹  `--agent '<name>' not found` ์˜ค๋ฅ˜๋กœ ์ฆ‰์‹œ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. |1179| v2.1.191 | `claude --bg`์— ์„œ๋ธŒ์—์ด์ „ํŠธ์™€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” `--agent` ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋ฉด ์‹œ์ž‘์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค: ์„ธ์…˜์€ ๊ธฐ๋ณธ ์—์ด์ „ํŠธ๋กœ ์‹คํ–‰๋˜๋Š” ๋Œ€์‹  `--agent '<name>' not found` ์˜ค๋ฅ˜๋กœ ์ฆ‰์‹œ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. |

1180| v2.1.174 | ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์€ ๋” ์ด์ƒ ๊ฐ๋…์ž์˜ ์‹œ์ž‘ ์…ธ์—์„œ `ANTHROPIC_BASE_URL`๊ณผ ๊ฐ™์€ ๊ฒŒ์ดํŠธ์›จ์ด ์—”๋“œํฌ์ธํŠธ ๋ณ€์ˆ˜๋ฅผ ์ƒ์†ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ๋…์ž๋Š” ์‚ฌ์ „ ์ค€๋น„๋œ ์›Œ์ปค์— ์ƒˆ๋กœ์šด ์ž๊ฒฉ ์ฆ๋ช… ์Šค๋ƒ…์ƒท์„ ์ œ๊ณตํ•˜์—ฌ ์ž˜๋ชป๋œ `Could not resolve authentication method` ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. |1180| v2.1.174 | ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์€ ๋” ์ด์ƒ ๊ฐ๋…์ž์˜ ์‹œ์ž‘ ์…ธ์—์„œ `ANTHROPIC_BASE_URL`๊ณผ ๊ฐ™์€ ๊ฒŒ์ดํŠธ์›จ์ด ์—”๋“œํฌ์ธํŠธ ๋ณ€์ˆ˜๋ฅผ ์ƒ์†ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ๋…์ž๋Š” ์‚ฌ์ „ ์ค€๋น„๋œ ์›Œ์ปค์— ์ƒˆ๋กœ์šด ์ž๊ฒฉ ์ฆ๋ช… ์Šค๋ƒ…์ƒท์„ ์ œ๊ณตํ•˜์—ฌ ์ž˜๋ชป๋œ `Could not resolve authentication method` ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. |

1181| v2.1.172 | ๋””์ŠคํŒจ์น˜ ์ž…๋ ฅ์˜ `/model`์ด ์„ธ์…˜ ๋ฒ”์œ„ ๋””์ŠคํŒจ์น˜ ๋ชจ๋ธ ์žฌ์ •์˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. |1181| v2.1.172 | ๋””์ŠคํŒจ์น˜ ์ž…๋ ฅ์˜ `/model`์ด ์„ธ์…˜ ๋ฒ”์œ„ ๋””์ŠคํŒจ์น˜ ๋ชจ๋ธ ์žฌ์ •์˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. |

analytics.md +2 โˆ’0

Details

13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | ์‚ฌ์šฉ๋Ÿ‰ ์ง€ํ‘œ, GitHub ํ†ตํ•ฉ์„ ํฌํ•จํ•œ ๊ธฐ์—ฌ๋„ ์ง€ํ‘œ, ๋ฆฌ๋”๋ณด๋“œ, ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ | [์„ธ๋ถ€ ์ •๋ณด](#access-analytics-for-team-and-enterprise) |13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | ์‚ฌ์šฉ๋Ÿ‰ ์ง€ํ‘œ, GitHub ํ†ตํ•ฉ์„ ํฌํ•จํ•œ ๊ธฐ์—ฌ๋„ ์ง€ํ‘œ, ๋ฆฌ๋”๋ณด๋“œ, ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ | [์„ธ๋ถ€ ์ •๋ณด](#access-analytics-for-team-and-enterprise) |

14| API (Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | ์‚ฌ์šฉ๋Ÿ‰ ์ง€ํ‘œ, ์ง€์ถœ ์ถ”์ , ํŒ€ ์ธ์‚ฌ์ดํŠธ | [์„ธ๋ถ€ ์ •๋ณด](#access-analytics-for-api-customers) |14| API (Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | ์‚ฌ์šฉ๋Ÿ‰ ์ง€ํ‘œ, ์ง€์ถœ ์ถ”์ , ํŒ€ ์ธ์‚ฌ์ดํŠธ | [์„ธ๋ถ€ ์ •๋ณด](#access-analytics-for-api-customers) |

15 15 

16Code Review์—๋Š” ๋ณ„๋„์˜ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ ํ™œ๋™ ๋ฐ ์ง€์ถœ์€ [์‚ฌ์šฉ๋Ÿ‰ ๋ณด๊ธฐ](/docs/ko/code-review-costs#view-usage)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

17 

16<h2 id="access-analytics-for-team-and-enterprise">18<h2 id="access-analytics-for-team-and-enterprise">

17 Team ๋ฐ Enterprise๋ฅผ ์œ„ํ•œ ๋ถ„์„ ์ ‘๊ทผ19 Team ๋ฐ Enterprise๋ฅผ ์œ„ํ•œ ๋ถ„์„ ์ ‘๊ทผ

18</h2>20</h2>

artifacts.md +5 โˆ’3

Details

75| ์„ธ์…˜์ด [ํ”Œ๋žœ ๋ชจ๋“œ](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)์ธ ๊ฒฝ์šฐ | ๊ฐ ์•„ํ‹ฐํŒฉํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๊ฒŒ์‹œ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค |75| ์„ธ์…˜์ด [ํ”Œ๋žœ ๋ชจ๋“œ](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)์ธ ๊ฒฝ์šฐ | ๊ฐ ์•„ํ‹ฐํŒฉํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๊ฒŒ์‹œ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค |

76| ๊ฒŒ์‹œ๊ฐ€ [์ปค๋„ฅํ„ฐ ํ˜ธ์ถœ](#pull-live-data-with-mcp-connectors) ๋˜๋Š” [ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ](#offer-a-file-download)์™€ ๊ฐ™์€ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๋Ÿฐํƒ€์ž„ ๊ธฐ๋Šฅ์„ ์„ ์–ธํ•˜๋Š” ๊ฒฝ์šฐ | ํ•ด๋‹น ๊ฒŒ์‹œ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค |76| ๊ฒŒ์‹œ๊ฐ€ [์ปค๋„ฅํ„ฐ ํ˜ธ์ถœ](#pull-live-data-with-mcp-connectors) ๋˜๋Š” [ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ](#offer-a-file-download)์™€ ๊ฐ™์€ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๋Ÿฐํƒ€์ž„ ๊ธฐ๋Šฅ์„ ์„ ์–ธํ•˜๋Š” ๊ฒฝ์šฐ | ํ•ด๋‹น ๊ฒŒ์‹œ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค |

77| ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ๊ณต๊ฐœ์ ์œผ๋กœ ๊ณต์œ ํ•œ ๊ฒฝ์šฐ | ๋ณ€๊ฒฝ ์ „์— ๋Œ€ํ™”๋‹น ํ•œ ๋ฒˆ ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค |77| ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ๊ณต๊ฐœ์ ์œผ๋กœ ๊ณต์œ ํ•œ ๊ฒฝ์šฐ | ๋ณ€๊ฒฝ ์ „์— ๋Œ€ํ™”๋‹น ํ•œ ๋ฒˆ ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค |

78| [๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ ๊ฐ€์ ธ์˜ค๊ธฐ](/docs/ko/env-vars#features-that-need-feature-flag-fetching)๋ฅผ ๋ˆ ๊ฒฝ์šฐ | ๊ฐ ์•„ํ‹ฐํŒฉํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๊ฒŒ์‹œ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค |

79| ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ ์„ธ์…˜์—์„œ ์‹คํ–‰๋œ [์˜ˆ์•ฝ ์ž‘์—…](/docs/ko/scheduled-tasks)์ด ์‹œ์ž‘ํ•œ ํ„ด์—์„œ Claude๊ฐ€ ๊ฒŒ์‹œํ•˜๋Š” ๊ฒฝ์šฐ | ๊ฐ ์•„ํ‹ฐํŒฉํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๊ฒŒ์‹œ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค |78| ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ ์„ธ์…˜์—์„œ ์‹คํ–‰๋œ [์˜ˆ์•ฝ ์ž‘์—…](/docs/ko/scheduled-tasks)์ด ์‹œ์ž‘ํ•œ ํ„ด์—์„œ Claude๊ฐ€ ๊ฒŒ์‹œํ•˜๋Š” ๊ฒฝ์šฐ | ๊ฐ ์•„ํ‹ฐํŒฉํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๊ฒŒ์‹œ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค |

80| ์‚ฌ์šฉ์ž์˜ ์Šน์ธ ์—†์ด๋Š” Claude๊ฐ€ ํŒŒ์ผ์„ ์ฝ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ | ๊ฒŒ์‹œ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. `Artifact` ๋„๊ตฌ์— ๋Œ€ํ•œ ํ—ˆ์šฉ ๊ทœ์น™์ด ์žˆ์–ด๋„ ์ด ํ”„๋กฌํ”„ํŠธ๋Š” ์ƒ๋žต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค |79| ์‚ฌ์šฉ์ž์˜ ์Šน์ธ ์—†์ด๋Š” Claude๊ฐ€ ํŒŒ์ผ์„ ์ฝ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ | ๊ฒŒ์‹œ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. `Artifact` ๋„๊ตฌ์— ๋Œ€ํ•œ ํ—ˆ์šฉ ๊ทœ์น™์ด ์žˆ์–ด๋„ ์ด ํ”„๋กฌํ”„ํŠธ๋Š” ์ƒ๋žต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค |

80| [Manual](/docs/ko/permission-modes) ๋˜๋Š” `acceptEdits` ๋ชจ๋“œ์—์„œ Claude๊ฐ€ Manual ๋ชจ๋“œ์˜ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์ฒ˜๋Ÿผ ์‚ฌ์šฉ์ž์˜ ์Šน์ธ ์—†์ด๋Š” ํŽธ์ง‘ํ•  ์ˆ˜ ์—†๋Š” ์•„ํ‹ฐํŒฉํŠธ ํŒŒ์ผ์— ์ž‘์€ ๋ณ€๊ฒฝ์„ ํ•˜๋Š” ๊ฒฝ์šฐ | ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒŒ์‹œํ•˜๊ธฐ ์ „์— ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ํŽธ์ง‘์— ์‚ฌ์šฉ์ž์˜ ์Šน์ธ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ `Artifact` ๋„๊ตฌ์— ๋Œ€ํ•œ ํ—ˆ์šฉ ๊ทœ์น™์ด ์žˆ์–ด๋„ ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค |

81 81 

82Claude๋Š” ์„ธ์…˜์˜ [์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ](/docs/ko/permissions#working-directories)์™€ ํŽ˜์ด์ง€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ž„์‹œ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” ํŒŒ์ผ์€ ๋ฌป์ง€ ์•Š๊ณ  ์ฝ์Šต๋‹ˆ๋‹ค. Claude๊ฐ€ ๋‹ค๋ฅธ ํด๋”์—์„œ ํ”„๋กฌํ”„ํŠธ ์—†์ด ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๋ฉด ์‹คํ–‰ ์‹œ [`--add-dir`](/docs/ko/cli-reference#cli-flags)๋กœ, ๋˜๋Š” ์„ธ์…˜ ์ค‘์— `/add-dir`๋กœ ํ•ด๋‹น ํด๋”๋ฅผ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.82์‚ฌ์šฉ์ž์˜ ์Šน์ธ ์—†์ด Claude๊ฐ€ [์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ](/docs/ko/permissions#working-directories) ์™ธ๋ถ€์˜ ํŒŒ์ผ์„ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๋ฉด ์‹คํ–‰ ์‹œ [`--add-dir`](/docs/ko/cli-reference#cli-flags)๋กœ, ๋˜๋Š” ์„ธ์…˜ ์ค‘์— `/add-dir`๋กœ ํ•ด๋‹น ํด๋”๋ฅผ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค. Claude๋Š” ์ด๋Ÿฌํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ํŽ˜์ด์ง€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ž„์‹œ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” ํŒŒ์ผ์€ ์ด๋ฏธ ๋ฌป์ง€ ์•Š๊ณ  ์ฝ์Šต๋‹ˆ๋‹ค.

83 

84๊ฒŒ์‹œ ํ”„๋กฌํ”„ํŠธ์— `Also makes 1 edit to that file on disk.`์™€ ๊ฐ™์€ ๋ฌธ์žฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด Claude๊ฐ€ ์•„ํ‹ฐํŒฉํŠธ ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•˜๊ณ  ๊ฒŒ์‹œํ•˜๋Š” ์ž‘์—…์„ ํ•œ ๋‹จ๊ณ„๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ๋ฅผ ์Šน์ธํ•˜๋ฉด Claude Code๋Š” ํŽ˜์ด์ง€๋ฅผ ๊ฒŒ์‹œํ•œ ๋‹ค์Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํŒŒ์ผ์— ์”๋‹ˆ๋‹ค.

83 85 

84<h2 id="update-an-artifact">86<h2 id="update-an-artifact">

85 ์•„ํ‹ฐํŒฉํŠธ ์—…๋ฐ์ดํŠธ87 ์•„ํ‹ฐํŒฉํŠธ ์—…๋ฐ์ดํŠธ


149* **๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๊ฐ€ ์—†๋Š” ํด๋ผ์šฐ๋“œ ์„ธ์…˜**: [ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ](/docs/ko/cloud-environments#access-levels)์˜ ๊ฒฝ์šฐ **None** ์ˆ˜์ค€์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. [์ž๋™ ๋ชจ๋“œ](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)์—์„œ๋Š” ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ ๋Œ€์‹  ์Šน์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, [Cowork](https://claude.com/product/cowork) ์„ธ์…˜์—์„œ๋Š” ์‚ฌ์šฉ์ž๋งŒ ์Šน์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.151* **๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๊ฐ€ ์—†๋Š” ํด๋ผ์šฐ๋“œ ์„ธ์…˜**: [ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ](/docs/ko/cloud-environments#access-levels)์˜ ๊ฒฝ์šฐ **None** ์ˆ˜์ค€์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. [์ž๋™ ๋ชจ๋“œ](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)์—์„œ๋Š” ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ ๋Œ€์‹  ์Šน์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, [Cowork](https://claude.com/product/cowork) ์„ธ์…˜์—์„œ๋Š” ์‚ฌ์šฉ์ž๋งŒ ์Šน์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

150* **๋‹ค๋ฅธ ์กฐ์ง์˜ ๊ณต๊ฐœ ์•„ํ‹ฐํŒฉํŠธ**: ์ž๋™ ๋ชจ๋“œ์—์„œ๋„ Claude Code๋Š” ๋จผ์ € ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌป์Šต๋‹ˆ๋‹ค. `bypassPermissions` ๋ชจ๋“œ์ฒ˜๋Ÿผ Claude Code๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌผ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ Claude๋Š” ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ฝ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Claude๋Š” [๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ ๊ฐ€์ ธ์˜ค๊ธฐ](/docs/ko/env-vars#features-that-need-feature-flag-fetching)๊ฐ€ ์ผœ์ ธ ์žˆ๋Š” ๋™์•ˆ์—๋งŒ ์ด๋Ÿฌํ•œ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.152* **๋‹ค๋ฅธ ์กฐ์ง์˜ ๊ณต๊ฐœ ์•„ํ‹ฐํŒฉํŠธ**: ์ž๋™ ๋ชจ๋“œ์—์„œ๋„ Claude Code๋Š” ๋จผ์ € ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌป์Šต๋‹ˆ๋‹ค. `bypassPermissions` ๋ชจ๋“œ์ฒ˜๋Ÿผ Claude Code๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌผ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ Claude๋Š” ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ฝ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Claude๋Š” [๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ ๊ฐ€์ ธ์˜ค๊ธฐ](/docs/ko/env-vars#features-that-need-feature-flag-fetching)๊ฐ€ ์ผœ์ ธ ์žˆ๋Š” ๋™์•ˆ์—๋งŒ ์ด๋Ÿฌํ•œ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

151* **ํ™•์ธ๋˜์ง€ ์•Š์€ ์†Œ์œ ์ž ๋˜๋Š” ๋„คํŠธ์›Œํฌ ์„ค์ •**: Claude Code๊ฐ€ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ์„ ํ™•์ธํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์˜ ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ํ™•์ธํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌป์œผ๋ฉฐ, ์‚ฌ์šฉ์ž์˜ ์Šน์ธ์€ ํ•ด๋‹น ์š”์ฒญ ํ•œ ๊ฑด์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.153* **ํ™•์ธ๋˜์ง€ ์•Š์€ ์†Œ์œ ์ž ๋˜๋Š” ๋„คํŠธ์›Œํฌ ์„ค์ •**: Claude Code๊ฐ€ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ์„ ํ™•์ธํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์˜ ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ํ™•์ธํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌป์œผ๋ฉฐ, ์‚ฌ์šฉ์ž์˜ ์Šน์ธ์€ ํ•ด๋‹น ์š”์ฒญ ํ•œ ๊ฑด์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

152* **ํ”Œ๋žœ ๋ชจ๋“œ ๋˜๋Š” ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ ๊ฐ€์ ธ์˜ค๊ธฐ๊ฐ€ ๊บผ์ง„ ๊ฒฝ์šฐ**: [ํ”Œ๋žœ ๋ชจ๋“œ](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)์— ์žˆ๊ฑฐ๋‚˜ [๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ ๊ฐ€์ ธ์˜ค๊ธฐ](/docs/ko/env-vars#features-that-need-feature-flag-fetching)๋ฅผ ๋ˆ ๊ฒฝ์šฐ, Claude Code๋Š” Artifact ๋„๊ตฌ๊ฐ€ ์กฐ์ง ๋‚ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋งŒ๋“  ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ฝ๊ธฐ ์ „์— ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌป์Šต๋‹ˆ๋‹ค.154* **ํ”Œ๋žœ ๋ชจ๋“œ**: [ํ”Œ๋žœ ๋ชจ๋“œ](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)์—์„œ๋Š” Claude Code๊ฐ€ Artifact ๋„๊ตฌ๊ฐ€ ์กฐ์ง ๋‚ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋งŒ๋“  ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ฝ๊ธฐ ์ „์— ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌป์Šต๋‹ˆ๋‹ค.

153 155 

154Claude๊ฐ€ WebFetch๋กœ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ฝ์„ ๋•Œ๋Š” WebFetch ์ž์ฒด์˜ [ํ”„๋กฌํ”„ํŠธ ๊ทœ์น™](/docs/ko/tools-reference#webfetch-tool-behavior)๋„ ๊ณ„์† ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.156Claude๊ฐ€ WebFetch๋กœ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ฝ์„ ๋•Œ๋Š” WebFetch ์ž์ฒด์˜ [ํ”„๋กฌํ”„ํŠธ ๊ทœ์น™](/docs/ko/tools-reference#webfetch-tool-behavior)๋„ ๊ณ„์† ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

155 157 

checkpointing.md +1 โˆ’1

Details

102[Subagent](/docs/ko/sub-agents)๋Š” Claude์˜ ํŒŒ์ผ ํŽธ์ง‘ ๋„๊ตฌ๋กœ ํŽธ์ง‘์„ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ, Claude Code๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์„ธ์…˜์˜ checkpoint์—์„œ ์ด๋Ÿฌํ•œ ํŽธ์ง‘์„ ์บก์ฒ˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Rewind๊ฐ€ ์ด๋ฅผ ๋ณต์›ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋Š” subagent๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค:102[Subagent](/docs/ko/sub-agents)๋Š” Claude์˜ ํŒŒ์ผ ํŽธ์ง‘ ๋„๊ตฌ๋กœ ํŽธ์ง‘์„ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ, Claude Code๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์„ธ์…˜์˜ checkpoint์—์„œ ์ด๋Ÿฌํ•œ ํŽธ์ง‘์„ ์บก์ฒ˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Rewind๊ฐ€ ์ด๋ฅผ ๋ณต์›ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋Š” subagent๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค:

103 103 

104* **Foreground forked skill**: [foreground์—์„œ ์‹คํ–‰๋˜๋Š” `context: fork`๊ฐ€ ์žˆ๋Š” skill](/docs/ko/skills#run-skills-in-a-subagent)์€ ์‚ฌ์šฉ์ž์˜ ์ฐจ๋ก€ ๋™์•ˆ ์ž‘์—… ํŠธ๋ฆฌ๋ฅผ ํŽธ์ง‘ํ•˜๋ฏ€๋กœ, rewind๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ํŽธ์ง‘์„ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. `background: false`๋ฅผ ์„ค์ •ํ•˜์—ฌ fork๋ฅผ foreground์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์ƒํ™ฉ([skills ํŽ˜์ด์ง€์— ๋‚˜์—ด๋จ](/docs/ko/skills#run-skills-in-a-subagent))์€ ์„ค์ •๊ณผ ๊ด€๊ณ„์—†์ด foreground์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.104* **Foreground forked skill**: [foreground์—์„œ ์‹คํ–‰๋˜๋Š” `context: fork`๊ฐ€ ์žˆ๋Š” skill](/docs/ko/skills#run-skills-in-a-subagent)์€ ์‚ฌ์šฉ์ž์˜ ์ฐจ๋ก€ ๋™์•ˆ ์ž‘์—… ํŠธ๋ฆฌ๋ฅผ ํŽธ์ง‘ํ•˜๋ฏ€๋กœ, rewind๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ํŽธ์ง‘์„ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. `background: false`๋ฅผ ์„ค์ •ํ•˜์—ฌ fork๋ฅผ foreground์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์ƒํ™ฉ([skills ํŽ˜์ด์ง€์— ๋‚˜์—ด๋จ](/docs/ko/skills#run-skills-in-a-subagent))์€ ์„ค์ •๊ณผ ๊ด€๊ณ„์—†์ด foreground์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

105* **๋‹ค๋ฅธ ๋ชจ๋“  subagent**: rewind๋Š” ํŽธ์ง‘์„ ๋ณต์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. git์„ ์‚ฌ์šฉํ•˜์—ฌ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” background์—์„œ ์‹คํ–‰๋˜๋Š” forked skill(๊ธฐ๋ณธ๊ฐ’)๊ณผ background [`/code-review --fix`](/docs/ko/code-review) ์‹คํ–‰์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.105* **๋‹ค๋ฅธ ๋ชจ๋“  ์„œ๋ธŒ์—์ด์ „ํŠธ**: rewind๋Š” ๋Œ€ํ™”์—์„œ Claude๊ฐ€ ์ด๋ฏธ ํŽธ์ง‘ํ•œ ํŒŒ์ผ๋งŒ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํŒŒ์ผ์— ๋Œ€ํ•œ ์„œ๋ธŒ์—์ด์ „ํŠธ์˜ ํŽธ์ง‘์€ ๊ทธ๋Œ€๋กœ ๋‚จ์œผ๋ฏ€๋กœ git์„ ์‚ฌ์šฉํ•˜์—ฌ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” background์—์„œ ์‹คํ–‰๋˜๋Š” ํฌํฌ๋œ ์Šคํ‚ฌ(๊ธฐ๋ณธ๊ฐ’)๊ณผ background [`/code-review --fix`](/docs/ko/code-review-local) ์‹คํ–‰์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

106 106 

107<h3 id="external-changes-not-tracked">107<h3 id="external-changes-not-tracked">

108 ์™ธ๋ถ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ถ”์ ๋˜์ง€ ์•Š์Œ108 ์™ธ๋ถ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ถ”์ ๋˜์ง€ ์•Š์Œ

Details

392 392 

393์งˆ๋ฌธ ๋ฐ ํ”ผ๋“œ๋ฐฑ์€ [Claude Code ์ง€์›](https://support.claude.com/en/collections/14445694-claude-code)์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ [Claude Code GitHub ์ €์žฅ์†Œ](https://github.com/anthropics/claude-code/issues)์—์„œ ์ด์Šˆ๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”. Anthropic ๊ณ„์ • ํŒ€์— ๋ฌธ์˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•  ๋•Œ ๋‹ค์Œ์„ ํฌํ•จํ•˜์„ธ์š”:393์งˆ๋ฌธ ๋ฐ ํ”ผ๋“œ๋ฐฑ์€ [Claude Code ์ง€์›](https://support.claude.com/en/collections/14445694-claude-code)์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ [Claude Code GitHub ์ €์žฅ์†Œ](https://github.com/anthropics/claude-code/issues)์—์„œ ์ด์Šˆ๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”. Anthropic ๊ณ„์ • ํŒ€์— ๋ฌธ์˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•  ๋•Œ ๋‹ค์Œ์„ ํฌํ•จํ•˜์„ธ์š”:

394 394 

395* **Gateway ๋ฌธ์ œ**: ํ•ด๋‹น ์ฐฝ์˜ gateway stderr, ์‹œํฌ๋ฆฟ์„ ๊ฐ€๋ฆฐ `gateway.yaml`, `/`์˜ ๋žœ๋”ฉ ํŽ˜์ด์ง€์— ํ‘œ์‹œ๋œ gateway ๋ฒ„์ „, `/managed/settings`์˜ `x-cc-gateway-version` ์‘๋‹ต ํ—ค๋”, ์ตœ๊ทผ์— ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ395* **Gateway ๋ฌธ์ œ**: ํ•ด๋‹น ์ฐฝ์˜ gateway stderr, ์‹œํฌ๋ฆฟ์„ ๊ฐ€๋ฆฐ `gateway.yaml`, `/`์˜ ๋žœ๋”ฉ ํŽ˜์ด์ง€์™€ `/managed/settings`์˜ `x-cc-gateway-version` ์‘๋‹ต ํ—ค๋”์— ํ‘œ์‹œ๋˜๋Š” gateway ๋ฒ„์ „, ์ตœ๊ทผ์— ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ

396* **๋กœ๊ทธ์ธ ๋ฌธ์ œ**: ๊ฐœ๋ฐœ์ž๊ฐ€ `claude --debug-file ./claude-debug.txt`๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žฌํ˜„ํ•œ ํ›„ ํ•ด๋‹น ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ์ฐฝ์˜ gateway ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ์ „์†ก396* **๋กœ๊ทธ์ธ ๋ฌธ์ œ**: ๊ฐœ๋ฐœ์ž๊ฐ€ `claude --debug-file ./claude-debug.txt`๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žฌํ˜„ํ•œ ํ›„ ํ•ด๋‹น ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ์ฐฝ์˜ gateway ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ์ „์†ก

397* **์ถ”๋ก  ๋ฌธ์ œ**: ์š”์ฒญ๋œ ๋ชจ๋ธ, ๊ตฌ์„ฑ๋œ ์—…์ŠคํŠธ๋ฆผ, ์š”์ฒญ์— ๋Œ€ํ•œ gateway ๊ฐ์‚ฌ ๋กœ๊ทธ(์–ด๋А ์—…์ŠคํŠธ๋ฆผ์ด ์ œ๊ณตํ–ˆ๋Š”์ง€ ๋ฐ ์‘๋‹ต ์ƒํƒœ ๊ธฐ๋ก)397* **์ถ”๋ก  ๋ฌธ์ œ**: ์š”์ฒญ๋œ ๋ชจ๋ธ, ๊ตฌ์„ฑ๋œ ์—…์ŠคํŠธ๋ฆผ, ์š”์ฒญ์— ๋Œ€ํ•œ gateway ๊ฐ์‚ฌ ๋กœ๊ทธ(์–ด๋А ์—…์ŠคํŠธ๋ฆผ์ด ์ œ๊ณตํ–ˆ๋Š”์ง€ ๋ฐ ์‘๋‹ต ์ƒํƒœ ๊ธฐ๋ก)

398 398 

Details

64`/web-setup` ์•ˆ๋‚ด(`/web-setup`์ด ์ €์žฅํ•˜๋Š” ๋‚ด์šฉ ๋ฐ ์ œ๊ฑฐ ๋ฐฉ๋ฒ• ํฌํ•จ)๋Š” [ํ„ฐ๋ฏธ๋„์—์„œ ์—ฐ๊ฒฐ](/docs/ko/web-quickstart#connect-from-your-terminal)์„ ์ฐธ์กฐํ•˜์„ธ์š”.64`/web-setup` ์•ˆ๋‚ด(`/web-setup`์ด ์ €์žฅํ•˜๋Š” ๋‚ด์šฉ ๋ฐ ์ œ๊ฑฐ ๋ฐฉ๋ฒ• ํฌํ•จ)๋Š” [ํ„ฐ๋ฏธ๋„์—์„œ ์—ฐ๊ฒฐ](/docs/ko/web-quickstart#connect-from-your-terminal)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

65 65 

66<Note>66<Note>

67 [Zero Data Retention](/docs/ko/zero-data-retention)์ด ํ™œ์„ฑํ™”๋˜์—ˆ๊ฑฐ๋‚˜ [HIPAA ๊ตฌ์„ฑ](/docs/ko/hipaa-setup)์ด ์ ์šฉ๋œ ์กฐ์ง์€ `/web-setup` ๋˜๋Š” ๊ธฐํƒ€ ํด๋ผ์šฐ๋“œ ์„ธ์…˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.67 [Zero Data Retention](/docs/ko/zero-data-retention)์ด ํ™œ์„ฑํ™”๋˜์—ˆ๊ฑฐ๋‚˜ [HIPAA ๊ตฌ์„ฑ](/docs/ko/hipaa-setup)์ด ์ ์šฉ๋œ ์กฐ์ง์€ `/web-setup` ๋˜๋Š” ๊ธฐํƒ€ ํด๋ผ์šฐ๋“œ ์„ธ์…˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. [๊ณ ๊ฐ ๊ด€๋ฆฌํ˜• ์•”ํ˜ธํ™” ํ‚ค](https://platform.claude.com/docs/en/manage-claude/cmek)(CMEK)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์กฐ์ง๋„ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

68</Note>68</Note>

69 69 

70<h3 id="quick-setup-for-team-and-enterprise">70<h3 id="quick-setup-for-team-and-enterprise">

cloud-environments.md +19 โˆ’4

Details

559 559 

560`matcher`๋Š” hook์„ `startup` ๋ฐ `resume` ์ด๋ฒคํŠธ๋กœ ์ œํ•œํ•˜๊ณ , `$CLAUDE_PROJECT_DIR`์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฃจํŠธ๋กœ ํ™•์ธ๋˜๋ฏ€๋กœ hook์€ ์„ธ์…˜์˜ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ์— ๊ด€๊ณ„์—†์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.560`matcher`๋Š” hook์„ `startup` ๋ฐ `resume` ์ด๋ฒคํŠธ๋กœ ์ œํ•œํ•˜๊ณ , `$CLAUDE_PROJECT_DIR`์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฃจํŠธ๋กœ ํ™•์ธ๋˜๋ฏ€๋กœ hook์€ ์„ธ์…˜์˜ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ์— ๊ด€๊ณ„์—†์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

561 561 

562๋‹ค์Œ์œผ๋กœ `scripts/install_pkgs.sh`์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ ์™ธ๋ถ€์—์„œ๋Š” ์ฆ‰์‹œ ์ข…๋ฃŒ๋œ ํ›„ ์ข…์†์„ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.562๋‹ค์Œ์œผ๋กœ `scripts/install_pkgs.sh`์— ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ ์™ธ๋ถ€์—์„œ๋Š” ์ฆ‰์‹œ ์ข…๋ฃŒํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์˜์กด์„ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์„ค์น˜์— ์„ฑ๊ณตํ•œ ์ดํ›„ `package.json`, `package-lock.json` ๋ฐ ์Šคํฌ๋ฆฝํŠธ ์ž์ฒด๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด `npm install`์„ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

563 563 

564```bash theme={null}564```bash theme={null}

565#!/bin/bash565#!/bin/bash


568 exit 0568 exit 0

569fi569fi

570 570 

571npm install571cd "$CLAUDE_PROJECT_DIR" || exit 1

572hashes=node_modules/.install_pkgs.sha256

573 

574if ! sha256sum --check --status "$hashes" 2>/dev/null; then

575 # Delete the old hashes first, so a failed install runs again next time

576 rm -f "$hashes"

577 if npm install; then

578 sha256sum scripts/install_pkgs.sh package.json package-lock.json > "$hashes" || rm -f "$hashes"

579 fi

580fi

581 

582# pip skips requirements that are already satisfied

572pip install -r requirements.txt583pip install -r requirements.txt

573exit 0584exit 0

574```585```

575 586 

576`CLAUDE_CODE_REMOTE` ํ™•์ธ์€ ์„ค์น˜๋ฅผ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์œผ๋กœ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค: ์„ธ์…˜ VM์˜ ํ™˜๊ฒฝ์€ ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ `true`๋กœ ์ „๋‹ฌํ•˜๊ณ , ๋กœ์ปฌ์—์„œ๋Š” ์ ˆ๋Œ€ `true`๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ๋…ธํŠธ๋ถ์—์„œ ์Šคํฌ๋ฆฝํŠธ๋Š” ์•„๋ฌด๊ฒƒ๋„ ์„ค์น˜ํ•˜๊ธฐ ์ „์— ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.587`CLAUDE_CODE_REMOTE` ํ™•์ธ์€ ์„ค์น˜๋ฅผ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์œผ๋กœ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค: ์„ธ์…˜ VM์˜ ํ™˜๊ฒฝ์€ ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ `true`๋กœ ์ „๋‹ฌํ•˜๊ณ , ๋กœ์ปฌ์—์„œ๋Š” ์ ˆ๋Œ€ `true`๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ๋…ธํŠธ๋ถ์—์„œ ์Šคํฌ๋ฆฝํŠธ๋Š” ์•„๋ฌด๊ฒƒ๋„ ์„ค์น˜ํ•˜๊ธฐ ์ „์— ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

577 588 

578๋‘ ํŒŒ์ผ์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ํด๋ผ์šฐ๋“œ ์„ธ์…˜์ด ์‹œ์ž‘ ์‹œ ์ƒˆ๋กœ์šด `npm install` ๋ฐ `pip install`์„ ๋ฐ›์œผ๋ฉด์„œ ๋กœ์ปฌ ์„ธ์…˜์€ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.589`npm install`์ด ์„ฑ๊ณตํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ํด๋ผ์šฐ๋“œ ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜๊ณ  Claude์— `node_modules/.install_pkgs.sha256`์„ ๋ณด์—ฌ ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์—๋Š” ์„ธ ํŒŒ์ผ ๊ฐ๊ฐ์˜ ํ•ด์‹œ๊ฐ€ ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ์ด ์—†์œผ๋ฉด Claude์— `npm install`์„ ์‹คํ–‰ํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๋ณด๊ณ ํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

590 

591<Note>

592 `npm install`์ด ์›Œํฌ์ŠคํŽ˜์ด์Šค์˜ `package.json`, `.npmrc` ๋˜๋Š” `postinstall` ์Šคํฌ๋ฆฝํŠธ์˜ ์ž…๋ ฅ ๋“ฑ ๋‹ค๋ฅธ ํŒŒ์ผ์„ ์ฝ๋Š” ๊ฒฝ์šฐ, ํ•ด์‹œ๋ฅผ ์ €์žฅํ•˜๋Š” `sha256sum` ๋ช…๋ น์— ํ•ด๋‹น ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ•ด๋‹น ํŒŒ์ผ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ณ€๊ฒฝ๋œ ํ›„์—๋„ ์ด์ „ ํŒจํ‚ค์ง€๊ฐ€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

593</Note>

579 594 

580<h4 id="limitations-in-cloud-sessions">595<h4 id="limitations-in-cloud-sessions">

581 ํด๋ผ์šฐ๋“œ ์„ธ์…˜์˜ ์ œํ•œ์‚ฌํ•ญ596 ํด๋ผ์šฐ๋“œ ์„ธ์…˜์˜ ์ œํ•œ์‚ฌํ•ญ


587* **ํด๋ผ์šฐ๋“œ ์ „์šฉ ๋ฒ”์œ„ ์—†์Œ**: hook์€ ๋กœ์ปฌ ๋ฐ ํด๋ผ์šฐ๋“œ ์„ธ์…˜ ๋ชจ๋‘์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ์‹คํ–‰์„ ๊ฑด๋„ˆ๋›ฐ๋ ค๋ฉด `CLAUDE_CODE_REMOTE` ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ `true`๊ฐ€ ์•„๋‹Œ ํ•œ ์กฐ๊ธฐ์— ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. [์ข…์†์„ฑ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ](#install-dependencies-with-a-sessionstart-hook)๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.602* **ํด๋ผ์šฐ๋“œ ์ „์šฉ ๋ฒ”์œ„ ์—†์Œ**: hook์€ ๋กœ์ปฌ ๋ฐ ํด๋ผ์šฐ๋“œ ์„ธ์…˜ ๋ชจ๋‘์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ์‹คํ–‰์„ ๊ฑด๋„ˆ๋›ฐ๋ ค๋ฉด `CLAUDE_CODE_REMOTE` ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ `true`๊ฐ€ ์•„๋‹Œ ํ•œ ์กฐ๊ธฐ์— ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. [์ข…์†์„ฑ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ](#install-dependencies-with-a-sessionstart-hook)๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

588* **๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ํ•„์š”**: ์„ค์น˜ ๋ช…๋ น์€ ํŒจํ‚ค์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๋„๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์ด **์—†์Œ** ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ hook์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. **์‹ ๋ขฐ๋จ** ์•„๋ž˜์˜ [๊ธฐ๋ณธ ํ—ˆ์šฉ ๋ชฉ๋ก](#default-allowed-domains)์€ npm, PyPI, RubyGems ๋ฐ crates.io๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.603* **๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ํ•„์š”**: ์„ค์น˜ ๋ช…๋ น์€ ํŒจํ‚ค์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๋„๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์ด **์—†์Œ** ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ hook์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. **์‹ ๋ขฐ๋จ** ์•„๋ž˜์˜ [๊ธฐ๋ณธ ํ—ˆ์šฉ ๋ชฉ๋ก](#default-allowed-domains)์€ npm, PyPI, RubyGems ๋ฐ crates.io๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

589* **ํ”„๋ก์‹œ ํ˜ธํ™˜์„ฑ**: Anthropic ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ์—์„œ ๋ชจ๋“  ์•„์›ƒ๋ฐ”์šด๋“œ ํŠธ๋ž˜ํ”ฝ์€ [๋ณด์•ˆ ํ”„๋ก์‹œ](#security-proxy)๋ฅผ ํ†ต๊ณผํ•˜๊ณ , ์ผ๋ถ€ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋Š” ์ด์™€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Bun์€ ์•Œ๋ ค์ง„ ์˜ˆ์ž…๋‹ˆ๋‹ค. [์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ](/docs/ko/self-hosted-environments-deploy#default-deny-egress)์—์„œ ์•„์›ƒ๋ฐ”์šด๋“œ ํŠธ๋ž˜ํ”ฝ์€ ๋Œ€์‹  ์ž์‹ ์˜ ๋„คํŠธ์›Œํฌ ๊ฒฝ๊ณ„๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค.604* **ํ”„๋ก์‹œ ํ˜ธํ™˜์„ฑ**: Anthropic ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ์—์„œ ๋ชจ๋“  ์•„์›ƒ๋ฐ”์šด๋“œ ํŠธ๋ž˜ํ”ฝ์€ [๋ณด์•ˆ ํ”„๋ก์‹œ](#security-proxy)๋ฅผ ํ†ต๊ณผํ•˜๊ณ , ์ผ๋ถ€ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋Š” ์ด์™€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Bun์€ ์•Œ๋ ค์ง„ ์˜ˆ์ž…๋‹ˆ๋‹ค. [์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ](/docs/ko/self-hosted-environments-deploy#default-deny-egress)์—์„œ ์•„์›ƒ๋ฐ”์šด๋“œ ํŠธ๋ž˜ํ”ฝ์€ ๋Œ€์‹  ์ž์‹ ์˜ ๋„คํŠธ์›Œํฌ ๊ฒฝ๊ณ„๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค.

590* **์‹œ์ž‘ ์ง€์—ฐ ์ถ”๊ฐ€**: hook์€ ์„ธ์…˜์ด ์‹œ์ž‘๋˜๊ฑฐ๋‚˜ ์žฌ๊ฐœ๋  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋˜๋ฉฐ, [ํ™˜๊ฒฝ ์บ์‹ฑ](#environment-caching)์˜ ์ด์ ์„ ๋ฐ›๋Š” ์„ค์ • ์Šคํฌ๋ฆฝํŠธ์™€ ๋‹ฌ๋ฆฌ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋ฉด ์ข…์†์„ฑ์ด ์ด๋ฏธ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ ํ›„ ์žฌ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.605* **์‹œ์ž‘ ์ง€์—ฐ ์ถ”๊ฐ€**: ํ›…์€ [ํ™˜๊ฒฝ ์บ์‹ฑ](#environment-caching)์˜ ์ด์ ์„ ๋ฐ›๋Š” ์„ค์ • ์Šคํฌ๋ฆฝํŠธ์™€ ๋‹ฌ๋ฆฌ ์„ธ์…˜์ด ์‹œ์ž‘๋˜๊ฑฐ๋‚˜ ์žฌ๊ฐœ๋  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. [์˜์กด์„ฑ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ](#install-dependencies-with-a-sessionstart-hook)์ฒ˜๋Ÿผ ์ด๋ฏธ ์™„๋ฃŒ๋œ ์ž‘์—…์„ ๊ฑด๋„ˆ๋›ฐ์–ด ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

591 606 

592๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๋ ค๋ฉด ์„ค์ • ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ [์ œ๊ณต๋œ ์ด๋ฏธ์ง€](#installed-tools) ์œ„์— ํ•„์š”ํ•œ ํ•ญ๋ชฉ์„ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜, `docker compose`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Claude์™€ ํ•จ๊ป˜ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ž์‹ ์˜ ์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์™„์ „ํžˆ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์€ ์•„์ง ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.607๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๋ ค๋ฉด ์„ค์ • ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ [์ œ๊ณต๋œ ์ด๋ฏธ์ง€](#installed-tools) ์œ„์— ํ•„์š”ํ•œ ํ•ญ๋ชฉ์„ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜, `docker compose`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Claude์™€ ํ•จ๊ป˜ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ž์‹ ์˜ ์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์™„์ „ํžˆ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์€ ์•„์ง ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

593 608 

code-review.md +87 โˆ’384

Details

4 4 

5# Code Review5# Code Review

6 6 

7> ๋‹ค์ค‘ ์—์ด์ „ํŠธ ๋ถ„์„์„ ํ†ตํ•ด ์ „์ฒด ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๊ฒ€ํ† ํ•˜์—ฌ ๋…ผ๋ฆฌ ์˜ค๋ฅ˜, ๋ณด์•ˆ ์ทจ์•ฝ์  ๋ฐ ํšŒ๊ท€๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ์ž๋™ํ™”๋œ PR ๊ฒ€ํ† ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค7> Code Review๋กœ GitHub ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ๋ฒ„๊ทธ๋ฅผ ์ฐพ์•„๋ƒ…๋‹ˆ๋‹ค. Claude๊ฐ€ ๊ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฆฌ๋ทฐํ•˜๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๊ฒ€์ฆํ•˜๋ฉฐ, ์ธ๋ผ์ธ ๋Œ“๊ธ€์„ ๋‚จ๊น๋‹ˆ๋‹ค. Team ๋ฐ Enterprise ํ”Œ๋žœ์šฉ

8 8 

9<Note>9Code Review๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Claude๊ฐ€ GitHub ์ €์žฅ์†Œ์˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ฆฌ๋ทฐํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ๊ฐ€ ๊ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ฃผ๋ณ€ ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์ฝ์œผ๋ฉฐ ๋…ผ๋ฆฌ ์˜ค๋ฅ˜, ๋ณด์•ˆ ์ทจ์•ฝ์ , ์†์ƒ๋œ ์—ฃ์ง€ ์ผ€์ด์Šค์™€ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๊ฒ€์ฆ ๋‹จ๊ณ„์—์„œ๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ•˜๊ธฐ ์ „์— ์ฝ”๋“œ์™€ ๋Œ€์กฐํ•˜์—ฌ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

10 Code Review๋Š” ๋ฆฌ์„œ์น˜ ํ”„๋ฆฌ๋ทฐ ์ƒํƒœ์ด๋ฉฐ [Team ๋ฐ Enterprise](https://claude.ai/admin-settings/claude-code) ๊ตฌ๋…์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. [Zero Data Retention](/docs/ko/zero-data-retention)์ด ํ™œ์„ฑํ™”๋˜์—ˆ๊ฑฐ๋‚˜ [HIPAA ๊ตฌ์„ฑ](/docs/ko/hipaa-setup)์ด ์ ์šฉ๋œ ์กฐ์ง์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, Anthropic์˜ BAA ์ ์šฉ ๋Œ€์ƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ”Œ๋žœ์—์„œ๋Š” `/code-review` ๋ช…๋ น์œผ๋กœ [๋กœ์ปฌ์—์„œ diff ๊ฒ€ํ† ](#review-a-diff-locally)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

11</Note>

12 

13Code Review๋Š” GitHub ํ’€ ์š”์ฒญ์„ ๋ถ„์„ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•œ ์ฝ”๋“œ ๋ผ์ธ์— ์ธ๋ผ์ธ ๋Œ“๊ธ€๋กœ ๊ฒฐ๊ณผ๋ฅผ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ „๋ฌธํ™”๋œ ์—์ด์ „ํŠธ ์ง‘ํ•ฉ์ด ์ „์ฒด ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ๋งฅ๋ฝ์—์„œ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜์—ฌ ๋…ผ๋ฆฌ ์˜ค๋ฅ˜, ๋ณด์•ˆ ์ทจ์•ฝ์ , ์†์ƒ๋œ ์—ฃ์ง€ ์ผ€์ด์Šค ๋ฐ ๋ฏธ๋ฌ˜ํ•œ ํšŒ๊ท€๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

14 

15๊ฒฐ๊ณผ๋Š” ์‹ฌ๊ฐ๋„๋ณ„๋กœ ํƒœ๊ทธ๊ฐ€ ์ง€์ •๋˜๋ฉฐ PR์„ ์Šน์ธํ•˜๊ฑฐ๋‚˜ ์ฐจ๋‹จํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ธฐ์กด ๊ฒ€ํ†  ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— `CLAUDE.md` ๋˜๋Š” `REVIEW.md` ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜์—ฌ Claude๊ฐ€ ํ”Œ๋ž˜๊ทธํ•˜๋Š” ํ•ญ๋ชฉ์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

16 

17๊ด€๋ฆฌ๋˜๋Š” ์„œ๋น„์Šค ๋Œ€์‹  ์ž์‹ ์˜ CI ์ธํ”„๋ผ์—์„œ Claude๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด [GitHub Actions](/docs/ko/github-actions) ๋˜๋Š” [GitLab CI/CD](/docs/ko/gitlab-ci-cd)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ์ž์ฒด ํ˜ธ์ŠคํŒ… GitHub ์ธ์Šคํ„ด์Šค์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ฒฝ์šฐ [GitHub Enterprise Server](/docs/ko/github-enterprise-server)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

18 

19์ด ํŽ˜์ด์ง€์—์„œ ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ:

20 

21* [๊ฒ€ํ†  ์ž‘๋™ ๋ฐฉ์‹](#how-reviews-work)

22* [์„ค์ •](#set-up-code-review)

23* [`@claude review` ๋ฐ `@claude review always`๋ฅผ ์‚ฌ์šฉํ•œ ์ˆ˜๋™ ๊ฒ€ํ†  ํŠธ๋ฆฌ๊ฑฐ](#manually-trigger-reviews)

24* [`CLAUDE.md` ๋ฐ `REVIEW.md`๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒ€ํ†  ์‚ฌ์šฉ์ž ์ •์˜](#customize-reviews)

25* [๊ฐ€๊ฒฉ](#pricing)

26* [์‹คํŒจํ•œ ์‹คํ–‰ ๋ฐ ๋ˆ„๋ฝ๋œ ๋Œ“๊ธ€ ๋ฌธ์ œ ํ•ด๊ฒฐ](#troubleshooting)

27* [๋กœ์ปฌ์—์„œ diff ๊ฒ€ํ† ](#review-a-diff-locally) - `/code-review` ๋ช…๋ น ์‚ฌ์šฉ

28 

29<h2 id="how-reviews-work">

30 ๊ฒ€ํ†  ์ž‘๋™ ๋ฐฉ์‹

31</h2>

32 

33๊ด€๋ฆฌ์ž๊ฐ€ ์กฐ์ง์— ๋Œ€ํ•ด Code Review๋ฅผ [ํ™œ์„ฑํ™”](#set-up-code-review)ํ•˜๋ฉด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ตฌ์„ฑ๋œ ๋™์ž‘์— ๋”ฐ๋ผ PR์ด ์—ด๋ฆด ๋•Œ, ๋ชจ๋“  ํ‘ธ์‹œ ์‹œ ๋˜๋Š” ์ˆ˜๋™์œผ๋กœ ์š”์ฒญํ•  ๋•Œ ๊ฒ€ํ† ๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. PR์—์„œ `@claude review`๋ฅผ [๋Œ“๊ธ€๋กœ ์ž‘์„ฑ](#manually-trigger-reviews)ํ•˜๋ฉด ๋ชจ๋“  ๋ชจ๋“œ์—์„œ ๊ฒ€ํ† ๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

34 

35๊ฒ€ํ† ๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ๊ฐ€ Anthropic ์ธํ”„๋ผ์—์„œ ๋ณ‘๋ ฌ๋กœ diff ๋ฐ ์ฃผ๋ณ€ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์—์ด์ „ํŠธ๋Š” ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๋ฌธ์ œ๋ฅผ ์ฐพ๊ณ , ๊ฒ€์ฆ ๋‹จ๊ณ„์—์„œ ํ›„๋ณด๋ฅผ ์‹ค์ œ ์ฝ”๋“œ ๋™์ž‘๊ณผ ๋น„๊ตํ•˜์—ฌ ๊ฑฐ์ง“ ์–‘์„ฑ์„ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ์ค‘๋ณต ์ œ๊ฑฐ๋˜๊ณ  ์‹ฌ๊ฐ๋„๋ณ„๋กœ ์ˆœ์œ„๊ฐ€ ์ง€์ •๋˜๋ฉฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋œ ํŠน์ • ๋ผ์ธ์— ์ธ๋ผ์ธ ๋Œ“๊ธ€๋กœ ๊ฒŒ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์œผ๋ฉด Code Review๋Š” GitHub ํ™•์ธ ์‹คํ–‰์„ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ๋ฌธ์ œ๊ฐ€ ๊ฐ์ง€๋˜์ง€ ์•Š์•˜์Œ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. Claude๋Š” ๋˜ํ•œ PR์— ์งง์€ ํ™•์ธ ๋Œ“๊ธ€์„ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

36 

37๊ฒ€ํ† ๋Š” PR ํฌ๊ธฐ ๋ฐ ๋ณต์žก๋„์— ๋”ฐ๋ผ ๋น„์šฉ์ด ์ฆ๊ฐ€ํ•˜๋ฉฐ ํ‰๊ท  20๋ถ„ ๋‚ด์— ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๋Š” [๋ถ„์„ ๋Œ€์‹œ๋ณด๋“œ](#view-usage)๋ฅผ ํ†ตํ•ด ๊ฒ€ํ†  ํ™œ๋™ ๋ฐ ์ง€์ถœ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

38 

39<h3 id="severity-levels">

40 ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€

41</h3>

42 

43๊ฐ ๊ฒฐ๊ณผ๋Š” ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€์œผ๋กœ ํƒœ๊ทธ๊ฐ€ ์ง€์ •๋ฉ๋‹ˆ๋‹ค:

44 

45| ๋งˆ์ปค | ์‹ฌ๊ฐ๋„ | ์˜๋ฏธ |

46| :- | :- | :- |

47| ๐Ÿ”ด | Important | ๋ณ‘ํ•ฉ ์ „์— ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ๋ฒ„๊ทธ |

48| ๐ŸŸก | Nit | ๊ฒฝ๋ฏธํ•œ ๋ฌธ์ œ, ์ˆ˜์ •ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์ง€๋งŒ ์ฐจ๋‹จํ•˜์ง€๋Š” ์•Š์Œ |

49| ๐ŸŸฃ | Pre-existing | ์ฝ”๋“œ๋ฒ ์ด์Šค์— ์กด์žฌํ•˜์ง€๋งŒ ์ด PR์—์„œ ๋„์ž…๋˜์ง€ ์•Š์€ ๋ฒ„๊ทธ |

50 

51๊ฒฐ๊ณผ์—๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ **์ด ํ•ญ๋ชฉ์ด ํ”Œ๋ž˜๊ทธ๋œ ์ด์œ ** ์„น์…˜์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ Claude๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ”Œ๋ž˜๊ทธํ•œ ์ด์œ ์™€ ๋ฌธ์ œ๋ฅผ ๊ฒ€์ฆํ•œ ๋ฐฉ๋ฒ•์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

52 

53<h3 id="rate-and-reply-to-findings">

54 ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ํ‰๊ฐ€ ๋ฐ ์‘๋‹ต

55</h3>

56 

57Claude์˜ ๊ฐ ๊ฒ€ํ†  ๋Œ“๊ธ€์€ ์ด๋ฏธ ๐Ÿ‘ ๋ฐ ๐Ÿ‘Ž๊ฐ€ ์ฒจ๋ถ€๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๋‘ ๋ฒ„ํŠผ ๋ชจ๋‘ GitHub UI์— ๋‚˜ํƒ€๋‚˜ ํ•œ ๋ฒˆ์˜ ํด๋ฆญ์œผ๋กœ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๊ฐ€ ์œ ์šฉํ–ˆ์œผ๋ฉด ๐Ÿ‘์„ ํด๋ฆญํ•˜๊ณ  ์ž˜๋ชป๋˜์—ˆ๊ฑฐ๋‚˜ ๋…ธ์ด์ฆˆ๊ฐ€ ๋งŽ์œผ๋ฉด ๐Ÿ‘Ž๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. Anthropic์€ PR์ด ๋ณ‘ํ•ฉ๋œ ํ›„ ๋ฐ˜์‘ ๊ฐœ์ˆ˜๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€ํ† ์ž๋ฅผ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜์‘์€ ์žฌ๊ฒ€ํ† ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๊ฑฐ๋‚˜ PR์˜ ์–ด๋–ค ๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

58 

59์ธ๋ผ์ธ ๋Œ“๊ธ€์— ์‘๋‹ตํ•ด๋„ Claude๊ฐ€ ์‘๋‹ตํ•˜๊ฑฐ๋‚˜ PR์„ ์—…๋ฐ์ดํŠธํ•˜๋„๋ก ํ”„๋กฌํ”„ํŠธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ์กฐ์น˜ํ•˜๋ ค๋ฉด ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค. PR์ด ํ‘ธ์‹œ ํŠธ๋ฆฌ๊ฑฐ ๊ฒ€ํ† ์— ๊ตฌ๋…๋˜์–ด ์žˆ์œผ๋ฉด ๋‹ค์Œ ์‹คํ–‰์ด ๋ฌธ์ œ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์„ ๋•Œ ์Šค๋ ˆ๋“œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ํ‘ธ์‹œํ•˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ์šด ๊ฒ€ํ† ๋ฅผ ์š”์ฒญํ•˜๋ ค๋ฉด [์ตœ์ƒ์œ„ PR ๋Œ“๊ธ€](#manually-trigger-reviews)๋กœ `@claude review`๋ฅผ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

60 

61๊ฒฐ๊ณผ๋ฅผ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด ํ•ด์ œํ•˜๋ ค๋ฉด ํ•ด๋‹น ์Šค๋ ˆ๋“œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ตํ•˜๋Š” ๊ฒƒ์€ ํ•ด์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

62 

63<h3 id="check-run-output">

64 ํ™•์ธ ์‹คํ–‰ ์ถœ๋ ฅ

65</h3>

66 

67์ธ๋ผ์ธ ๊ฒ€ํ†  ๋Œ“๊ธ€ ์™ธ์—๋„ ๊ฐ ๊ฒ€ํ† ๋Š” CI ํ™•์ธ๊ณผ ํ•จ๊ป˜ ๋‚˜ํƒ€๋‚˜๋Š” **Claude Code Review** ํ™•์ธ ์‹คํ–‰์„ ์ฑ„์›๋‹ˆ๋‹ค. **Details** ๋งํฌ๋ฅผ ํ™•์žฅํ•˜์—ฌ ์‹ฌ๊ฐ๋„๋ณ„๋กœ ์ •๋ ฌ๋œ ๋ชจ๋“  ๊ฒฐ๊ณผ์˜ ์š”์•ฝ์„ ํ•œ ๊ณณ์—์„œ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค:

68 

69| ์‹ฌ๊ฐ๋„ | ํŒŒ์ผ:๋ผ์ธ | ๋ฌธ์ œ |

70| - | - | - |

71| ๐Ÿ”ด Important | `src/auth/session.ts:142` | ํ† ํฐ ์ƒˆ๋กœ๊ณ ์นจ์ด ๋กœ๊ทธ์•„์›ƒ๊ณผ ๊ฒฝ์Ÿํ•˜์—ฌ ์˜ค๋ž˜๋œ ์„ธ์…˜์ด ํ™œ์„ฑ ์ƒํƒœ๋กœ ์œ ์ง€๋จ |

72| ๐ŸŸก Nit | `src/auth/session.ts:88` | `parseExpiry`๊ฐ€ ์ž˜๋ชป๋œ ์ž…๋ ฅ์—์„œ ์ž๋™์œผ๋กœ 0์„ ๋ฐ˜ํ™˜ํ•จ |

73 

74๊ฐ ๊ฒฐ๊ณผ๋Š” **Files changed** ํƒญ์˜ ์ฃผ์„์œผ๋กœ๋„ ๋‚˜ํƒ€๋‚˜๋ฉฐ ๊ด€๋ จ diff ๋ผ์ธ์— ์ง์ ‘ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Important ๊ฒฐ๊ณผ๋Š” ๋นจ๊ฐ„์ƒ‰ ๋งˆ์ปค๋กœ ๋ Œ๋”๋ง๋˜๊ณ , nit์€ ๋…ธ๋ž€์ƒ‰ ๊ฒฝ๊ณ ๋กœ, ๊ธฐ์กด ๋ฒ„๊ทธ๋Š” ํšŒ์ƒ‰ ๊ณต์ง€๋กœ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค. ์ฃผ์„๊ณผ ์‹ฌ๊ฐ๋„ ํ…Œ์ด๋ธ”์€ ์ธ๋ผ์ธ ๊ฒ€ํ†  ๋Œ“๊ธ€๊ณผ ๋…๋ฆฝ์ ์œผ๋กœ ํ™•์ธ ์‹คํ–‰์— ๊ธฐ๋ก๋˜๋ฏ€๋กœ GitHub๊ฐ€ ์ด๋™ํ•œ ๋ผ์ธ์˜ ์ธ๋ผ์ธ ๋Œ“๊ธ€์„ ๊ฑฐ๋ถ€ํ•˜๋”๋ผ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

75 

76ํ™•์ธ ์‹คํ–‰์€ ํ•ญ์ƒ ์ค‘๋ฆฝ์ ์ธ ๊ฒฐ๋ก ์œผ๋กœ ์™„๋ฃŒ๋˜๋ฏ€๋กœ ๋ถ„๊ธฐ ๋ณดํ˜ธ ๊ทœ์น™์„ ํ†ตํ•ด ๋ณ‘ํ•ฉ์„ ์ฐจ๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Code Review ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๋ณ‘ํ•ฉ์„ ์ œ์–ดํ•˜๋ ค๋ฉด ์ž์‹ ์˜ CI์—์„œ ํ™•์ธ ์‹คํ–‰ ์ถœ๋ ฅ์—์„œ ์‹ฌ๊ฐ๋„ ๋ถ„์„์„ ์ฝ์œผ์‹ญ์‹œ์˜ค. Details ํ…์ŠคํŠธ์˜ ๋งˆ์ง€๋ง‰ ๋ผ์ธ์€ ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ `gh` ๋ฐ jq๋กœ ๊ตฌ๋ฌธ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„ ํŒ๋… ๊ฐ€๋Šฅํ•œ ๋Œ“๊ธ€์ž…๋‹ˆ๋‹ค. ํ™•์ธ ์‹คํ–‰ ID๋ฅผ ์ฐพ์œผ๋ ค๋ฉด ์ปค๋ฐ‹์˜ ํ™•์ธ ์‹คํ–‰์„ `gh api repos/OWNER/REPO/commits/<commit-sha>/check-runs --jq '.check_runs[] | {id, name}'`๋กœ ๋‚˜์—ดํ•˜๊ณ  `Claude Code Review` ์‹คํ–‰์˜ `id`๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. `OWNER`, `REPO`, `CHECK_RUN_ID`๋ฅผ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์†Œ์œ ์ž, ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ด๋ฆ„, ํ•ด๋‹น ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค:

77 

78```bash theme={null}

79gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \

80 --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'

81```

82 

83์ด๋Š” ์‹ฌ๊ฐ๋„๋ณ„ ๊ฐœ์ˆ˜๊ฐ€ ํฌํ•จ๋œ JSON ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: `{"normal": 2, "nit": 1, "pre_existing": 0}`). `normal` ํ‚ค๋Š” Important ๊ฒฐ๊ณผ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค. 0์ด ์•„๋‹Œ ๊ฐ’์€ Claude๊ฐ€ ๋ณ‘ํ•ฉ ์ „์— ์ˆ˜์ •ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

84 

85<h3 id="what-code-review-checks">

86 Code Review๊ฐ€ ํ™•์ธํ•˜๋Š” ํ•ญ๋ชฉ

87</h3>

88 

89๊ธฐ๋ณธ์ ์œผ๋กœ Code Review๋Š” ์ •ํ™•์„ฑ์— ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค: ํ˜•์‹ ๊ธฐ๋ณธ ์„ค์ •์ด๋‚˜ ๋ˆ„๋ฝ๋œ ํ…Œ์ŠคํŠธ ๋ฒ”์œ„๊ฐ€ ์•„๋‹Œ ํ”„๋กœ๋•์…˜์„ ์ค‘๋‹จํ•  ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— [์ง€์นจ ํŒŒ์ผ์„ ์ถ”๊ฐ€](#customize-reviews)ํ•˜์—ฌ ํ™•์ธํ•˜๋Š” ํ•ญ๋ชฉ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

90 

91<h2 id="set-up-code-review">

92 Code Review ์„ค์ •

93</h2>

94 

95๊ด€๋ฆฌ์ž๋Š” ์กฐ์ง์— ๋Œ€ํ•ด ํ•œ ๋ฒˆ Code Review๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ํฌํ•จํ•  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

96 

97<Steps>

98 <Step title="Claude Code ๊ด€๋ฆฌ์ž ์„ค์ • ์—ด๊ธฐ">

99 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)๋กœ ์ด๋™ํ•˜์—ฌ Code Review ์„น์…˜์„ ์ฐพ์Šต๋‹ˆ๋‹ค. Claude ์กฐ์ง์—์„œ Owner ๋˜๋Š” Primary Owner ์—ญํ• ์ด ํ•„์š”ํ•˜๋ฉฐ GitHub ์กฐ์ง์— GitHub ์•ฑ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

100 </Step>

101 

102 <Step title="์„ค์ • ์‹œ์ž‘">

103 **Setup**์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด GitHub ์•ฑ ์„ค์น˜ ํ๋ฆ„์ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

104 </Step>

105 

106 <Step title="Claude GitHub ์•ฑ ์„ค์น˜">

107 ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋”ฐ๋ผ Claude GitHub ์•ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. GitHub ์กฐ์ง์„ ์„ ํƒํ•˜์—ฌ ๊ฒ€ํ† ํ•˜๋ ค๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์†Œ์œ ํ•˜๊ณ , ์•ฑ์ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์„ ํƒํ•˜๊ณ , ์š”์ฒญ๋œ ๊ถŒํ•œ์„ ์Šน์ธํ•ฉ๋‹ˆ๋‹ค.

108 

109 PR์„ ๊ฒ€ํ† ํ•˜๊ธฐ ์œ„ํ•ด Claude๋Š” ์•ฑ์˜ ์ฝ๊ธฐ ์•ก์„ธ์Šค๋ฅผ ํ†ตํ•ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ฝ˜ํ…์ธ ๋ฅผ ์ฝ๊ณ , ์“ฐ๊ธฐ ์•ก์„ธ์Šค๋ฅผ ํ†ตํ•ด PR ๋ฐ ํ™•์ธ์— ๋Œ“๊ธ€๊ณผ [ํ™•์ธ ์‹คํ–‰](#check-run-output)์„ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ์ค‘์— [GitHub Actions](/docs/ko/github-actions)์™€ ๊ฐ™์€ ๋‹ค๋ฅธ Claude ๊ธฐ๋Šฅ์—์„œ ๊ณต์œ ํ•˜๋Š” ๋” ๊ด‘๋ฒ”์œ„ํ•œ ๊ถŒํ•œ ์ง‘ํ•ฉ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ๋ชฉ๋ก์€ [GitHub ์•ฑ ๊ถŒํ•œ](/docs/ko/github-actions#github-app-permissions)์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

110 </Step>

111 

112 <Step title="๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์„ ํƒ">

113 Code Review๋ฅผ ํ™œ์„ฑํ™”ํ•  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ๋ณด์ด์ง€ ์•Š์œผ๋ฉด ์„ค์น˜ ์ค‘์— Claude GitHub ์•ฑ์— ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๋‚˜์ค‘์— ๋” ๋งŽ์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

114 </Step>

115 

116 <Step title="๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ณ„ ๊ฒ€ํ†  ํŠธ๋ฆฌ๊ฑฐ ์„ค์ •">

117 ์„ค์ •์ด ์™„๋ฃŒ๋˜๋ฉด Code Review ์„น์…˜์— ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ํ…Œ์ด๋ธ”์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•ด **Review Behavior** ๋“œ๋กญ๋‹ค์šด์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€ํ† ๊ฐ€ ์‹คํ–‰๋˜๋Š” ์‹œ๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค:

118 

119 * **Once after PR creation**: PR์ด ์—ด๋ฆฌ๊ฑฐ๋‚˜ ๊ฒ€ํ†  ์ค€๋น„ ์™„๋ฃŒ๋กœ ํ‘œ์‹œ๋  ๋•Œ ํ•œ ๋ฒˆ ๊ฒ€ํ† ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค

120 * **After every push**: PR ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•œ ๋ชจ๋“  ํ‘ธ์‹œ์—์„œ ๊ฒ€ํ† ๊ฐ€ ์‹คํ–‰๋˜์–ด PR์ด ์ง„ํ™”ํ•จ์— ๋”ฐ๋ผ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ํ”Œ๋ž˜๊ทธ๋œ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ์Šค๋ ˆ๋“œ๋ฅผ ์ž๋™์œผ๋กœ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค

121 * **Manual**: PR์„ ์—ด๊ฑฐ๋‚˜ ํ‘ธ์‹œํ•ด๋„ ๊ฒ€ํ† ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. [`@claude review`](#manually-trigger-reviews)๋ฅผ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•˜์—ฌ ๊ฒ€ํ† ๋ฅผ ์š”์ฒญํ•˜๊ฑฐ๋‚˜, `@claude review always`๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์ดํ›„ ํ‘ธ์‹œ์— ๋Œ€ํ•œ ๊ฒ€ํ† ์— PR์„ ๊ตฌ๋…ํ•ฉ๋‹ˆ๋‹ค

122 

123 ์–ด๋–ค ์˜ต์…˜์„ ์„ ํƒํ•˜๋“  Claude๋Š” [ํฌํฌ์—์„œ PR์„ ๊ฒ€ํ† ](#review-pull-requests-from-forks)ํ•  ๋•Œ๋งŒ ๋ˆ„๊ตฐ๊ฐ€ `@claude review`๋ฅผ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

124 

125 ๋ชจ๋“  ํ‘ธ์‹œ์—์„œ ๊ฒ€ํ† ํ•˜๋ฉด ๊ฐ€์žฅ ๋งŽ์€ ๊ฒ€ํ† ๊ฐ€ ์‹คํ–‰๋˜๊ณ  ๋น„์šฉ์ด ๊ฐ€์žฅ ๋งŽ์ด ๋“ญ๋‹ˆ๋‹ค. ์ˆ˜๋™ ๋ชจ๋“œ๋Š” ํŠน์ • PR์„ ๊ฒ€ํ† ์— ์˜ตํŠธ์ธํ•˜๋ ค๋Š” ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋‚˜ PR์ด ์ค€๋น„๋  ๋•Œ๊นŒ์ง€๋งŒ ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

126 </Step>

127</Steps>

128 

129๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํ…Œ์ด๋ธ”์€ ์ตœ๊ทผ ํ™œ๋™์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ํ‰๊ท  ๊ฒ€ํ†  ๋น„์šฉ๋„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํ–‰ ์ž‘์—… ๋ฉ”๋‰ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ณ„๋กœ Code Review๋ฅผ ์ผœ๊ฑฐ๋‚˜ ๋„๊ฑฐ๋‚˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์™„์ „ํžˆ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

130 

131์„ค์ •์„ ํ™•์ธํ•˜๋ ค๋ฉด ํ…Œ์ŠคํŠธ PR์„ ์—ด์–ด๋ณด์‹ญ์‹œ์˜ค. ์ž๋™ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์„ ํƒํ•œ ๊ฒฝ์šฐ **Claude Code Review**๋ผ๋Š” ํ™•์ธ ์‹คํ–‰์ด ๋ช‡ ๋ถ„ ๋‚ด์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์ˆ˜๋™์„ ์„ ํƒํ•œ ๊ฒฝ์šฐ PR์—์„œ `@claude review`๋ฅผ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ™•์ธ ์‹คํ–‰์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์œผ๋ฉด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ๊ด€๋ฆฌ์ž ์„ค์ •์— ๋‚˜์—ด๋˜์–ด ์žˆ๊ณ  Claude GitHub ์•ฑ์ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

132 10 

133<h2 id="manually-trigger-reviews">11๊ฒฐ๊ณผ๋Š” [์‹ฌ๊ฐ๋„](/docs/ko/code-review-pull-requests#severity-levels)๋ณ„๋กœ ์ˆœ์œ„๊ฐ€ ๋งค๊ฒจ์ ธ ํ•ด๋‹น ๋ผ์ธ์— ์ธ๋ผ์ธ ๋Œ“๊ธ€๋กœ ๊ฒŒ์‹œ๋˜๋ฉฐ, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—๋Š” ์š”์•ฝ๊ณผ ํ™•์ธ ์‹คํ–‰(check run)์ด ํ•จ๊ป˜ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์Šน์ธํ•˜๊ฑฐ๋‚˜ ์ฐจ๋‹จํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ณ‘ํ•ฉ ๊ฒฐ์ •์€ ํŒ€์— ๊ทธ๋Œ€๋กœ ๋‚จ์Šต๋‹ˆ๋‹ค.

134 ์ˆ˜๋™์œผ๋กœ ๊ฒ€ํ†  ํŠธ๋ฆฌ๊ฑฐ

135</h2>

136 

137๋Œ“๊ธ€ ๋ช…๋ น์€ ์š”์ฒญ ์‹œ ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ตฌ์„ฑ๋œ ํŠธ๋ฆฌ๊ฑฐ์™€ ๊ด€๊ณ„์—†์ด ์ž‘๋™ํ•˜๋ฏ€๋กœ ์ˆ˜๋™ ๋ชจ๋“œ์—์„œ ํŠน์ • PR์„ ๊ฒ€ํ† ์— ์˜ตํŠธ์ธํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๋ชจ๋“œ์—์„œ ์ฆ‰์‹œ ์žฌ๊ฒ€ํ† ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

138 12 

139| ๋ช…๋ น | ์ˆ˜ํ–‰ ์ž‘์—… |13<img src="https://mintcdn.com/claude-code/gLJVaPQEgKC8ZyUD/images/code-review-pipeline.svg?fit=max&auto=format&n=gLJVaPQEgKC8ZyUD&q=85&s=0351c96df9efa3105172eb00a672f130" className="dark:hidden" alt="๋„ค ๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฆฌ๋ทฐ ๋‹ค์ด์–ด๊ทธ๋žจ. GitHub์˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ Anthropic ์ธํ”„๋ผ์—์„œ ๋ณ‘๋ ฌ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ์—๊ฒŒ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ๊ฒ€์ฆ ๋‹จ๊ณ„์—์„œ ๊ฑฐ์ง“ ์–‘์„ฑ์„ ์ œ๊ฑฐํ•˜๊ณ , ๋‚จ์€ ๊ฒฐ๊ณผ๋Š” ์ค‘๋ณต ์ œ๊ฑฐ ํ›„ ์‹ฌ๊ฐ๋„๋ณ„๋กœ ์ˆœ์œ„๊ฐ€ ๋งค๊ฒจ์ง€๋ฉฐ, ๋ฆฌ๋ทฐ๋Š” ์ธ๋ผ์ธ ๋Œ“๊ธ€, ์š”์•ฝ ๋ฐ ํ™•์ธ ์‹คํ–‰์„ GitHub์— ๋‹ค์‹œ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค." width="760" height="300" data-path="images/code-review-pipeline.svg" />

140| :- | :- |

141| `@claude review` | ํ–ฅํ›„ ํ‘ธ์‹œ์— PR์„ ๊ตฌ๋…ํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ผ ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค |

142| `@claude review always` | ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์•ž์œผ๋กœ ํ‘ธ์‹œ ํŠธ๋ฆฌ๊ฑฐ ๊ฒ€ํ† ์— PR์„ ๊ตฌ๋…ํ•ฉ๋‹ˆ๋‹ค |

143| `@claude review once` | `@claude review`์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค: ๊ตฌ๋…ํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ผ ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค |

144 14 

145์ˆ˜๋™ ๋ชจ๋“œ๋กœ ์„ค์ •๋œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๋†’์€ ์šฐ์„ ์ˆœ์œ„ PR๊ณผ ๊ฐ™์ด PR์— ๋Œ€ํ•œ ๋ชจ๋“  ํ›„์† ํ‘ธ์‹œ๊ฐ€ ์ƒˆ๋กœ์šด ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ๋ฅผ ์›ํ•  ๋•Œ `@claude review always`๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ช…๋ น์ด PR์„ ๊ตฌ๋…ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ดํ›„ ํ‘ธ์‹œ๊ฐ€ ๊ฒ€ํ† ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์ผํšŒ์„ฑ ๋‘ ๋ฒˆ์งธ ์˜๊ฒฌ์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.15<img src="https://mintcdn.com/claude-code/gLJVaPQEgKC8ZyUD/images/code-review-pipeline-dark.svg?fit=max&auto=format&n=gLJVaPQEgKC8ZyUD&q=85&s=9cf26bde98f4e999d0d9ff5bf5bdff40" className="hidden dark:block" alt="๋„ค ๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฆฌ๋ทฐ ๋‹ค์ด์–ด๊ทธ๋žจ. GitHub์˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ Anthropic ์ธํ”„๋ผ์—์„œ ๋ณ‘๋ ฌ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ์—๊ฒŒ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ๊ฒ€์ฆ ๋‹จ๊ณ„์—์„œ ๊ฑฐ์ง“ ์–‘์„ฑ์„ ์ œ๊ฑฐํ•˜๊ณ , ๋‚จ์€ ๊ฒฐ๊ณผ๋Š” ์ค‘๋ณต ์ œ๊ฑฐ ํ›„ ์‹ฌ๊ฐ๋„๋ณ„๋กœ ์ˆœ์œ„๊ฐ€ ๋งค๊ฒจ์ง€๋ฉฐ, ๋ฆฌ๋ทฐ๋Š” ์ธ๋ผ์ธ ๋Œ“๊ธ€, ์š”์•ฝ ๋ฐ ํ™•์ธ ์‹คํ–‰์„ GitHub์— ๋‹ค์‹œ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค." width="760" height="300" data-path="images/code-review-pipeline-dark.svg" />

146 16 

147<Note>17<Note>

148 2026๋…„ 7์›” ์—…๋ฐ์ดํŠธ ์ด์ „์—๋Š” `@claude review`๊ฐ€ PR์„ ํ‘ธ์‹œ ํŠธ๋ฆฌ๊ฑฐ ๊ฒ€ํ† ์— ๊ตฌ๋…ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋™์ž‘์— ์˜์กดํ–ˆ๋‹ค๋ฉด ๋Œ€์‹  `@claude review always`๋ฅผ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•˜์„ธ์š”. `@claude review once`๋Š” ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜๋ฉฐ ๊ธฐ๋ณธ ๋ช…๋ น๊ณผ ๋™์ผํ•˜๊ฒŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.18 Code Review๋Š” AI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๋ฆฌ๋ทฐํ•˜๋ฏ€๋กœ ๋ฒ„๊ทธ, ๋ณด์•ˆ ์ทจ์•ฝ์  ๋˜๋Š” ๊ธฐํƒ€ ๋ฌธ์ œ๋ฅผ ๋†“์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๊ฐ€ ์—†๋Š” ๋ฆฌ๋ทฐ๊ฐ€ ์ฝ”๋“œ์— ์˜ค๋ฅ˜๊ฐ€ ์—†๊ฑฐ๋‚˜ ์•ˆ์ „ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

149</Note>19</Note>

150 20 

151์ด๋Ÿฌํ•œ ๋ช…๋ น ์ค‘ ํ•˜๋‚˜๊ฐ€ ๊ฒ€ํ† ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋ ค๋ฉด:21<span id="review-a-diff-locally" />

152 

153* ์ตœ์ƒ์œ„ PR ๋Œ“๊ธ€๋กœ ๊ฒŒ์‹œํ•˜๊ณ  diff ๋ผ์ธ์˜ ์ธ๋ผ์ธ ๋Œ“๊ธ€๋กœ๋Š” ๊ฒŒ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

154* ๋Œ“๊ธ€์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ๋ช…๋ น์„ ์ž…๋ ฅํ•˜๊ณ , `once` ๋˜๋Š” `always`๋ฅผ ๋ช…๋ น์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„๊ณผ ๊ฐ™์€ ๋ผ์ธ์— ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค

155* ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ, ์œ ์ง€ ๊ด€๋ฆฌ ๋˜๋Š” ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

156* PR์€ ์—ด๋ ค ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

157 

158์ž๋™ ํŠธ๋ฆฌ๊ฑฐ์™€ ๋‹ฌ๋ฆฌ ์ˆ˜๋™ ํŠธ๋ฆฌ๊ฑฐ๋Š” ๋ช…์‹œ์  ์š”์ฒญ์ด ์ดˆ์•ˆ ์ƒํƒœ์™€ ๊ด€๊ณ„์—†์ด ์ง€๊ธˆ ๊ฒ€ํ† ๋ฅผ ์›ํ•œ๋‹ค๋Š” ์‹ ํ˜ธ์ด๋ฏ€๋กœ ์ดˆ์•ˆ PR์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

159 

160ํ•ด๋‹น PR์—์„œ ๊ฒ€ํ† ๊ฐ€ ์ด๋ฏธ ์‹คํ–‰ ์ค‘์ธ ๊ฒฝ์šฐ ์š”์ฒญ์€ ์ง„ํ–‰ ์ค‘์ธ ๊ฒ€ํ† ๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐ์—ด์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. PR์˜ ํ™•์ธ ์‹คํ–‰์„ ํ†ตํ•ด ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

161 

162<h3 id="review-pull-requests-from-forks">

163 ํฌํฌ์—์„œ ํ’€ ์š”์ฒญ ๊ฒ€ํ† 

164</h3>

165 

166Claude๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ **๊ฒ€ํ†  ๋™์ž‘** ์„ค์ •๊ณผ ๊ด€๊ณ„์—†์ด ํฌํฌ์˜ ํ’€ ์š”์ฒญ์„ ์ž๋™์œผ๋กœ ๊ฒ€ํ† ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ํ’€ ์š”์ฒญ์— `@claude review`๋ฅผ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•˜์„ธ์š”. [๋Œ“๊ธ€ ๋ช…๋ น์˜ ์š”๊ตฌ ์‚ฌํ•ญ](#manually-trigger-reviews)์€ ์—ฌ์ „ํžˆ ์ ์šฉ๋˜๋ฉฐ ํ•„์š”ํ•œ ์“ฐ๊ธฐ ์•ก์„ธ์Šค๋Š” ํฌํฌ๊ฐ€ ์•„๋‹Œ ๊ธฐ๋ณธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

167 22 

168ํฌํฌ ํ’€ ์š”์ฒญ์˜ ๋‹ค๋ฅธ ๊ฒ€ํ† ๋ฅผ ๋ฐ›์œผ๋ ค๋ฉด ์ƒˆ๋กœ์šด `@claude review` ๋Œ“๊ธ€์„ ๊ฒŒ์‹œํ•˜์„ธ์š”. `@claude review always`๋„ ์ž‘๋™ํ•˜์ง€๋งŒ ๋‚˜์ค‘์˜ ํ‘ธ์‹œ์— ๋Œ€ํ•œ ๊ฒ€ํ† ์— ํ’€ ์š”์ฒญ์„ ๊ตฌ๋…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ“๊ธ€ ๋ช…๋ น ์™ธ์—๋Š” ํฌํฌ ํ’€ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค:23Code Review๋ฅผ ์ผœ๋ ค๋ฉด Claude ์กฐ์ง์˜ Owner๊ฐ€ [Code Review ์„ค์ •](/docs/ko/code-review-setup)์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. Claude๋Š” ์ด ์„œ๋น„์Šค ์—†์ด๋„ ์ฝ”๋“œ๋ฅผ ๋ฆฌ๋ทฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ํ”Œ๋žœ์—์„œ Claude Code ์„ธ์…˜์—์„œ [`/code-review`](/docs/ko/code-review-local)๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜, [๋ชจ๋“  ์˜ต์…˜์„ ๋น„๊ต](#compare-ways-to-get-a-review)ํ•ด ๋ณด์‹ญ์‹œ์˜ค.

169 24 

170* ํ™•์ธ ์‹คํ–‰์—์„œ **๋‹ค์‹œ ์‹คํ–‰**์„ ํด๋ฆญํ•ด๋„ ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค25<h2 id="availability">

171* ์ƒˆ ์ปค๋ฐ‹์„ ํ‘ธ์‹œํ•ด๋„ ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. **๋ชจ๋“  ํ‘ธ์‹œ ํ›„**๋กœ ์„ค์ •๋œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค26 ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€

172 

173<h2 id="customize-reviews">

174 ๊ฒ€ํ†  ์‚ฌ์šฉ์ž ์ •์˜

175</h2>27</h2>

176 28 

177Code Review๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ๋‘ ๊ฐœ์˜ ํŒŒ์ผ์„ ์ฝ์–ด ํ”Œ๋ž˜๊ทธํ•  ํ•ญ๋ชฉ์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ ๊ฒ€ํ† ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฐ•๋„๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค:29Code Review๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์ „์— ์กฐ์ง์ด ์ž๊ฒฉ ์š”๊ฑด์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค:

178 

179* **`CLAUDE.md`**: Claude Code๊ฐ€ ๊ฒ€ํ† ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ์ž‘์—…์— ์‚ฌ์šฉํ•˜๋Š” ๊ณต์œ  ํ”„๋กœ์ ํŠธ ์ง€์นจ์ž…๋‹ˆ๋‹ค. Code Review๋Š” ์ด๋ฅผ ํ”„๋กœ์ ํŠธ ์ปจํ…์ŠคํŠธ๋กœ ์ฝ๊ณ  ์ƒˆ๋กœ ๋„์ž…๋œ ์œ„๋ฐ˜์„ nit์œผ๋กœ ํ”Œ๋ž˜๊ทธํ•ฉ๋‹ˆ๋‹ค.

180* **`REVIEW.md`**: ๊ฒ€ํ†  ์ „์šฉ ์ง€์นจ์œผ๋กœ ๊ฒ€ํ†  ํŒŒ์ดํ”„๋ผ์ธ์˜ ์—์ด์ „ํŠธ๊ฐ€ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ๊ณ  ๊ฒ€์ฆํ•˜๋ฉฐ ์—์ด์ „ํŠธ๊ฐ€ ๊ฒฐ๊ณผ๋ฅผ ์ˆœ์œ„ ์ง€์ •ํ•˜๊ณ  ๋ณด๊ณ ํ•  ๋•Œ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒ€์ด ํ”Œ๋ž˜๊ทธํ•˜๋ ค๋Š” ํ•ญ๋ชฉ, ์‹ฌ๊ฐ๋„ ๋ฐ ๊ฒฐ๊ณผ ๋ณด๊ณ  ๋ฐฉ์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

181 

182<h3 id="claude-md">

183 CLAUDE.md

184</h3>

185 

186Code Review๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ `CLAUDE.md` ํŒŒ์ผ์„ ์ฝ๊ณ  ์ƒˆ๋กœ ๋„์ž…๋œ ์œ„๋ฐ˜์„ [nit ์ˆ˜์ค€](#severity-levels) ๊ฒฐ๊ณผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค: PR์ด `CLAUDE.md` ๋ฌธ์„ ์˜ค๋ž˜๋œ ๊ฒƒ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด Claude๋Š” ๋ฌธ์„œ๋„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ”Œ๋ž˜๊ทธํ•ฉ๋‹ˆ๋‹ค.

187 

188Claude๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ์˜ ๋ชจ๋“  ์ˆ˜์ค€์—์„œ `CLAUDE.md` ํŒŒ์ผ์„ ์ฝ์œผ๋ฏ€๋กœ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ์˜ `CLAUDE.md`์˜ ๊ทœ์น™์€ ํ•ด๋‹น ๊ฒฝ๋กœ ์•„๋ž˜์˜ ํŒŒ์ผ์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. `CLAUDE.md` ์ž‘๋™ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ [๋ฉ”๋ชจ๋ฆฌ ์„ค๋ช…์„œ](/docs/ko/memory)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

189 30 

190์ผ๋ฐ˜ Claude Code ์„ธ์…˜์— ์ ์šฉํ•˜์ง€ ์•Š์œผ๋ ค๋Š” ๊ฒ€ํ†  ์ „์šฉ ์ง€์นจ์˜ ๊ฒฝ์šฐ ๋Œ€์‹  [`REVIEW.md`](#review-md)๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.31* **ํ”Œ๋žœ**: [Team ๋ฐ Enterprise](/docs/ko/feature-availability)

191 32* **์ฝ”๋“œ ํ˜ธ์ŠคํŠธ**: [GitHub Enterprise Server](/docs/ko/github-enterprise-server) ๋ฐ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€๋˜์‹œ๊ฐ€ ์ ์šฉ๋œ GitHub Enterprise Cloud๋ฅผ ํฌํ•จํ•˜์—ฌ GitHub์— ํ˜ธ์ŠคํŒ…๋œ ์ €์žฅ์†Œ. ๋ฐ์ดํ„ฐ ๋ ˆ์ง€๋˜์‹œ์˜ ๊ฒฝ์šฐ Owner๊ฐ€ [GitHub Enterprise Server ๊ด€๋ฆฌ์ž ์„ค์ •](/docs/ko/github-enterprise-server#admin-setup)์„ ๋”ฐ๋ฅด๊ณ  ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ์˜ `ghe.com` ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

192<h3 id="review-md">33* **๋ฐ์ดํ„ฐ ๋ณด์กด**: Code Review๋Š” [Zero Data Retention](/docs/ko/zero-data-retention)์ด ํ™œ์„ฑํ™”๋˜์—ˆ๊ฑฐ๋‚˜ [HIPAA ๊ตฌ์„ฑ](/docs/ko/hipaa-setup)์ด ์ ์šฉ๋œ ์กฐ์ง์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, Anthropic์˜ Business Associate Agreement(BAA) ์ ์šฉ ๋Œ€์ƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.

193 REVIEW\.md34* **์•”ํ˜ธํ™” ํ‚ค**: Code Review๋Š” ์•„์ง ๊ณ ๊ฐ ๊ด€๋ฆฌํ˜• ์•”ํ˜ธํ™” ํ‚ค(CMEK)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์กฐ์ง์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

194</h3>35* **ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด**: ๊ฐœ๋ฐœ์ž๊ฐ€ Amazon Bedrock, Google Cloud์˜ Agent Platform ๋˜๋Š” Microsoft Foundry๋ฅผ ํ†ตํ•ด Claude Code๋ฅผ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ์ด๋Ÿฌํ•œ ํ”Œ๋žœ ์ค‘ ํ•˜๋‚˜์˜ Claude ์กฐ์ง์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค

195 36 

196`REVIEW.md`๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฃจํŠธ์˜ ํŒŒ์ผ๋กœ Code Review๋ฅผ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋งž๊ฒŒ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฒ€ํ†  ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ๊ณ  ๊ฒ€์ฆํ•˜๋Š” ์—์ด์ „ํŠธ๋Š” Code Review์˜ ๊ธฐ๋ณธ ๊ฒ€ํ†  ์ง€์นจ๊ณผ ํ•จ๊ป˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ฒ€ํ†  ์ง€์นจ์œผ๋กœ ๊ทธ ๋‚ด์šฉ์„ ๋ฐ›์œผ๋ฉฐ, ๊ฒฐ๊ณผ๋ฅผ ์ˆœ์œ„ ์ง€์ •ํ•˜๊ณ  ๋ณด๊ณ ํ•˜๋Š” ์—์ด์ „ํŠธ๋Š” ์‹ฌ๊ฐ๋„๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  ๊ฒ€ํ† ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „์— ์ด๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.37<h2 id="set-up-and-use-code-review">

197 38 Code Review ์„ค์ • ๋ฐ ์‚ฌ์šฉ

198`REVIEW.md`์— ์ ์šฉํ•˜๋ ค๋Š” ๊ทœ์น™์„ ์ง์ ‘ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

199 

200<h4 id="what-you-can-tune">

201 ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ

202</h4>

203 

204`REVIEW.md`๋Š” ์ž์œ  ํ˜•์‹ ๋งˆํฌ๋‹ค์šด์ด๋ฏ€๋กœ ๊ฒ€ํ†  ์ง€์นจ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๋ฒ”์œ„ ๋‚ด์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ํŒจํ„ด์€ ์‹ค์ œ๋กœ ๊ฐ€์žฅ ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

205 

206**์‹ฌ๊ฐ๋„**: ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•ด ๐Ÿ”ด Important๊ฐ€ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ณด์ •์€ ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์„œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ, ๊ตฌ์„ฑ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋˜๋Š” ํ”„๋กœํ† ํƒ€์ž…์€ ํ›จ์”ฌ ๋” ์ข์€ ์ •์˜๋ฅผ ์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Important์ธ ๊ฒฐ๊ณผ ํด๋ž˜์Šค์™€ ์ตœ๋Œ€ Nit์ธ ๊ฒฐ๊ณผ ํด๋ž˜์Šค๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ๋„ ํ™•๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ธฐ๋ณธ nit์ด ์•„๋‹Œ Important๋กœ `CLAUDE.md` ์œ„๋ฐ˜์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

207 

208**Nit ๋ณผ๋ฅจ**: ๋‹จ์ผ ๊ฒ€ํ† ๊ฐ€ ๊ฒŒ์‹œํ•˜๋Š” ๐ŸŸก Nit ๋Œ“๊ธ€์˜ ์ˆ˜๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. ์‚ฐ๋ฌธ ๋ฐ ๊ตฌ์„ฑ ํŒŒ์ผ์€ ์˜์›ํžˆ ๋‹ค๋“ฌ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "์ตœ๋Œ€ 5๊ฐœ์˜ nit์„ ๋ณด๊ณ ํ•˜๊ณ  ๋‚˜๋จธ์ง€๋ฅผ ์š”์•ฝ์— ๊ฐœ์ˆ˜๋กœ ์–ธ๊ธ‰"๊ณผ ๊ฐ™์€ ์ œํ•œ์€ ๊ฒ€ํ† ๋ฅผ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

209 

210**๊ทœ์น™ ๊ฑด๋„ˆ๋›ฐ๊ธฐ**: Claude๊ฐ€ ๊ฒฐ๊ณผ๋ฅผ ๊ฒŒ์‹œํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๋Š” ๊ฒฝ๋กœ, ๋ถ„๊ธฐ ํŒจํ„ด ๋ฐ ๊ฒฐ๊ณผ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ํ›„๋ณด๋Š” ์ƒ์„ฑ๋œ ์ฝ”๋“œ, lockfile, ๊ณต๊ธ‰๋œ ์ข…์†์„ฑ ๋ฐ ๊ธฐ๊ณ„ ์ž‘์„ฑ ๋ถ„๊ธฐ์ด๋ฉฐ, linting ๋˜๋Š” ๋งž์ถค๋ฒ• ๊ฒ€์‚ฌ์™€ ๊ฐ™์ด CI๊ฐ€ ์ด๋ฏธ ์ ์šฉํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์™„์ „ํ•œ ์ •๋ฐ€ ๊ฒ€์‚ฌ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์ง€๋งŒ ์ผ๋ถ€ ๊ฒ€ํ† ๋ฅผ ๋ณด์žฅํ•˜๋Š” ๊ฒฝ๋กœ์˜ ๊ฒฝ์šฐ ์™„์ „ํžˆ ๊ฑด๋„ˆ๋›ฐ๋Š” ๋Œ€์‹  ๋” ๋†’์€ ๊ธฐ์ค€์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค: "`scripts/`์—์„œ๋Š” ๊ฑฐ์˜ ํ™•์‹คํ•˜๊ณ  ์‹ฌ๊ฐํ•œ ๊ฒฝ์šฐ์—๋งŒ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค."

211 

212**๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ณ„ ํ™•์ธ**: ๋ชจ๋“  PR์—์„œ ํ”Œ๋ž˜๊ทธํ•˜๋ ค๋Š” ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ: "์ƒˆ API ๊ฒฝ๋กœ์—๋Š” ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค." `REVIEW.md`๊ฐ€ ๋ชจ๋“  ๊ฒฐ๊ณผ ์ฐพ๊ธฐ ๋ฐ ๊ฒ€์ฆ ์—์ด์ „ํŠธ์— ์ง์ ‘ ๋„๋‹ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋“ค์€ ๊ธด `CLAUDE.md`์˜ ๋™์ผํ•œ ๊ทœ์น™๋ณด๋‹ค ๋” ์•ˆ์ •์ ์œผ๋กœ ๋„์ฐฉํ•ฉ๋‹ˆ๋‹ค.

213 

214**๊ฒ€์ฆ ๊ธฐ์ค€**: ๊ฒฐ๊ณผ ํด๋ž˜์Šค๊ฐ€ ๊ฒŒ์‹œ๋˜๊ธฐ ์ „์— ์ฆ๊ฑฐ๋ฅผ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "๋™์ž‘ ์ฃผ์žฅ์€ ๋ช…๋ช…์—์„œ์˜ ์ถ”๋ก ์ด ์•„๋‹Œ ์†Œ์Šค์˜ `file:line` ์ธ์šฉ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค"๋Š” ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ž‘์„ฑ์ž์—๊ฒŒ ์™•๋ณต์„ ๋น„์šฉ์œผ๋กœ ํ•˜๋Š” ๊ฑฐ์ง“ ์–‘์„ฑ์„ ์ค„์ž…๋‹ˆ๋‹ค.

215 

216**์žฌ๊ฒ€ํ†  ์ˆ˜๋ ด**: PR์ด ์ด๋ฏธ ๊ฒ€ํ† ๋˜์—ˆ์„ ๋•Œ Claude๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. "์ฒซ ๋ฒˆ์งธ ๊ฒ€ํ†  ํ›„ ์ƒˆ๋กœ์šด nit์„ ์–ต์ œํ•˜๊ณ  Important ๊ฒฐ๊ณผ๋งŒ ๊ฒŒ์‹œ"์™€ ๊ฐ™์€ ๊ทœ์น™์€ ํ•œ ์ค„ ์ˆ˜์ •์ด ์Šคํƒ€์ผ๋งŒ์œผ๋กœ 7๋ผ์šด๋“œ์— ๋„๋‹ฌํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

217 

218**์š”์•ฝ ํ˜•ํƒœ**: ๊ฒ€ํ†  ๋ณธ๋ฌธ์ด `2 factual, 4 style`๊ณผ ๊ฐ™์€ ํ•œ ์ค„ ์ง‘๊ณ„๋กœ ์‹œ์ž‘ํ•˜๋„๋ก ์š”์ฒญํ•˜๊ณ  ๊ทธ๊ฒƒ์ด ๊ฒฝ์šฐ์ผ ๋•Œ "factual ๋ฌธ์ œ ์—†์Œ"์œผ๋กœ ์‹œ์ž‘ํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์ž‘์„ฑ์ž๋Š” ์„ธ๋ถ€ ์‚ฌํ•ญ ์ „์— ์ž‘์—…์˜ ํ˜•ํƒœ๋ฅผ ์•Œ๊ณ  ์‹ถ์–ดํ•ฉ๋‹ˆ๋‹ค.

219 

220<h4 id="example">

221 ์˜ˆ์‹œ

222</h4>

223 

224์ด `REVIEW.md`๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ ์‹ฌ๊ฐ๋„๋ฅผ ์žฌ๋ณด์ •ํ•˜๊ณ , nit์„ ์ œํ•œํ•˜๊ณ , ์ƒ์„ฑ๋œ ํŒŒ์ผ์„ ๊ฑด๋„ˆ๋›ฐ๊ณ , ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ณ„ ํ™•์ธ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

225 

226```markdown theme={null}

227# ๊ฒ€ํ†  ์ง€์นจ

228 

229## Important๊ฐ€ ์—ฌ๊ธฐ์„œ ์˜๋ฏธํ•˜๋Š” ๋ฐ”

230 

231๋™์ž‘์„ ์ค‘๋‹จํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ถœํ•˜๊ฑฐ๋‚˜ ๋กค๋ฐฑ์„ ์ฐจ๋‹จํ•  ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด Important๋ฅผ ์˜ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค: ์ž˜๋ชป๋œ ๋…ผ๋ฆฌ, ๋ฒ”์œ„๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ, ๋กœ๊ทธ ๋˜๋Š” ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์˜ PII, ๊ทธ๋ฆฌ๊ณ  ์—ญํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ž…๋‹ˆ๋‹ค. ์Šคํƒ€์ผ, ๋ช…๋ช… ๋ฐ ๋ฆฌํŒฉํ† ๋ง ์ œ์•ˆ์€ ์ตœ๋Œ€ Nit์ž…๋‹ˆ๋‹ค.

232 

233## Nit ์ œํ•œ

234 

235๊ฒ€ํ† ๋‹น ์ตœ๋Œ€ 5๊ฐœ์˜ Nit์„ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๋” ๋งŽ์ด ๋ฐœ๊ฒฌํ•œ ๊ฒฝ์šฐ ์ธ๋ผ์ธ์œผ๋กœ ๊ฒŒ์‹œํ•˜๋Š” ๋Œ€์‹  ์š”์•ฝ์—์„œ "plus N similar items"๋ผ๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ๋ฐœ๊ฒฌํ•œ ๋ชจ๋“  ๊ฒƒ์ด Nit์ธ ๊ฒฝ์šฐ "No blocking issues"๋กœ ์š”์•ฝ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

236 

237## ๋ณด๊ณ ํ•˜์ง€ ์•Š์Œ

238 

239- CI๊ฐ€ ์ด๋ฏธ ์ ์šฉํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ: lint, ํ˜•์‹, ํƒ€์ž… ์˜ค๋ฅ˜

240- `src/gen/` ์•„๋ž˜์˜ ์ƒ์„ฑ๋œ ํŒŒ์ผ ๋ฐ ๋ชจ๋“  `*.lock` ํŒŒ์ผ

241- ์˜๋„์ ์œผ๋กœ ํ”„๋กœ๋•์…˜ ๊ทœ์น™์„ ์œ„๋ฐ˜ํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ „์šฉ ์ฝ”๋“œ

242 

243## ํ•ญ์ƒ ํ™•์ธ

244 

245- ์ƒˆ API ๊ฒฝ๋กœ์—๋Š” ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค

246- ๋กœ๊ทธ ๋ผ์ธ์— ์ด๋ฉ”์ผ ์ฃผ์†Œ, ์‚ฌ์šฉ์ž ID ๋˜๋Š” ์š”์ฒญ ๋ณธ๋ฌธ์ด ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

247- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ๋Š” ํ˜ธ์ถœ์ž์˜ ํ…Œ๋„ŒํŠธ๋กœ ๋ฒ”์œ„๊ฐ€ ์ง€์ •๋ฉ๋‹ˆ๋‹ค

248```

249 

250<h4 id="keep-it-focused">

251 ์ดˆ์  ์œ ์ง€

252</h4>

253 

254๊ธธ์ด๋Š” ๋น„์šฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค: ๊ธด `REVIEW.md`๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ทœ์น™์„ ํฌ์„ํ•ฉ๋‹ˆ๋‹ค. ๊ฒ€ํ†  ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜๋Š” ์ง€์นจ์œผ๋กœ ์œ ์ง€ํ•˜๊ณ  ์ผ๋ฐ˜ ํ”„๋กœ์ ํŠธ ์ปจํ…์ŠคํŠธ๋Š” `CLAUDE.md`์— ๋‚จ๊ฒจ๋‘ก๋‹ˆ๋‹ค.

255 

256<h2 id="view-usage">

257 ์‚ฌ์šฉ๋Ÿ‰ ๋ณด๊ธฐ

258</h2>39</h2>

259 40 

260[claude.ai/analytics/code-review](https://claude.ai/analytics/code-review)๋กœ ์ด๋™ํ•˜์—ฌ ์กฐ์ง ์ „์ฒด์˜ Code Review ํ™œ๋™์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹œ๋ณด๋“œ๋Š” ๋‹ค์Œ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค:41<span id="set-up-code-review" />

261 42 

262| ์„น์…˜ | ํ‘œ์‹œ ๋‚ด์šฉ |43<span id="pricing" />

263| :- | :- |

264| PRs reviewed | ์„ ํƒํ•œ ์‹œ๊ฐ„ ๋ฒ”์œ„ ๋™์•ˆ ๊ฒ€ํ† ๋œ ํ’€ ์š”์ฒญ์˜ ์ผ์ผ ๊ฐœ์ˆ˜ |

265| Code Review cost | ์ด๋ฒˆ ๋‹ฌ ํ˜„์žฌ๊นŒ์ง€์˜ Code Review ์ง€์ถœ |

266| Feedback | ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์—ฌ ์ž๋™์œผ๋กœ ํ•ด๊ฒฐ๋œ ๊ฒ€ํ†  ๋Œ“๊ธ€์˜ ๊ฐœ์ˆ˜ |

267| Repository breakdown | ์ €์žฅ์†Œ๋ณ„๋กœ ๊ฒ€ํ† ๋œ PR ๊ฐœ์ˆ˜, ํ•ด๊ฒฐ๋œ ๋Œ“๊ธ€ ๊ฐœ์ˆ˜, ๋ฆฌ๋ทฐ ์‹คํ–‰ ํšŸ์ˆ˜์™€ ํ•จ๊ป˜ ์ถ”์ • ๋น„์šฉ ๋ฐ PR๋ณ„ ๋ณด๊ธฐ |

268 44 

269Code Review cost ์นด๋“œ๋Š” ํ˜„์žฌ ์›”์ด ์„ ํƒ๋œ ๊ฒฝ์šฐ์—๋งŒ ๊ธˆ์•ก์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ถ„์„์˜ ๋น„์šฉ ์ˆ˜์น˜๋Š” ์ฒญ๊ตฌ์„œ์™€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Repository breakdown ๋น„์šฉ์€ ํ• ์ธ์ด๋‚˜ ํฌ๋ ˆ๋”ง์ด ์ ์šฉ๋˜๊ธฐ ์ „์˜ ์ •๊ฐ€ ๊ธฐ์ค€์œผ๋กœ ์ถ”์ •๋˜๋ฉฐ, Claude๊ฐ€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๊ฒŒ์‹œํ•œ ๋ฆฌ๋ทฐ๋งŒ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ฒญ๊ตฌ์„œ์™€ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š” ์ง€์ถœ์€ Anthropic ์ฒญ๊ตฌ์„œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.45<span id="manually-trigger-reviews" />

270 46 

271<h2 id="pricing">47<span id="customize-reviews" />

272 ๊ฐ€๊ฒฉ

273</h2>

274 

275Code Review๋Š” ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฒญ๊ตฌ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๊ฒ€ํ† ๋Š” ํ‰๊ท  \$15-25์˜ ๋น„์šฉ์ด ์†Œ์š”๋˜๋ฉฐ, PR ํฌ๊ธฐ, ์ฝ”๋“œ๋ฒ ์ด์Šค ๋ณต์žก๋„ ๋ฐ ๊ฒ€์ฆ์ด ํ•„์š”ํ•œ ๋ฌธ์ œ์˜ ์ˆ˜์— ๋”ฐ๋ผ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค. Code Review ์‚ฌ์šฉ๋Ÿ‰์€ [์‚ฌ์šฉ๋Ÿ‰ ํฌ๋ ˆ๋”ง](https://support.claude.com/ko/articles/12429409-extra-usage-for-paid-claude-plans)์„ ํ†ตํ•ด ๋ณ„๋„๋กœ ์ฒญ๊ตฌ๋˜๋ฉฐ ๊ณ„ํš์— ํฌํ•จ๋œ ์‚ฌ์šฉ๋Ÿ‰์— ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

276 

277์„ ํƒํ•œ ๊ฒ€ํ†  ํŠธ๋ฆฌ๊ฑฐ๋Š” ์ด ๋น„์šฉ์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค:

278 

279* **PR ์ƒ์„ฑ ํ›„ ํ•œ ๋ฒˆ**: PR๋‹น ํ•œ ๋ฒˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค

280* **๋ชจ๋“  ํ‘ธ์‹œ ํ›„**: ๊ฐ ํ‘ธ์‹œ์—์„œ ์‹คํ–‰๋˜์–ด ํ‘ธ์‹œ ์ˆ˜๋งŒํผ ๋น„์šฉ์ด ๊ณฑํ•ด์ง‘๋‹ˆ๋‹ค

281* **์ˆ˜๋™**: ์—ด๋ฆฐ PR์ด๋‚˜ ํ‘ธ์‹œ์—์„œ ์ž๋™์œผ๋กœ ๊ฒ€ํ† ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ˆ„๊ตฐ๊ฐ€ ์š”์ฒญํ•œ ๊ฒ€ํ† ์—์„œ๋งŒ ๋น„์šฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค

282 48 

283PR ์ƒ์„ฑ ํ›„ ํ•œ ๋ฒˆ ๋˜๋Š” ์ˆ˜๋™ ๋ชจ๋“œ์—์„œ `@claude review always` [๋Œ“๊ธ€์„ ์ž‘์„ฑ](#manually-trigger-reviews)ํ•˜๋ฉด PR์ด ํ‘ธ์‹œ ํŠธ๋ฆฌ๊ฑฐ ๊ฒ€ํ† ์— ์˜ตํŠธ์ธ๋˜๋ฏ€๋กœ ํ•ด๋‹น ๋Œ“๊ธ€ ์ดํ›„ ํ‘ธ์‹œ๋‹น ์ถ”๊ฐ€ ๋น„์šฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํ‘ธ์‹œ ํ›„ ๋ชจ๋“œ์—์„œ๋Š” ํ‘ธ์‹œ๊ฐ€ ์ด๋ฏธ ๊ฒ€ํ† ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋ฏ€๋กœ ๊ตฌ๋…์ด ํ‘ธ์‹œ๋‹น ๋น„์šฉ์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. `@claude review`๋ฅผ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•˜๋ฉด ํ–ฅํ›„ ํ‘ธ์‹œ์— ๊ตฌ๋…ํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ผ ๊ฒ€ํ† ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Claude๋Š” [ํฌํฌ์—์„œ ํ’€ ์š”์ฒญ](#review-pull-requests-from-forks)์„ ๋ˆ„๊ตฐ๊ฐ€ `@claude review`๋ฅผ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•  ๋•Œ๋งŒ ๊ฒ€ํ† ํ•˜๋ฏ€๋กœ, ํฌํฌ ํ’€ ์š”์ฒญ์€ ์–ด๋–ค ๋ชจ๋“œ์—์„œ๋„ ํ‘ธ์‹œ๋‹น ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.49<span id="troubleshooting" />

284 50 

285๋น„์šฉ์€ ์กฐ์ง์ด ๋‹ค๋ฅธ Claude Code ๊ธฐ๋Šฅ์— Amazon Bedrock ๋˜๋Š” Google Cloud์˜ Agent Platform์„ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด Anthropic ์ฒญ๊ตฌ์„œ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. Code Review์˜ ์›”๊ฐ„ ์ง€์ถœ ํ•œ๋„๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage)๋กœ ์ด๋™ํ•˜์—ฌ Claude Code Review ์„œ๋น„์Šค์˜ ํ•œ๋„๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.51ํ•„์š”ํ•œ ์ž‘์—…์— ๋งž๋Š” ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค:

286 52 

287์ง€์ถœ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ ค๋ฉด [๋ถ„์„ ๋Œ€์‹œ๋ณด๋“œ](#view-usage)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.53<CardGroup cols={2}>

54 <Card title="Code Review ์„ค์ •" icon="toggle-on" href="/docs/ko/code-review-setup">

55 ์š”๊ตฌ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜๊ณ , Claude GitHub App์„ ์„ค์น˜ํ•˜๊ณ , ์ €์žฅ์†Œ, ๋ฆฌ๋ทฐ ์ˆ˜์ค€ ๋ฐ ๋ฆฌ๋ทฐ ์‹คํ–‰ ์‹œ๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค

56 </Card>

288 57 

289<h2 id="troubleshooting">58 <Card title="Code Review ์‚ฌ์šฉ์ž ์ •์˜" icon="sliders" href="/docs/ko/code-review-customize">

290 ๋ฌธ์ œ ํ•ด๊ฒฐ59 ์ €์žฅ์†Œ์˜ `REVIEW.md` ๋ฐ `CLAUDE.md` ํŒŒ์ผ๋กœ ํ”Œ๋ž˜๊ทธ๋˜๋Š” ํ•ญ๋ชฉ์„ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค

291</h2>60 </Card>

292 

293๊ฒ€ํ†  ์‹คํ–‰์€ ์ตœ์„ ์˜ ๋…ธ๋ ฅ์ž…๋‹ˆ๋‹ค. ์‹คํŒจํ•œ ์‹คํ–‰์€ PR์„ ์ฐจ๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Code Review๋Š” ์ค‘๋‹จ๋œ ์ผ๋ถ€ ๊ฒ€ํ† ๋ฅผ ์ž๋™์œผ๋กœ ์žฌ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” ๊ฒ€ํ† ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ํ™•์ธ ์‹คํ–‰์ด ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•  ๋•Œ ์–ด๋””๋ฅผ ๋ด์•ผ ํ•˜๋Š”์ง€ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

294 61 

295<h3 id="retrigger-a-failed-or-timed-out-review">62 <Card title="ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ ๋ฆฌ๋ทฐ ์ฝ๊ธฐ ๋ฐ ์š”์ฒญ" icon="code-pull-request" href="/docs/ko/code-review-pull-requests">

296 ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋œ ๊ฒ€ํ†  ์žฌํŠธ๋ฆฌ๊ฑฐ63 ๊ฒฐ๊ณผ์™€ ์‹ฌ๊ฐ๋„๋ฅผ ์ฝ๊ณ , ๋Œ“๊ธ€๋กœ ๋‹ค๋ฅธ ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค

297</h3>64 </Card>

298 65 

299๊ฒ€ํ† ๊ฐ€ ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ์‹œ๊ฐ„ ์ œํ•œ์„ ์ดˆ๊ณผํ•˜๋ฉด ํ™•์ธ ์‹คํ–‰์ด **Code review failed** ๋˜๋Š” **Code review timed out** ๊ฐ™์€ ์ œ๋ชฉ์œผ๋กœ ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๋ก ์€ ์—ฌ์ „ํžˆ ์ค‘๋ฆฝ์ ์ด๋ฏ€๋กœ ๋ณ‘ํ•ฉ์„ ์ฐจ๋‹จํ•˜๋Š” ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค. ํ™•์ธ ์‹คํ–‰์˜ ์š”์•ฝ์—์„œ ์ปค๋ฐ‹์˜ ์ƒˆ๋กœ์šด ๊ฒ€ํ† ๊ฐ€ ์ž๋™์œผ๋กœ ๋Œ€๊ธฐ์—ด์— ์ถ”๊ฐ€๋˜์—ˆ๋‹ค๊ณ  ๋งํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฒ€ํ† ๋ฅผ ์ง์ ‘ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.66 <Card title="Code Review ๋ฌธ์ œ ํ•ด๊ฒฐ" icon="wrench" href="/docs/ko/code-review-troubleshooting">

67 ์‹œ์ž‘๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜, ์‹คํŒจํ–ˆ๊ฑฐ๋‚˜, ์˜ˆ์‚ฐ ๋•Œ๋ฌธ์— ๊ฑด๋„ˆ๋›ด ๋ฆฌ๋ทฐ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค

68 </Card>

300 69 

301๊ฒ€ํ† ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ ค๋ฉด PR์—์„œ `@claude review`๋ฅผ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด PR์„ ํ–ฅํ›„ ํ‘ธ์‹œ์— ๊ตฌ๋…ํ•˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ์šด ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. PR์ด [ํฌํฌ์—์„œ](#review-pull-requests-from-forks) ๋‚˜์˜จ ๊ฒƒ์ด ์•„๋‹ˆ๋ฉด GitHub์˜ Checks ํƒญ์—์„œ **Claude Code Review** ํ™•์ธ ์˜†์˜ **Re-run**์„ ํด๋ฆญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฌ์‹คํ–‰๋„ PR์„ ๊ตฌ๋…ํ•˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ์šด ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.70 <Card title="Code Review ๋น„์šฉ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰" icon="chart-line" href="/docs/ko/code-review-costs">

71 ๋ฆฌ๋ทฐ ์ฒญ๊ตฌ ๋ฐฉ์‹์„ ํ™•์ธํ•˜๊ณ , ์ง€์ถœ์„ ์ถ”์ •ํ•˜๊ณ , ์›”๊ฐ„ ์ง€์ถœ ํ•œ๋„๋ฅผ ์„ค์ •ํ•˜๊ณ , ๋ฆฌ๋ทฐ ํ™œ๋™์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค

72 </Card>

73</CardGroup>

302 74 

303<h3 id="review-didnโ€™t-run-and-the-pr-shows-a-budget-message">75<h2 id="how-reviews-work">

304 ๊ฒ€ํ† ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์•˜๊ณ  PR์ด ์˜ˆ์‚ฐ ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค76 ๋ฆฌ๋ทฐ ์ž‘๋™ ๋ฐฉ์‹

305</h3>

306 

307์กฐ์ง์˜ Code Review ์›”๊ฐ„ ์ง€์ถœ ํ•œ๋„์— ๋„๋‹ฌํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋Ÿ‰ ํฌ๋ ˆ๋”ง ์ž”์•ก์ด ์†Œ์ง„๋˜๋ฉด Code Review๋Š” ๊ฒ€ํ† ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  PR์— ๋‹จ์ผ ๋Œ“๊ธ€์„ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋Œ“๊ธ€๊ณผ ํ™•์ธ ์‹คํ–‰ ์นด๋“œ ๋ชจ๋‘ ์›์ธ์„ ๋ช…์‹œํ•˜๊ณ , ๊ด€๋ฆฌ์ž๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค:

308 

309* **์ง€์ถœ ํ•œ๋„ ๋„๋‹ฌ**: ๊ฒ€ํ† ๋Š” ๋‹ค์Œ ์ฒญ๊ตฌ ๊ธฐ๊ฐ„์˜ ์‹œ์ž‘ ์‹œ ์žฌ๊ฐœ๋˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌ์ž๊ฐ€ [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage)์—์„œ ํ•œ๋„๋ฅผ ๋†’์ด๋ฉด ์ฆ‰์‹œ ์žฌ๊ฐœ๋ฉ๋‹ˆ๋‹ค

310* **์‚ฌ์šฉ๋Ÿ‰ ํฌ๋ ˆ๋”ง ์†Œ์ง„**: ๊ด€๋ฆฌ์ž๊ฐ€ [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage)์—์„œ [์‚ฌ์šฉ๋Ÿ‰ ํฌ๋ ˆ๋”ง](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ฒ€ํ† ๊ฐ€ ์žฌ๊ฐœ๋ฉ๋‹ˆ๋‹ค

311 

312<h3 id="find-issues-that-arenโ€™t-showing-as-inline-comments">

313 ์ธ๋ผ์ธ ๋Œ“๊ธ€๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ฐพ๊ธฐ

314</h3>

315 

316ํ™•์ธ ์‹คํ–‰ ์ œ๋ชฉ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ๋‹ค๊ณ  ๋งํ•˜์ง€๋งŒ diff์—์„œ ์ธ๋ผ์ธ ๊ฒ€ํ†  ๋Œ“๊ธ€์„ ๋ณด์ง€ ๋ชปํ•˜๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๋‹ค๋ฅธ ์œ„์น˜๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค:

317 

318* **Check run Details**: Checks ํƒญ์˜ Claude Code Review ํ™•์ธ ์˜†์— ์žˆ๋Š” **Details**๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์‹ฌ๊ฐ๋„ ํ…Œ์ด๋ธ”์€ ์ธ๋ผ์ธ ๋Œ“๊ธ€์ด ์ˆ˜๋ฝ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํŒŒ์ผ, ๋ผ์ธ ๋ฐ ์š”์•ฝ๊ณผ ํ•จ๊ป˜ ๋ชจ๋“  ๊ฒฐ๊ณผ๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.

319* **Files changed annotations**: PR์˜ **Files changed** ํƒญ์„ ์—ฝ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ๊ฒ€ํ†  ๋Œ“๊ธ€๊ณผ ๋ณ„๋„๋กœ diff ๋ผ์ธ์— ์ง์ ‘ ์ฒจ๋ถ€๋œ ์ฃผ์„์œผ๋กœ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค.

320* **Review body**: ๊ฒ€ํ† ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ๋™์•ˆ PR์„ ํ‘ธ์‹œํ•œ ๊ฒฝ์šฐ ์ผ๋ถ€ ๊ฒฐ๊ณผ๋Š” ํ˜„์žฌ diff์— ๋” ์ด์ƒ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋ผ์ธ์„ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ ์ธ๋ผ์ธ ๋Œ“๊ธ€์ด ์•„๋‹Œ ๊ฒ€ํ†  ๋ณธ๋ฌธ ํ…์ŠคํŠธ์˜ **Additional findings** ์ œ๋ชฉ ์•„๋ž˜์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

321 

322<h2 id="review-a-diff-locally">

323 ๋กœ์ปฌ์—์„œ diff ๊ฒ€ํ† 

324</h2>77</h2>

325 78 

326[`/code-review` ๋ช…๋ น](/docs/ko/commands)์€ GitHub ์•ฑ์„ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ  ํ„ฐ๋ฏธ๋„์—์„œ diff๋ฅผ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค. ์ •ํ™•์„ฑ ๋ฒ„๊ทธ๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ๊ณผ effort ์ˆ˜์ค€์— ๋”ฐ๋ผ ๊ฒ€ํ† ์—๋Š” ์žฌ์‚ฌ์šฉ, ๋‹จ์ˆœํ™” ๋ฐ ํšจ์œจ์„ฑ ์ •๋ฆฌ๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.79<span id="what-code-review-checks" />

327 80 

328`/review`๋Š” `/code-review`์˜ ๋ณ„์นญ์ž…๋‹ˆ๋‹ค. v2.1.223 ์ด์ „์—๋Š” GitHub pull request์˜ ๋‹จ์ผ ํŒจ์Šค, ์ฝ๊ธฐ ์ „์šฉ ๊ฒ€ํ† ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ณ„๋„์˜ ๋ช…๋ น์ด์—ˆ์Šต๋‹ˆ๋‹ค.81๊ธฐ๋ณธ์ ์œผ๋กœ Code Review๋Š” ์ •ํ™•์„ฑ์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ํ˜•์‹ ์„ ํ˜ธ๋‚˜ ๋ˆ„๋ฝ๋œ ํ…Œ์ŠคํŠธ ๋ฒ”์œ„๊ฐ€ ์•„๋‹ˆ๋ผ ํ”„๋กœ๋•์…˜์„ ์ค‘๋‹จ์‹œํ‚ฌ ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค. ํ”Œ๋ž˜๊ทธ๋˜๋Š” ํ•ญ๋ชฉ์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์ €์žฅ์†Œ์— [์ง€์นจ ํŒŒ์ผ์„ ์ถ”๊ฐ€](/docs/ko/code-review-customize)ํ•˜์‹ญ์‹œ์˜ค.

329 82 

330<Steps>83๋ฆฌ๋ทฐ๋Š” Anthropic ์ธํ”„๋ผ์—์„œ ๋„ค ๋‹จ๊ณ„๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค:

331 <Step title="/code-review ์‹คํ–‰">

332 ์ž‘์—… ์ค‘์ธ ์„ธ์…˜์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

333 84 

334 ```text theme={null}851. **์ฐพ๊ธฐ**: ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ๊ฐ€ diff์™€ ์ฃผ๋ณ€ ์ฝ”๋“œ๋ฅผ ๋ณ‘๋ ฌ๋กœ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

335 /code-review862. **๊ฒ€์ฆ**: ๊ฒ€์ฆ ๋‹จ๊ณ„์—์„œ ํ›„๋ณด ๊ฒฐ๊ณผ๋ฅผ ์ฝ”๋“œ์™€ ๋Œ€์กฐํ•˜์—ฌ ํ™•์ธํ•˜๊ณ  ๊ฑฐ์ง“ ์–‘์„ฑ์„ ๊ฑธ๋Ÿฌ๋ƒ…๋‹ˆ๋‹ค.

336 ```873. **์ˆœ์œ„ ์ง€์ •**: ๋‚จ์€ ๊ฒฐ๊ณผ๋Š” ์ค‘๋ณต ์ œ๊ฑฐ๋œ ํ›„ ์‹ฌ๊ฐ๋„๋ณ„๋กœ ์ˆœ์œ„๊ฐ€ ๋งค๊ฒจ์ง‘๋‹ˆ๋‹ค.

884. **๊ฒŒ์‹œ**: ๋ฆฌ๋ทฐ๊ฐ€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๊ฒฐ๊ณผ๋ฅผ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค.

337 89 

338 ์ด ๋ช…๋ น์€ ์—…์ŠคํŠธ๋ฆผ๋ณด๋‹ค ์•ž์„  ๋ธŒ๋žœ์น˜์˜ ์ปค๋ฐ‹๊ณผ ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜๋ฏ€๋กœ, ๋ณด๊ณ ํ•  ๋‚ด์šฉ์ด ์žˆ์œผ๋ ค๋ฉด ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•˜๊ฑฐ๋‚˜ ์ž‘์—… ํŠธ๋ฆฌ์—์„œ ์ž‘์—…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ•ญ๋ชฉ์„ ๊ฒ€ํ† ํ•˜๋ ค๋ฉด ๋Œ€์ƒ์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค: ํŒŒ์ผ ๊ฒฝ๋กœ, PR ๋ฒˆํ˜ธ, ๋ธŒ๋žœ์น˜ ์ด๋ฆ„ ๋˜๋Š” `main...my-feature`์™€ ๊ฐ™์€ ref ๋ฒ”์œ„์ž…๋‹ˆ๋‹ค.90๊ฐ ๋ฆฌ๋ทฐ๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๋‹ค์Œ์„ ๋‚จ๊น๋‹ˆ๋‹ค:

339 91 

340 ๋‹ค์Œ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค:92* **๊ฒฐ๊ณผ**: ํ•ด๋‹น ๋ผ์ธ์˜ ์ธ๋ผ์ธ ๋Œ“๊ธ€๊ณผ ๋ฆฌ๋ทฐ ๋ณธ๋ฌธ์˜ ์š”์•ฝ

93* **ํ™•์ธ ์‹คํ–‰**: ์ด๋ฆ„์€ **Claude Code Review**์ด๋ฉฐ, ๊ฒฐ๊ณผ๊ฐ€ [์„ธ๋ถ€ ์ •๋ณด](/docs/ko/code-review-pull-requests#check-run-output)์— ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. ํ™•์ธ ์‹คํ–‰์€ ์‹คํŒจ๋กœ ์ข…๋ฃŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

94* **์•„๋ฌด๊ฒƒ๋„ ์ฐพ์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ**: ํ™•์ธ ์‹คํ–‰์˜ ์ œ๋ชฉ์ด **Code review found no issues**๋กœ ํ‘œ์‹œ๋˜๋ฉฐ, Claude๊ฐ€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๊ฐ™์€ ๋‚ด์šฉ์˜ ์งง์€ ๋ฉ”๋ชจ๋ฅผ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค

341 95 

342 * `--fix`: ๊ฒ€ํ†  ํ›„ ๊ฒฐ๊ณผ๋ฅผ ์ž‘์—… ํŠธ๋ฆฌ์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค96Code Review๋Š” ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋  Claude ๋ชจ๋ธ์„ ์„ ํƒํ•˜๋ฉฐ, ๊ด€๋ฆฌ์ž ์„ค์ •์—์„œ๋Š” ๋ชจ๋ธ ์„ ํƒ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๋ฅผ ๋” ์ฒ ์ €ํ•˜๊ฒŒ ๋˜๋Š” ๋œ ์ฒ ์ €ํ•˜๊ฒŒ ํ•˜๋ ค๋ฉด [๋ฆฌ๋ทฐ ์ˆ˜์ค€](#review-levels)์„ ๋ณ€๊ฒฝํ•˜์‹ญ์‹œ์˜ค.

343 * `--comment`: GitHub ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ์ธ๋ผ์ธ ๋Œ“๊ธ€๋กœ ๊ฒฐ๊ณผ๋ฅผ ๊ฒŒ์‹œํ•˜๊ฑฐ๋‚˜, GitLab merge request์— ๋‹จ์ผ ๋…ธํŠธ๋กœ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค

344 * `--post`: `github.com` ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ `ultra` ํด๋ผ์šฐ๋“œ ๊ฒ€ํ† ์—์„œ ์‹œ์ž‘ ๋Œ€ํ™” ์ƒ์ž์— ์™„๋ฃŒ๋œ ๊ฒฐ๊ณผ๋ฅผ PR์— ๊ฒŒ์‹œํ•˜๋Š” ๊ฒƒ์„ ๋ฏธ๋ฆฌ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. [ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๊ฒฐ๊ณผ ๊ฒŒ์‹œ](/docs/ko/ultrareview#post-findings-to-the-pull-request)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. Claude Code v2.1.227 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค

345 * `--max-findings <n>`, `--max-findings all` ๋˜๋Š” `--max-findings default`: ๊ฒ€ํ† ์˜ ์ผ๋ฐ˜์ ์ธ ์ œํ•œ ๋Œ€์‹  ์ตœ๋Œ€ `n`๊ฐœ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ•˜๊ฑฐ๋‚˜, `all`์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ ๊ฒ€ํ† ๋Š” `--max-findings default`๋ฅผ ์ „๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ์ž…๋ ฅํ•œ ๊ฐ’์„ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Claude Code v2.1.288 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค

346 97 

347 GitLab merge request์— ๋Œ€ํ•ด `--comment`๋ฅผ ์ „๋‹ฌํ•˜๋ฉด, Claude Code๋Š” GitLab์˜ `glab` CLI๋ฅผ ํ†ตํ•ด ๊ฒฐ๊ณผ๋ฅผ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. Claude Code v2.1.257 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. `glab`์ด ์„ค์น˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, Claude๋Š” ๋Œ€์‹  ํ„ฐ๋ฏธ๋„์— ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.98Owner๊ฐ€ Code Review๋ฅผ ์ผœ๋ฉด ๊ฐ ์ €์žฅ์†Œ์—๋Š” [๋ฆฌ๋ทฐ ์‹คํ–‰ ์‹œ๊ธฐ](/docs/ko/code-review-setup#set-when-reviews-run)์— ๋Œ€ํ•œ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ์—ด๋ฆด ๋•Œ ํ•œ ๋ฒˆ, ๋ชจ๋“  ํ‘ธ์‹œ ํ›„, ๋˜๋Š” ์š”์ฒญ ์‹œ์—๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์„ค์ •์ด๋“  ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— `@claude review`๋ฅผ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•˜์—ฌ [๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘](/docs/ko/code-review-pull-requests#comment-commands)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

348 99 

349 merge request๋ฅผ URL ๋˜๋Š” `!123` ์ฐธ์กฐ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ์ฒดํฌ์•„์›ƒ์˜ origin์ด `gitlab.com`์— ์žˆ์„ ๋•Œ๋งŒ ์ˆซ์ž ๋˜๋Š” ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ merge request๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ์ž์ฒด ๊ด€๋ฆฌ GitLab ์ธ์Šคํ„ด์Šค์—์„œ๋Š” URL ๋˜๋Š” `!123` ํ˜•์‹์œผ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.100<h3 id="review-levels">

350 </Step>101 ๋ฆฌ๋ทฐ ์ˆ˜์ค€

351 

352 <Step title="๊ณ„์† ์ž‘์—…">

353 ๊ฒ€ํ† ๋Š” ์ž์ฒด ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋ฅผ ๊ฐ€์ง„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ [subagent](/docs/ko/sub-agents)๋กœ ์‹คํ–‰๋˜๋ฏ€๋กœ ๋Œ€ํ™”๋ฅผ ์ฑ„์šฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฒ€ํ† ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ๋Œ€ํ™”์— ๋„์ฐฉํ•ฉ๋‹ˆ๋‹ค.

354 </Step>

355 

356 <Step title="๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ์กฐ์น˜">

357 Claude์—๊ฒŒ ๊ฒ€ํ† ์—์„œ ๋ฐœ๊ฒฌํ•œ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. `--fix` ๋˜๋Š” `--comment`๋ฅผ ์ „๋‹ฌํ•œ ๊ฒฝ์šฐ, ๊ฒ€ํ† ๊ฐ€ ์ด๋ฏธ ๊ฒฐ๊ณผ๋ฅผ ์ ์šฉํ•˜๊ฑฐ๋‚˜ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

358 </Step>

359</Steps>

360 

361Claude๋Š” ํ˜ธ์ŠคํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์•„๋ž˜์— ์„ค๋ช…๋œ ๊ฒฐ๊ณผ ๋ชฉ๋ก์„ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ๋‘ ๊ฐ€์ง€ ์‹คํ–‰ ๋ชจ๋‘์—์„œ ํšŒ์‹ ์˜ ํ…์ŠคํŠธ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค:

362 

363* ํ„ฐ๋ฏธ๋„ ์„ธ์…˜์—์„œ, `/code-review`๋Š” [forked subagent](/docs/ko/skills#run-skills-in-a-subagent)๋กœ ๊ฒ€ํ† ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค

364* ํ…์ŠคํŠธ ๋˜๋Š” JSON ์ถœ๋ ฅ์ด ์žˆ๋Š” `-p` ์‹คํ–‰์—์„œ

365 

366๊ฒฐ๊ณผ ๋ชฉ๋ก์„ ์š”์ฒญํ•˜๋Š” ํ˜ธ์ŠคํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(์˜ˆ: [๋ฐ์Šคํฌํ†ฑ ์•ฑ](/docs/ko/desktop#review-your-code))์—์„œ๋Š”, Claude๊ฐ€ ๋Œ€์‹  [`ReportFindings` ๋„๊ตฌ](/docs/ko/tools-reference)๋ฅผ ํ†ตํ•ด ๊ฒ€ํ† ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ๋ณด๊ณ ์„œ๋ฅผ ๊ฒฐ๊ณผ ๋ชฉ๋ก์œผ๋กœ ๋ Œ๋”๋งํ•˜๋ฉฐ, ๊ฐ ํ•ญ๋ชฉ์€ ํŒŒ์ผ ์œ„์น˜, ํ•œ ๋ฌธ์žฅ ์š”์•ฝ ๋ฐ ๊ฒฐ๊ณผ์— ์นดํ…Œ๊ณ ๋ฆฌ ํƒœ๊ทธ๊ฐ€ ์žˆ์„ ๋•Œ `correctness`์™€ ๊ฐ™์€ ์นดํ…Œ๊ณ ๋ฆฌ ํƒœ๊ทธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ์š”์ฒญ์€ ๋ชจ๋“  effort ์ˆ˜์ค€์—์„œ ์ ์šฉ๋˜๋ฉฐ Claude Code v2.1.218 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

367 

368Claude๊ฐ€ ๋‚˜์ค‘์— ์„ธ์…˜์—์„œ ๋ณด๊ณ ๋œ ๊ฒฐ๊ณผ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ, ๋‹ค์‹œ ๋ณด๊ณ ํ•˜๋ฉฐ, Claude Code๋Š” ์—…๋ฐ์ดํŠธ๋œ ๊ฒฐ๊ณผ ๋ชฉ๋ก์˜ ๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ˆ˜์ •๋จ, ๊ฑด๋„ˆ๋œ€ ๋˜๋Š” ๋ณ€๊ฒฝ ํ•„์š” ์—†์Œ์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

369 

370<h3 id="what-the-review-reads-and-edits">

371 ๊ฒ€ํ† ๊ฐ€ ์ฝ๊ณ  ํŽธ์ง‘ํ•˜๋Š” ๋‚ด์šฉ

372</h3>102</h3>

373 103 

374๊ฒ€ํ† ๋Š” ๋ชจ๋“  Claude Code ์„ธ์…˜์ฒ˜๋Ÿผ `CLAUDE.md`๋ฅผ ๋”ฐ๋ฅด์ง€๋งŒ, [`REVIEW.md`](#review-md)๋Š” ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๊ฒ€ํ† ๋Š” `--fix` ํŽธ์ง‘์„ ์„ธ์…˜์˜ [checkpoints](/docs/ko/checkpointing#subagent-edits-not-restored) ์™ธ๋ถ€์— ์ ์šฉํ•˜๋ฏ€๋กœ, `/rewind`๋Š” ์ด๋ฅผ ์ทจ์†Œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. git์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. ๊ฒ€ํ† ๊ฐ€ [ํฌ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰](#run-in-the-foreground)๋  ๋•Œ, ์ž์‹ ์˜ ์ฐจ๋ก€ ๋™์•ˆ ์ž‘์—… ํŠธ๋ฆฌ๋ฅผ ํŽธ์ง‘ํ•˜๋ฏ€๋กœ, `/rewind`๋Š” ํ‰์†Œ๋Œ€๋กœ ํŽธ์ง‘์„ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.104๋ฆฌ๋ทฐ ์ˆ˜์ค€์€ ๊ฐ ๋ฆฌ๋ทฐ์˜ ์ฒ ์ €ํ•จ์„ ์„ค์ •ํ•˜๋ฉฐ, ๋” ์ฒ ์ €ํ•œ ๋ฆฌ๋ทฐ์ผ์ˆ˜๋ก ๋น„์šฉ์ด ๋” ๋งŽ์ด ๋“ญ๋‹ˆ๋‹ค:

375 105 

376<h3 id="tune-effort-and-arguments">106* **Quick**: ๋” ๊ฐ€๋ฒผ์šด ๊ฒ€ํ† ์ž…๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋น ๋ฅธ ์ˆ˜์ค€์ด๋ฉฐ ๋น„์šฉ์ด ๊ฐ€์žฅ ๋‚ฎ์Šต๋‹ˆ๋‹ค.

377 ๋…ธ๋ ฅ ๋ฐ ์ธ์ˆ˜ ์กฐ์ •107* **Standard**: ๊นŠ์ด, ์†๋„, ๋น„์šฉ์˜ ๊ท ํ˜•์„ ๋งž์ถฅ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค.

378</h3>108* **Deep**: ๊ฐ€์žฅ ์ฒ ์ €ํ•œ ๊ฒ€ํ† ์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ  ๋น„์šฉ์ด ๊ฐ€์žฅ ๋งŽ์ด ๋“ญ๋‹ˆ๋‹ค.

379 109 

380[effort ์ˆ˜์ค€](/docs/ko/model-config#adjust-effort-level)์„ ์ „๋‹ฌํ•˜์—ฌ ๋ฒ”์œ„์™€ ์‹ ๋ขฐ๋„๋ฅผ ๊ตํ™˜ํ•ฉ๋‹ˆ๋‹ค. `low`์—์„œ ๊ฒ€ํ† ๋Š” ๊ฐ€์žฅ ํ™•์‹ ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ•˜๋ฏ€๋กœ ๊ฑฐ์ง“ ์–‘์„ฑ์ด ์ ์Šต๋‹ˆ๋‹ค. `medium`๋ถ€ํ„ฐ `max`๊นŒ์ง€๋Š” ๊ฒ€ํ† ๊ฐ€ ๋ฒ”์œ„๋ฅผ ํ™•๋Œ€ํ•ฉ๋‹ˆ๋‹ค.110Owner๋Š” [์กฐ์ง์— ๋Œ€ํ•ด ํ•˜๋‚˜์˜ ์ˆ˜์ค€์„ ์„ ํƒ](/docs/ko/code-review-setup#set-the-default-review-level)ํ•˜๊ณ , ์ผ์ƒ์ ์ธ ์ฝ”๋“œ๋ฒ ์ด์Šค์—๋Š” Quick, ์ค‘์š”ํ•œ ์ฝ”๋“œ๋ฒ ์ด์Šค์—๋Š” Deep์ฒ˜๋Ÿผ ๊ฐœ๋ณ„ ์ €์žฅ์†Œ์— ๋ณ„๋„์˜ ์ˆ˜์ค€์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ฆฌ๋ทฐ์˜ ๋น„์šฉ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋‹ค๋ฅธ ์š”์ธ์€ [Code Review ๋น„์šฉ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰](/docs/ko/code-review-costs)์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

381 111 

382์ˆ˜์ค€์„ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด, ๊ฒ€ํ† ๋Š” ์ด์ „ ์„ธ์…˜์—์„œ๋„ ์ž…๋ ฅํ•œ `low`๋ถ€ํ„ฐ `max`๊นŒ์ง€์˜ ๋งˆ์ง€๋ง‰ ์ˆ˜์ค€์„ ์žฌ์‚ฌ์šฉํ•˜๋ฉฐ, Claude Code๋Š” `Reusing high effort, the level you typed last time`๊ณผ ๊ฐ™์€ ์•Œ๋ฆผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. `/code-review high`์™€ ๊ฐ™์€ ์ˆ˜์ค€์„ ์ž…๋ ฅํ•˜์—ฌ ๋‚˜์ค‘์— ์‹คํ–‰์ด ์žฌ์‚ฌ์šฉํ•  ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ๋น„๋Œ€ํ™”ํ˜• `-p` ์‹คํ–‰์—์„œ ์ „๋‹ฌํ•˜๋Š” ์ˆ˜์ค€์€ ์ด๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. `ultra`๋Š” ๊ธฐ์–ต๋œ ์ˆ˜์ค€์„ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ˆ˜์ค€์„ ์ž…๋ ฅํ•œ ์ ์ด ์—†์œผ๋ฉด, ๊ฒ€ํ† ๋Š” ์„ธ์…˜์˜ ํ˜„์žฌ ๋…ธ๋ ฅ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. v2.1.223 ์ด์ „์—๋Š” ์ˆ˜์ค€ ์—†๋Š” `/code-review`๋Š” ํ•ญ์ƒ ์„ธ์…˜์˜ ํ˜„์žฌ ๋…ธ๋ ฅ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.112<h3 id="what-a-review-can-access">

383 113 ๋ฆฌ๋ทฐ๊ฐ€ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ

384๋…ธ๋ ฅ ์ˆ˜์ค€๊ณผ ํ”Œ๋ž˜๊ทธ ํ›„, Claude Code๋Š” ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ ์ค„์˜ ๋‚˜๋จธ์ง€๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค:

385 

386* **`ultra` ์—†์Œ**: ๋‚จ์€ ๋ชจ๋“  ๊ฒƒ์ด ๊ฒ€ํ†  ๋Œ€์ƒ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ช…๋ น ์ด๋ฆ„์œผ๋กœ ์‹œ์ž‘ํ•˜๋”๋ผ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. `/code-review /fix-issue 123`์€ `/fix-issue 123`์„ ๋Œ€์ƒ ํ…์ŠคํŠธ๋กœ ๊ฒ€ํ† ํ•˜๋ฉฐ, ๋‘ ๋ฒˆ์งธ [stacked skill](/docs/ko/skills#pass-arguments-to-skills)๋กœ `/fix-issue`๋ฅผ ๋กœ๋“œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. v2.1.218 ์ด์ „์—๋Š” `/code-review` ํ›„์— ์Šคํƒ๋œ ๋ช…๋ น์ด ์ž์ฒด ์Šคํ‚ฌ๋กœ ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

387* **`ultra` ํฌํ•จ**: Claude Code๋Š” ๋‹จ์ผ ๋‹จ์–ด๋ฅผ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜ ๋˜๋Š” PR ๋ฒˆํ˜ธ๋กœ ์ฝ๊ณ , ๋ธŒ๋žœ์น˜ ๋˜๋Š” PR์„ ๋ช…๋ช…ํ•˜์ง€ ์•Š๋Š” ๋” ๊ธด ํ…์ŠคํŠธ๋ฅผ [๊ฒ€ํ† ์— ์ฒจ๋ถ€๋œ ๋…ธํŠธ](/docs/ko/ultrareview#pass-a-request-in-plain-words)๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. `/code-review ultra check my auth changes`๋Š” ํ˜„์žฌ ๋ธŒ๋žœ์น˜๋ฅผ ๊ฒ€ํ† ํ•˜๋ฉฐ, Claude๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋…ธํŠธ์™€ ์—ฐ๊ด€์‹œํ‚ต๋‹ˆ๋‹ค.

388 

389<h3 id="run-in-the-foreground">

390 ํฌ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰

391</h3>114</h3>

392 115 

393๊ฒ€ํ† ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. v2.1.218 ์ด์ „์—๋Š” ๋Œ€ํ™” ๋‚ด์—์„œ ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ํฌ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค:116๋ฆฌ๋ทฐ๋Š” Owner๊ฐ€ [์„ค์ • ์ค‘์— ์„ค์น˜](/docs/ko/code-review-setup#turn-on-code-review)ํ•œ Claude GitHub App์„ ํ†ตํ•ด ์ €์žฅ์†Œ์— ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค:

394 117 

395* ์ด์ „ ๊ฒ€ํ† ๊ฐ€ ์•„์ง ์ง„ํ–‰ ์ค‘์ธ ๋™์•ˆ `/code-review`๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค118* **์‹คํ–‰ ์œ„์น˜**: Anthropic ์ธํ”„๋ผ์˜ ๊ด€๋ฆฌํ˜• ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๋Š” [์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ](/docs/ko/self-hosted-environments)์—์„œ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

396* ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. `-p` ํ”Œ๋ž˜๊ทธ ๋˜๋Š” Agent SDK๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ๊ฒ€ํ† ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์‘๋‹ต์— ๊ฒฐ๊ณผ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, `ultra`๋Š” ์˜ˆ์™ธ๋กœ, [ํด๋ผ์šฐ๋“œ ๊ฒ€ํ† ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค](/docs/ko/ultrareview#run-ultrareview-non-interactively)119* **์ฝ๊ณ  ์“ฐ๋Š” ํ•ญ๋ชฉ**: ๋ฆฌ๋ทฐ ๋‚ด์—์„œ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋Š” ์ฝ๊ธฐ ์ „์šฉ์ด๋ฉฐ, ๋ฆฌ๋ทฐ๋Š” ์ปค๋ฐ‹์„ ํ‘ธ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ๋Š” ๋Œ“๊ธ€๊ณผ [ํ™•์ธ ์‹คํ–‰](/docs/ko/code-review-pull-requests#check-run-output)์„ ๊ฒŒ์‹œํ•˜๊ณ , ์ž์‹ ์˜ ์ด์ „ ๋Œ“๊ธ€ ์Šค๋ ˆ๋“œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉฐ, ๋Œ“๊ธ€ ๋ช…๋ น์— ๐Ÿ‘€๋กœ ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฑ ์ž์ฒด๋Š” ๋‹ค๋ฅธ Claude ๊ธฐ๋Šฅ๊ณผ ๊ณต์œ ํ•˜๋Š” [๋” ๊ด‘๋ฒ”์œ„ํ•œ ๊ถŒํ•œ ์ง‘ํ•ฉ](/docs/ko/github-actions#github-app-permissions)์„ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค.

397* [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/ko/env-vars)๋ฅผ `1`๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—… ๊ธฐ๋Šฅ๋„ ๋•๋‹ˆ๋‹ค120* **์ฝ”๋“œ ๊ฒ€์‚ฌ ๋ฐฉ์‹**: ๋ฆฌ๋ทฐ๋Š” ์ฝ”๋“œ๋ฅผ ๋นŒ๋“œํ•˜๊ฑฐ๋‚˜ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  diff์™€ ์ฃผ๋ณ€ ์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

398 121 

399<h3 id="let-claude-start-the-review">122<h3 id="who-controls-a-review">

400 Claude๊ฐ€ ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•˜๋„๋ก ํ—ˆ์šฉ123 ๋ฆฌ๋ทฐ๋ฅผ ์ œ์–ดํ•˜๋Š” ์ฃผ์ฒด

401</h3>124</h3>

402 125 

403Claude๋Š” ์ž์ฒด์ ์œผ๋กœ `/code-review`๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ์–ธ์–ด๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜๋„๋ก ์š”์ฒญํ•˜๋ฉด ๋ช…๋ น์„ ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ ๋„ ์Šคํ‚ฌ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, `/code-review`๋ฅผ ํ”„๋กฌํ”„ํŠธ๋กœ ํ•˜๋Š” [scheduled task](/docs/ko/scheduled-tasks)๋Š” ๊ฒ€ํ† ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.126* **์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ**: ๋ฆฌ๋ทฐ๊ฐ€ ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์—ด๊ฑฐ๋‚˜ ํ‘ธ์‹œํ•˜๋ฉด ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๋‹จ, [์ดˆ์•ˆ๊ณผ ํฌํฌ๋Š” ์˜ˆ์™ธ](/docs/ko/code-review-pull-requests#review-drafts-and-pull-requests-from-forks)์ž…๋‹ˆ๋‹ค. [๋Œ“๊ธ€ ๋ช…๋ น](/docs/ko/code-review-pull-requests#comment-commands)์€ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์ž‘์„ฑํ•œ ๊ฒฝ์šฐ์—๋งŒ ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

404 127* **๋”ฐ๋ฅด๋Š” ์ง€์นจ**: base ๋˜๋Š” ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์˜ `REVIEW.md`๋ฅผ ๋”ฐ๋ฅด๋ฉฐ, [ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ์ž์ฒด์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์—์„œ๋Š” ์ ˆ๋Œ€ ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค](/docs/ko/code-review-customize#which-branch-review-md-is-read-from).

405์˜ˆ์•ฝ๋œ ์ž‘์—…์€ [ํด๋ผ์šฐ๋“œ ๊ฒ€ํ† ](#escalate-to-ultrareview)๋ฅผ ์‹œ์ž‘ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, `ultra` ์ธ์ˆ˜ ์—†์ด `/code-review`๋ฅผ ์˜ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

406 128 

407Claude์™€ ์˜ˆ์•ฝ๋œ ์ž‘์—…์ด ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์„ ์ค‘์ง€ํ•˜๋ฉด์„œ `/code-review`๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์œ ์ง€ํ•˜๋ ค๋ฉด, `~/.claude/settings.json`๊ณผ ๊ฐ™์€ [settings file](/docs/ko/settings#where-settings-live)์— [`skillOverrides`](/docs/ko/skills#override-skill-visibility-from-settings) ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค:129<h2 id="compare-ways-to-get-a-review">

408 130 ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›๋Š” ๋ฐฉ๋ฒ• ๋น„๊ต

409```json theme={null}131</h2>

410{

411 "skillOverrides": {

412 "code-review": "user-invocable-only"

413 }

414}

415```

416 

417v2.1.246 ์ด์ „์—๋Š” Claude๊ฐ€ Anthropic์—์„œ ๊ฐ€์ ธ์˜จ ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ผœ์ง„ ๊ฒฝ์šฐ์—๋งŒ ์ž์ฒด์ ์œผ๋กœ `/code-review`๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. [๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š๋Š” ์„ธ์…˜](/docs/ko/env-vars#features-that-need-feature-flag-fetching)์—์„œ๋Š” `/code-review`๊ฐ€ ์ž…๋ ฅํ•  ๋•Œ๋งŒ ์‹คํ–‰๋˜์—ˆ์œผ๋ฉฐ, ์˜ˆ์•ฝ๋œ `/code-review`๋Š” Claude์— ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

418 

419<h3 id="escalate-to-ultrareview">

420 ultrareview๋กœ ํ™•๋Œ€

421</h3>

422 

423`/code-review ultra --fix`๋Š” ํด๋ผ์šฐ๋“œ์—์„œ ๋” ๊นŠ์€ [ultrareview](/docs/ko/ultrareview)๋ฅผ ์‹คํ–‰ํ•œ ๋‹ค์Œ, ์„ธ์…˜์œผ๋กœ ๋Œ์•„์˜ฌ ๋•Œ ๊ฒฐ๊ณผ๋ฅผ ์ž‘์—… ํŠธ๋ฆฌ์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

424 

425Ultrareview๋Š” ์ž์ฒด ๋ฒ”์œ„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค: ํ˜„์žฌ ๋ธŒ๋žœ์น˜์™€ ์ €์žฅ์†Œ์˜ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜, ๊ทธ๋ฆฌ๊ณ  ์ž‘์—… ํŠธ๋ฆฌ์˜ ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ฐ ์Šคํ…Œ์ด์ง•๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์ž๊ฒฉ ์ฆ๋ช… ๋˜๋Š” ํ‚ค์ฒ˜๋Ÿผ ๋ช…๋ช…๋œ ํŒŒ์ผ์˜ ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ(์˜ˆ: `.env` ๋ฐ `*.tfvars` ํŒŒ์ผ)์˜ ๊ฒฝ์šฐ, Claude Code๋Š” [ํด๋ผ์šฐ๋“œ ์„ธ์…˜์— ๋กœ์ปฌ ์ €์žฅ์†Œ ์—…๋กœ๋“œ](/docs/ko/claude-code-on-the-web#send-local-repositories-without-github)์— ๋Œ€ํ•œ ๊ทœ์น™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ธฐ๋ณธ๊ณผ ๋น„๊ตํ•˜๋ ค๋ฉด `/code-review ultra develop`๊ณผ ๊ฐ™์€ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

426 

427๋Œ€์ƒ์ด `github.com` pull request์ธ ๊ฒฝ์šฐ, Claude๊ฐ€ [์™„๋ฃŒ๋œ ๊ฒฐ๊ณผ๋ฅผ PR์— ๊ฒŒ์‹œ](/docs/ko/ultrareview#post-findings-to-the-pull-request)ํ•˜๋„๋ก GitHub ๊ณ„์ •์˜ ๋Œ“๊ธ€๋กœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Claude Code v2.1.227 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

428 

429<Note>

430 Ultrareview๋Š” claude.ai ๊ณ„์ •์œผ๋กœ ์ธ์ฆ์ด ํ•„์š”ํ•˜๋ฉฐ Amazon Bedrock, Google Cloud์˜ Agent Platform, Microsoft Foundry์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, Zero Data Retention์ด ํ™œ์„ฑํ™”๋˜์—ˆ๊ฑฐ๋‚˜ [HIPAA ๊ตฌ์„ฑ](/docs/ko/hipaa-setup)์ด ์ ์šฉ๋œ ์กฐ์ง์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ultrareview๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉด, `/code-review ultra`๋Š” ๋Œ€์‹  ์„ธ์…˜์—์„œ ๋กœ์ปฌ ๊ฒ€ํ† ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

431</Note>

432 132 

433์Šคํฌ๋ฆฝํŠธ ๋˜๋Š” CI ์ž‘์—…์—์„œ ํด๋ผ์šฐ๋“œ ๊ฒ€ํ† ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด [`claude ultrareview` ํ•˜์œ„ ๋ช…๋ น](/docs/ko/ultrareview#run-ultrareview-non-interactively)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋‹ค๋ฆฐ ํ›„ stdout์— ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.133์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์˜ต์…˜์„ ์ฐพ์œผ๋ ค๋ฉด **์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋Œ€์ƒ** ์—ด์„ ํ”Œ๋žœ ๋ฐ ์ฝ”๋“œ ํ˜ธ์ŠคํŠธ์™€ ๋น„๊ตํ•˜์—ฌ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค:

434 134 

435์ด ๋ช…๋ น์€ v2.1.147 ์ด์ „์— `/simplify`๋กœ ๋ช…๋ช…๋˜์—ˆ์œผ๋ฉฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. `/simplify`๋Š” ๋ฒ„๊ทธ๋ฅผ ์ฐพ์ง€ ์•Š๊ณ  ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋Š” ๋ณ„๋„์˜ ์ •๋ฆฌ ์ „์šฉ ๊ฒ€ํ† ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„๊ทธ ์ฐพ๊ธฐ๋ฅผ ์œ„ํ•ด `/simplify`๋ฅผ ์Šคํฌ๋ฆฝํŠธํ–ˆ๋‹ค๋ฉด, `/code-review --fix`๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.135| ์˜ต์…˜ | ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ• | ์‹คํ–‰ ์œ„์น˜ | ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋Œ€์ƒ |

136| :- | :- | :- | :- |

137| [Code Review](#how-reviews-work) | ๊ฐ ์ €์žฅ์†Œ ์„ค์ •์— ๋”ฐ๋ฅธ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ํ™œ๋™ ๋˜๋Š” `@claude review` ๋Œ“๊ธ€ | Anthropic ์ธํ”„๋ผ | Owner๊ฐ€ ์ผ  ํ›„, GitHub ์ €์žฅ์†Œ๋ฅผ ๋ณด์œ ํ•œ Team ๋˜๋Š” Enterprise ํ”Œ๋žœ์˜ ์กฐ์ง |

138| [`/code-review`](/docs/ko/code-review-local) | ๋ธŒ๋žœ์น˜์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ | Claude Code ์„ธ์…˜ | ๋ชจ๋“  ํ”Œ๋žœ์˜ ๋ชจ๋“  ์‚ฌ์šฉ์ž |

139| [Ultrareview](/docs/ko/ultrareview) | Claude Code์—์„œ ์‹œ์ž‘ | ํด๋ผ์šฐ๋“œ ์ƒŒ๋“œ๋ฐ•์Šค | claude.ai ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ํ™˜๊ฒฝ์€ [Ultrareview](/docs/ko/ultrareview)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค |

140| [GitHub Actions](/docs/ko/github-actions) ๋˜๋Š” [GitLab CI/CD](/docs/ko/gitlab-ci-cd)๋ฅผ ์‚ฌ์šฉํ•œ ์ž์ฒด CI์˜ Claude | ๋ชจ๋“  ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๋˜๋Š” merge request์™€ ๊ฐ™์€ ํŒŒ์ดํ”„๋ผ์ธ ์ด๋ฒคํŠธ | ์ž์ฒด CI ๋Ÿฌ๋„ˆ | GitHub ๋˜๋Š” GitLab์—์„œ Claude API ํ‚ค ๋˜๋Š” ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด ์ž๊ฒฉ ์ฆ๋ช…์ด ์žˆ๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž |

141| [์„œ๋ธŒ์—์ด์ „ํŠธ](/docs/ko/sub-agents) ๋˜๋Š” [์Šคํ‚ฌ](/docs/ko/skills)๋กœ ๋งŒ๋“  ์ž์ฒด ๋ฆฌ๋ทฐ์–ด | ์„ธ์…˜ ์ค‘์— ์‚ฌ์šฉ์ž ๋˜๋Š” Claude๊ฐ€ ํ˜ธ์ถœ | Claude Code๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ชจ๋“  ์œ„์น˜ | ์ง์ ‘ ์ž‘์„ฑํ•˜๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž |

436 142 

437<h2 id="related-resources">143<h2 id="related-resources">

438 ๊ด€๋ จ ๋ฆฌ์†Œ์Šค144 ๊ด€๋ จ ๋ฆฌ์†Œ์Šค

439</h2>145</h2>

440 146 

441* [Commands](/docs/ko/commands): ๋กœ์ปฌ Claude Code ์„ธ์…˜์—์„œ `/code-review`๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ‘ธ์‹œ ์ „์— diff๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค147* [GitHub Enterprise Server](/docs/ko/github-enterprise-server): ์ž์ฒด ํ˜ธ์ŠคํŒ… GitHub ์ธ์Šคํ„ด์Šค์—์„œ Code Review๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค

442* [GitHub Actions](/docs/ko/github-actions): ์ฝ”๋“œ ๊ฒ€ํ†  ์ด์ƒ์˜ ์‚ฌ์šฉ์ž ์ •์˜ ์ž๋™ํ™”๋ฅผ ์œ„ํ•ด ์ž์‹ ์˜ GitHub Actions ์›Œํฌํ”Œ๋กœ์šฐ์—์„œ Claude๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค148* [GitHub App ๊ถŒํ•œ](/docs/ko/github-actions#github-app-permissions): Claude GitHub App์ด ์š”์ฒญํ•˜๋Š” ์ „์ฒด ๊ถŒํ•œ ์ง‘ํ•ฉ

443* [GitLab CI/CD](/docs/ko/gitlab-ci-cd): GitLab ํŒŒ์ดํ”„๋ผ์ธ์„ ์œ„ํ•œ ์ž์ฒด ํ˜ธ์ŠคํŒ… Claude ํ†ตํ•ฉ149* [How Anthropic secures its AI-native software development lifecycle](https://claude.com/blog/how-anthropic-secures-its-ai-native-software-development-lifecycle): ์ž๋™ํ™”๋œ ๋ฆฌ๋ทฐ๊ฐ€ Anthropic์˜ ์•ˆ์ „ํ•œ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์˜ ํ•œ ๊ณ„์ธต์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ ํ•ฉํ•œ์ง€์— ๋Œ€ํ•œ ์„ค๋ช…

444* [Memory](/docs/ko/memory): Claude Code ์ „์ฒด์—์„œ `CLAUDE.md` ํŒŒ์ผ์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹

445* [Analytics](/docs/ko/analytics): ์ฝ”๋“œ ๊ฒ€ํ†  ์ด์ƒ์œผ๋กœ Claude Code ์‚ฌ์šฉ๋Ÿ‰์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค

446* [How Anthropic secures its AI-native software development lifecycle](https://claude.com/blog/how-anthropic-secures-its-ai-native-software-development-lifecycle): ์ž๋™ํ™”๋œ ๊ฒ€ํ† ๊ฐ€ Anthropic์˜ ์•ˆ์ „ํ•œ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์˜ ํ•œ ๊ณ„์ธต์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ ํ•ฉํ•œ์ง€์— ๋Œ€ํ•œ ์„ค๋ช…

code-review-costs.md +88 โˆ’0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Code Review ๋น„์šฉ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰

6 

7> ์กฐ์ง์ด Claude Code Review์— ์ง€์ถœํ•˜๋Š” ๋น„์šฉ์„ ์ถ”์ •ํ•˜๊ณ  ์ƒํ•œ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๊ฐ€ ์‚ฌ์šฉ๋Ÿ‰ ํฌ๋ ˆ๋”ง์„ ํ†ตํ•ด ์ฒญ๊ตฌ๋˜๋Š” ๋ฐฉ์‹, ๋น„์šฉ์„ ์ขŒ์šฐํ•˜๋Š” ์š”์ธ, ์‚ฌ์šฉ๋Ÿ‰์„ ์ถ”์ ํ•˜๋Š” ์œ„์น˜๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

8 

9[Code Review](/docs/ko/code-review)์—๋Š” ๋ฆฌ๋ทฐ๋‹น ๊ณ ์ • ๊ฐ€๊ฒฉ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ง€์ถœ ๊ธˆ์•ก์€ ๊ฐ ๋ฆฌ๋ทฐ์˜ ๋น„์šฉ๊ณผ ์‹คํ–‰๋˜๋Š” ๋ฆฌ๋ทฐ ์ˆ˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

10 

11* **๊ฐ ๋ฆฌ๋ทฐ์˜ ๋น„์šฉ**: [๋ฆฌ๋ทฐ ์ˆ˜์ค€](/docs/ko/code-review-setup#set-the-default-review-level), ๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ํฌ๊ธฐ, ์ฃผ๋ณ€ ์ฝ”๋“œ์˜ ๋ณต์žก๋„, ๊ฒ€์ฆ์ด ํ•„์š”ํ•œ ํ›„๋ณด ์ด์Šˆ์˜ ์ˆ˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค

12* **๋ฆฌ๋ทฐ ์ˆ˜**: ๊ฐ ์ €์žฅ์†Œ์—์„œ [๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋นˆ๋„](#how-often-reviews-run)์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค

13 

14<h2 id="pricing">

15 ๊ฐ€๊ฒฉ

16</h2>

17 

18Code Review๋Š” ํ”Œ๋žœ์— ํฌํ•จ๋œ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ๋ณ„๋„๋กœ [์‚ฌ์šฉ๋Ÿ‰ ํฌ๋ ˆ๋”ง](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)์„ ํ†ตํ•ด ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ๊ธฐ์ค€์œผ๋กœ ์ฒญ๊ตฌ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ ๋น„์šฉ์€ PR์„ ์—ฐ ๊ฐœ๋ฐœ์ž๋‚˜ ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ์กฐ์ง์— ์ฒญ๊ตฌ๋ฉ๋‹ˆ๋‹ค. ์กฐ์ง์ด ๋‹ค๋ฅธ Claude Code ๊ธฐ๋Šฅ์— Amazon Bedrock, Google Cloud์˜ Agent Platform ๋˜๋Š” Microsoft Foundry๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€์™€ ๊ด€๊ณ„์—†์ด ๋น„์šฉ์€ Anthropic ์ฒญ๊ตฌ์„œ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

19 

20<h3 id="how-often-reviews-run">

21 ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋นˆ๋„

22</h3>

23 

24๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์—์„œ ์ถ”๊ฐ€ํ•œ ์ €์žฅ์†Œ๋Š” **After every push**๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ, ์ด ์„ค์ •์—์„œ ๊ฐ€์žฅ ๋งŽ์€ ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์ €์žฅ์†Œ์˜ [**Review runs** ์„ค์ •](/docs/ko/code-review-setup#set-when-reviews-run)์— ๋”ฐ๋ผ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ๋ฐ›๋Š” ๋ฆฌ๋ทฐ ์ˆ˜๊ฐ€ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

25 

26* **Once after PR creation**: ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ์—ด๋ฆฌ๊ฑฐ๋‚˜, ๋‹ค์‹œ ์—ด๋ฆฌ๊ฑฐ๋‚˜, ๋ฆฌ๋ทฐ ์ค€๋น„ ์™„๋ฃŒ๋กœ ํ‘œ์‹œ๋  ๋•Œ ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค

27* **After every push**: ํ‘ธ์‹œํ•  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋˜๋ฏ€๋กœ ๋น„์šฉ์ด ํ‘ธ์‹œ ํšŸ์ˆ˜๋งŒํผ ๋ฐฐ๊ฐ€๋ฉ๋‹ˆ๋‹ค

28* **Manual (@claude review)**: ์—ด๊ธฐ๋‚˜ ํ‘ธ์‹œ ์‹œ ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

29 

30์ฝ”๋ฉ˜ํŠธ ๋ช…๋ น, ์ดˆ์•ˆ, ํฌํฌ์—์„œ ์˜จ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋Š” ์ด ํšŸ์ˆ˜๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

31 

32* **Once after PR creation ๋˜๋Š” Manual ๋ชจ๋“œ์—์„œ `@claude review always`**: [ํ•ด๋‹น PR์„ ํ‘ธ์‹œ๋กœ ํŠธ๋ฆฌ๊ฑฐ๋˜๋Š” ๋ฆฌ๋ทฐ์— ๋“ฑ๋ก](/docs/ko/code-review-pull-requests#comment-commands)ํ•˜๋ฏ€๋กœ, ํ•ด๋‹น ์ฝ”๋ฉ˜ํŠธ ์ดํ›„ ํ‘ธ์‹œํ•  ๋•Œ๋งˆ๋‹ค ์ถ”๊ฐ€ ๋น„์šฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค

33* **After every push ๋ชจ๋“œ์—์„œ `@claude review always`**: ํ‘ธ์‹œ๊ฐ€ ์ด๋ฏธ ๋ฆฌ๋ทฐ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋ฏ€๋กœ ๊ตฌ๋…ํ•ด๋„ ํ‘ธ์‹œ๋‹น ๋น„์šฉ์€ ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

34* **`@claude review`**: ์ดํ›„ ํ‘ธ์‹œ๋ฅผ ๊ตฌ๋…ํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ผ ๋ฆฌ๋ทฐ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค

35* **์ดˆ์•ˆ ๋ฐ ํฌํฌ์—์„œ ์˜จ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ**: [์ž๋™ ๋ฆฌ๋ทฐ๊ฐ€ ๋‘˜ ๋‹ค ๊ฑด๋„ˆ๋›ฐ๋ฏ€๋กœ](/docs/ko/code-review-pull-requests#review-drafts-and-pull-requests-from-forks) ์ด์— ๋Œ€ํ•œ ํ‘ธ์‹œ๋Š” ๋ฆฌ๋ทฐ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

36 

37<h2 id="estimate-your-spend">

38 ์ง€์ถœ ์ถ”์ •

39</h2>

40 

41๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ๋„์ž…ํ•˜๊ธฐ ์ „์— ์†Œ๊ทœ๋ชจ ํŒŒ์ผ๋Ÿฟ์„ ์‹คํ–‰ํ•˜์—ฌ ์ž์ฒด ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์›”๊ฐ„ ์ง€์ถœ์„ ์ถ”์ •ํ•ฉ๋‹ˆ๋‹ค.

42 

431. ํŒŒ์ผ๋Ÿฟ์„ ์œ„ํ•œ [์›”๊ฐ„ ์ง€์ถœ ํ•œ๋„](#limit-your-spend)๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

442. ๋ช‡ ๊ฐœ์˜ ๋Œ€ํ‘œ ์ €์žฅ์†Œ์—์„œ **Review runs**๋ฅผ **Once after PR creation** ๋˜๋Š” \*\*Manual (@claude review)\*\*๋กœ ์„ค์ •ํ•˜๊ณ  Code Review๋ฅผ ์ผญ๋‹ˆ๋‹ค.

453. ์—ฌ๋Ÿฌ ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋œ ํ›„, [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review)์˜ **Code review** ์„น์…˜์— ์žˆ๋Š” **Repositories** ํ‘œ์˜ **Average cost** ์—ด์—์„œ ๊ฐ ์ €์žฅ์†Œ์˜ ๋ฆฌ๋ทฐ๋‹น ํ‰๊ท  ๋น„์šฉ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

464. ๊ทธ ํ‰๊ท ์— ํ•ด๋‹น ์ €์žฅ์†Œ์—์„œ ํ•œ ๋‹ฌ ๋™์•ˆ ์—ด๋ฆฌ๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ์ˆ˜๋ฅผ ๊ณฑํ•ฉ๋‹ˆ๋‹ค. **After every push**์˜ ๊ฒฝ์šฐ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋‹น ์ผ๋ฐ˜์ ์ธ ํ‘ธ์‹œ ํšŸ์ˆ˜๋ฅผ ํ•œ ๋ฒˆ ๋” ๊ณฑํ•ฉ๋‹ˆ๋‹ค.

47 

48์ €์žฅ์†Œ์˜ ํ‰๊ท ์€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ํฌ๊ธฐ์™€ ์„ ํƒํ•œ ๋ฆฌ๋ทฐ ์ˆ˜์ค€์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

49 

50<h2 id="limit-your-spend">

51 ์ง€์ถœ ์ œํ•œ

52</h2>

53 

54Code Review์˜ ์›”๊ฐ„ ์ง€์ถœ ํ•œ๋„๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage)๋กœ ์ด๋™ํ•˜์—ฌ Claude Code Review ์„œ๋น„์Šค์˜ ํ•œ๋„๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•œ๋„๋Š” ์กฐ์ง ์ „์ฒด์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

55 

56Code Review๋Š” ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์†Œ์ง„๋˜๋ฉด ๋ฆฌ๋ทฐ๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

57 

58* **Code Review ์ง€์ถœ ํ•œ๋„**: Claude Code Review ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์„ค์ •ํ•œ ์›”๊ฐ„ ํ•œ๋„์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์ฒญ๊ตฌ ๊ธฐ๊ฐ„์ด ์‹œ์ž‘๋  ๋•Œ ์žฌ์„ค์ •๋˜๋ฉฐ, ํ•œ๋„๋ฅผ ๋†’์ด๋ฉด ๋” ์ผ์ฐ ๋ฆฌ๋ทฐ๊ฐ€ ์žฌ๊ฐœ๋ฉ๋‹ˆ๋‹ค.

59* **์กฐ์ง ์ง€์ถœ ํ•œ๋„**: ์‚ฌ์šฉ๋Ÿ‰ ํฌ๋ ˆ๋”ง์— ๋Œ€ํ•œ ์กฐ์ง์˜ ์ „์ฒด ์›”๊ฐ„ ์ง€์ถœ ํ•œ๋„์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ํŽ˜์ด์ง€์—์„œ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

60* **์‚ฌ์šฉ๋Ÿ‰ ํฌ๋ ˆ๋”ง ์ž”์•ก**: ์กฐ์ง์˜ ์‚ฌ์šฉ๋Ÿ‰ ํฌ๋ ˆ๋”ง ์ž”์•ก์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ํŽ˜์ด์ง€์—์„œ ํฌ๋ ˆ๋”ง์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

61 

62Code Review๋Š” ๋‚จ์€ ๊ธˆ์•ก์ด ๋ฆฌ๋ทฐ ํ•œ ๊ฑด์˜ ์˜ˆ์ƒ ๋น„์šฉ๋ณด๋‹ค ์ ์„ ๋•Œ๋„ ๋ฆฌ๋ทฐ๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋ฉด ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์›์ธ์„ ๋ช…์‹œํ•˜๊ณ  ์‚ฌ์šฉ๋Ÿ‰ ์„ค์ •์œผ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” [PR ์ฝ”๋ฉ˜ํŠธ](/docs/ko/code-review-troubleshooting#review-didnโ€™t-run-and-the-pr-shows-a-budget-message)๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

63 

64์ง€์ถœ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ ค๋ฉด [๋ถ„์„ ๋Œ€์‹œ๋ณด๋“œ](#view-usage)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

65 

66<h2 id="view-usage">

67 ์‚ฌ์šฉ๋Ÿ‰ ๋ณด๊ธฐ

68</h2>

69 

70[claude.ai/analytics/code-review](https://claude.ai/analytics/code-review)๋กœ ์ด๋™ํ•˜์—ฌ ์กฐ์ง ์ „์ฒด์˜ Code Review ํ™œ๋™์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

71 

72| ์„น์…˜ | ํ‘œ์‹œ ๋‚ด์šฉ |

73| :- | :- |

74| PRs reviewed | ์„ ํƒํ•œ ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ฆฌ๋ทฐ๋œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ์ผ๋ณ„ ์ˆ˜ |

75| Code Review cost | ์ด๋ฒˆ ๋‹ฌ ํ˜„์žฌ๊นŒ์ง€์˜ Code Review ์ง€์ถœ |

76| Feedback | ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜์—ฌ ์ž๋™์œผ๋กœ ํ•ด๊ฒฐ ์ฒ˜๋ฆฌ๋œ ๋ฆฌ๋ทฐ ์ฝ”๋ฉ˜ํŠธ ์ˆ˜ |

77| Repository breakdown | ์ €์žฅ์†Œ๋ณ„ ๋ฆฌ๋ทฐ๋œ PR ์ˆ˜, ํ•ด๊ฒฐ๋œ ์ฝ”๋ฉ˜ํŠธ ์ˆ˜, ๋ฆฌ๋ทฐ ์‹คํ–‰ ์ˆ˜์™€ ํ•จ๊ป˜ ์˜ˆ์ƒ ๋น„์šฉ ๋ฐ PR๋ณ„ ๋ณด๊ธฐ |

78 

79Code Review cost ์นด๋“œ๋Š” ํ˜„์žฌ ์›”์ด ์„ ํƒ๋œ ๊ฒฝ์šฐ์—๋งŒ ๊ธˆ์•ก์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ถ„์„์˜ ๋น„์šฉ ์ˆ˜์น˜๋Š” ์ฒญ๊ตฌ์„œ์™€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Repository breakdown ๋น„์šฉ์€ ํ• ์ธ์ด๋‚˜ ํฌ๋ ˆ๋”ง์„ ์ ์šฉํ•˜๊ธฐ ์ „์˜ ์ •๊ฐ€๋กœ ์ถ”์ •๋˜๋ฉฐ, Claude๊ฐ€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๊ฒŒ์‹œํ•œ ๋ฆฌ๋ทฐ๋งŒ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ฒญ๊ตฌ์„œ์™€ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š” ์ง€์ถœ์€ Anthropic ์ฒญ๊ตฌ์„œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

80 

81<h2 id="related-resources">

82 ๊ด€๋ จ ๋ฆฌ์†Œ์Šค

83</h2>

84 

85* [Code Review ์„ค์ •](/docs/ko/code-review-setup): ๊ฐ ์ €์žฅ์†Œ์—์„œ ๋ฆฌ๋ทฐ ์ˆ˜์ค€๊ณผ ๋ฆฌ๋ทฐ ์‹คํ–‰ ์‹œ์ ์„ ์„ ํƒํ•˜๋Š” ์œ„์น˜

86* [ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ ๋ฆฌ๋ทฐ ์ฝ๊ธฐ ๋ฐ ์š”์ฒญ](/docs/ko/code-review-pull-requests): ์ฝ”๋ฉ˜ํŠธ ๋ช…๋ น, ํฌํฌ์—์„œ ์˜จ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ, ๋ฆฌ๋ทฐ๋ฅผ ๊ฑด๋„ˆ๋›ธ ๋•Œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํ‘œ์‹œ๋˜๋Š” ์˜ˆ์‚ฐ ๋ฉ”์‹œ์ง€

87* [Code Review](/docs/ko/code-review): ๋ฆฌ๋ทฐ๊ฐ€ ํ™•์ธํ•˜๋Š” ํ•ญ๋ชฉ๊ณผ ๊ฒŒ์‹œํ•˜๋Š” ๋‚ด์šฉ

88* [ํšจ๊ณผ์ ์ธ ๋น„์šฉ ๊ด€๋ฆฌ](/docs/ko/costs): Claude Code์˜ ๋‚˜๋จธ์ง€ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ง€์ถœ ์ œ์–ด ๋ฐ ์‚ฌ์šฉ๋Ÿ‰ ์ถ”์ 

code-review-customize.md +149 โˆ’0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Code Review ์‚ฌ์šฉ์ž ์ง€์ •

6 

7> REVIEW.md์™€ CLAUDE.md๋กœ Code Review๊ฐ€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ ์ง€์ ํ•˜๋Š” ํ•ญ๋ชฉ์„ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์‹ฌ๊ฐ๋„๋ฅผ ์žฌ์กฐ์ •ํ•˜๊ณ , ๊ฒฝ๋กœ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ , ๊ฒ€์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ์–ด๋–ค ์‚ฌ๋ณธ์ด ์ ์šฉ๋˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

8 

9์ €์žฅ์†Œ์— ์ง€์นจ์„ ์ปค๋ฐ‹ํ•˜์—ฌ [Code Review](/docs/ko/code-review)๊ฐ€ ํ•ด๋‹น ์ €์žฅ์†Œ์—์„œ ์ง€์ ํ•˜๋Š” ํ•ญ๋ชฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์œผ๋กœ nit ์ˆ˜๋ฅผ ์ค„์ด๊ฑฐ๋‚˜, ์ƒ์„ฑ๋œ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ค‘๋‹จํ•˜๊ฑฐ๋‚˜, ํŒ€์ด ์ค‘์š”ํ•˜๊ฒŒ ์—ฌ๊ธฐ๋Š” ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์นจ์€ ๋‹ค์Œ ๋‘ ํŒŒ์ผ ์ค‘ ํ•˜๋‚˜์— ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

10 

11* **`CLAUDE.md`**: Claude Code๊ฐ€ ๋ฆฌ๋ทฐ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์ž‘์—…์—์„œ ์ฝ๋Š” [ํ”„๋กœ์ ํŠธ ์ง€์นจ](/docs/ko/memory)์ž…๋‹ˆ๋‹ค. Code Review๋Š” ์ด๋ฅผ ํ”„๋กœ์ ํŠธ ์ปจํ…์ŠคํŠธ๋กœ ์ฝ๊ณ , ์ด๋ฅผ ์œ„๋ฐ˜ํ•˜๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ง€์ ํ•ฉ๋‹ˆ๋‹ค.

12* **`REVIEW.md`**: ๋ฆฌ๋ทฐ ์ „์šฉ ์ง€์นจ์ž…๋‹ˆ๋‹ค. ํŒ€์ด ๋ฌด์—‡์„ ์ง€์ ํ•˜๊ธฐ๋ฅผ ์›ํ•˜๋Š”์ง€, ์–ด๋–ค ์‹ฌ๊ฐ๋„๋กœ ์ง€์ ํ• ์ง€, ๋ฌด์—‡์„ ๊ฑด๋„ˆ๋›ธ์ง€ ๋ช…์‹œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

13 

14์ €์žฅ์†Œ ๋ฃจํŠธ์— `REVIEW.md`๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ [๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค](#which-branch-review-md-is-read-from).

15 

16<Note>

17 ๋ฆฌ๋ทฐ์˜ ์ฒ ์ €ํ•จ์ด๋‚˜ ๋ฆฌ๋ทฐ ์‹คํ–‰ ์‹œ์ ์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด Owner์—๊ฒŒ [๋ฆฌ๋ทฐ ์ˆ˜์ค€](/docs/ko/code-review-setup#set-the-default-review-level) ๋˜๋Š” [**Review runs** ์„ค์ •](/docs/ko/code-review-setup#set-when-reviews-run)์„ ๋ณ€๊ฒฝํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

18</Note>

19 

20<h2 id="use-claude-md-for-project-wide-rules">

21 ํ”„๋กœ์ ํŠธ ์ „์ฒด ๊ทœ์น™์—๋Š” CLAUDE.md ์‚ฌ์šฉ

22</h2>

23 

24Code Review๋Š” ์ €์žฅ์†Œ์˜ `CLAUDE.md` ํŒŒ์ผ์„ ํ”„๋กœ์ ํŠธ ์ปจํ…์ŠคํŠธ๋กœ ์ฝ์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์˜ ๊ทœ์น™ ์ค‘ ํ•˜๋‚˜๋ฅผ ์œ„๋ฐ˜ํ•˜๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋ฌธ์ œ์— ๋งž๋Š” [์‹ฌ๊ฐ๋„ ์ˆ˜์ค€](/docs/ko/code-review-pull-requests#severity-levels)์˜ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด ๋ฉ๋‹ˆ๋‹ค.

25 

26๋ฆฌ๋ทฐ๋Š” ์ €์žฅ์†Œ ๋ฃจํŠธ์˜ `CLAUDE.md`์™€ ๋ณ€๊ฒฝ๋œ ๊ฐ ํŒŒ์ผ์˜ ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” `CLAUDE.md` ํŒŒ์ผ์„ ์ฝ์Šต๋‹ˆ๋‹ค. ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ `CLAUDE.md`๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ํ•ด๋‹น ๊ฒฝ๋กœ ์•„๋ž˜์˜ ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•  ๋•Œ ์ฝํž™๋‹ˆ๋‹ค.

27 

28<h2 id="use-review-md-for-review-only-rules">

29 ๋ฆฌ๋ทฐ ์ „์šฉ ๊ทœ์น™์—๋Š” REVIEW\.md ์‚ฌ์šฉ

30</h2>

31 

32`REVIEW.md`๋Š” ์ €์žฅ์†Œ ๋ฃจํŠธ์— ์œ„์น˜ํ•˜๋ฉฐ Code Review๋ฅผ ์ €์žฅ์†Œ์— ๋งž๊ฒŒ ์กฐ์ •ํ•˜๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์— `REVIEW.md`๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฃจํŠธ ํŒŒ์ผ์— ๋”ํ•ด ํ•ด๋‹น ๊ฒฝ๋กœ ์•„๋ž˜์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๊ฒ€์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

33 

34๋ฌธ์ œ๋ฅผ ์ฐพ๋Š” ์—์ด์ „ํŠธ์™€ ์ด๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ์—์ด์ „ํŠธ๋Š” Code Review์˜ ๊ธฐ๋ณธ ๋ฆฌ๋ทฐ ์ง€์นจ๊ณผ ํ•จ๊ป˜ ์ด ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ €์žฅ์†Œ์˜ ๋ฆฌ๋ทฐ ์ง€์นจ์œผ๋กœ ์ „๋‹ฌ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ตœ์ข… ๋ฆฌ๋ทฐ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋‹จ๊ณ„๋Š” ์‹ฌ๊ฐ๋„๋ฅผ ํ™•์ •ํ•˜๊ณ  ์š”์•ฝ์„ ์ž‘์„ฑํ•˜๊ธฐ ์ „์— ์ด ํŒŒ์ผ์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

35 

36๋‹ค์Œ ์˜ˆ์‹œ ๊ตฌ์กฐ์—๋Š” ๋ฃจํŠธ ํŒŒ์ผ ํ•˜๋‚˜์™€ ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ ํŒŒ์ผ ํ•˜๋‚˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

37 

38```text theme={null}

39your-repo/

40โ”œโ”€โ”€ REVIEW.md # Root file

41โ”œโ”€โ”€ services/

42โ”‚ โ””โ”€โ”€ billing/

43โ”‚ โ””โ”€โ”€ REVIEW.md # Adds checks for changes under services/billing/

44โ””โ”€โ”€ src/

45```

46 

47ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ ํŒŒ์ผ์— ์˜์กดํ•˜๊ธฐ ์ „์— ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ ๋ณดํ˜ธํ•˜๊ณ  [๋ธŒ๋žœ์น˜ ๊ตฌ์„ฑ๋ณ„๋กœ ๋ฆฌ๋ทฐ๊ฐ€ ์ฝ๋Š” ํ•ญ๋ชฉ](#what-a-review-reads-for-each-branch-setup)์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

48 

49<Note>

50 Code Review ์„œ๋น„์Šค์™€ ๋กœ์ปฌ [`/code-review` ๋ช…๋ น](/docs/ko/code-review-local)์€ ์„œ๋กœ ๋ณ„๊ฐœ์˜ ๋„๊ตฌ์ด๋ฉฐ, ์ฝ๋Š” ํŒŒ์ผ๋„ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์„œ๋น„์Šค๋Š” `CLAUDE.md`์™€ `REVIEW.md`๋ฅผ ๋ชจ๋‘ ์ฝ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ๋กœ์ปฌ ๋จธ์‹ ์—์„œ Claude Code ์„ธ์…˜ ์•ˆ์—์„œ ์‹คํ–‰ํ•˜๋Š” `/code-review` ๋ช…๋ น์€ `CLAUDE.md` ํŒŒ์ผ์„ ์ฝ์ง€๋งŒ `REVIEW.md`๋Š” ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‘ ๊ณณ ๋ชจ๋‘์— ์ ์šฉํ•˜๋ ค๋Š” ์ง€์นจ์€ `CLAUDE.md`์— ์ž‘์„ฑํ•˜๊ณ , `REVIEW.md`์—๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๋ฆฌ๋ทฐ์— ํŠนํ™”๋œ ๊ทœ์น™๋งŒ ๋‘ก๋‹ˆ๋‹ค.

51</Note>

52 

53<h3 id="example-review-md">

54 REVIEW\.md ์˜ˆ์‹œ

55</h3>

56 

57์ด `REVIEW.md`๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ๋งž๊ฒŒ ์‹ฌ๊ฐ๋„๋ฅผ ์žฌ์กฐ์ •ํ•˜๊ณ , nit ์ˆ˜๋ฅผ ์ œํ•œํ•˜๊ณ , ์ƒ์„ฑ๋œ ํŒŒ์ผ์„ ๊ฑด๋„ˆ๋›ฐ๊ณ , ์ €์žฅ์†Œ๋ณ„ ๊ฒ€์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

58 

59```markdown theme={null}

60# Review instructions

61 

62## What Important means here

63 

64Reserve Important for findings that would break behavior, leak data,

65or block a rollback: incorrect logic, unscoped database queries, PII

66in logs or error messages, and migrations that aren't backward

67compatible. Style, naming, and refactoring suggestions are Nit at

68most.

69 

70## Cap the nits

71 

72Report at most five Nits per review.

73 

74## Do not report

75 

76- Anything CI already enforces: lint, formatting, type errors

77- Generated files under `src/gen/` and any `*.lock` file

78- Test-only code that intentionally violates production rules

79 

80## Always check

81 

82- New API routes have an integration test

83- Log lines don't include email addresses, user IDs, or request bodies

84- Database queries are scoped to the caller's tenant

85```

86 

87<h3 id="choose-what-to-write-in-review-md">

88 REVIEW\.md์— ์ž‘์„ฑํ•  ๋‚ด์šฉ ์„ ํƒ

89</h3>

90 

91`REVIEW.md`๋Š” ๋ฆฌ๋ทฐ๊ฐ€ ์ฐพ์•„๋‚ด๊ณ  ๋ณด๊ณ ํ•˜๋Š” ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜๋Š” ์ž์œ  ํ˜•์‹ Markdown์ž…๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ์˜ ํ˜•์‹์€ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฒช๊ณ  ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ์ฐพ์€ ๋‹ค์Œ ์ œ์‹œ๋œ ๊ฒƒ๊ณผ ๊ฐ™์€ ์ง€์นจ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. [์˜ˆ์‹œ](#example-review-md)๋Š” ์ฒ˜์Œ ๋„ค ๊ฐ€์ง€๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

92 

93* **์ž˜๋ชป๋œ ํ•ญ๋ชฉ์ด Important๋กœ ํ‘œ์‹œ๋จ**: ์ €์žฅ์†Œ์— ๋งž๊ฒŒ ๐Ÿ”ด Important์˜ ์˜๋ฏธ๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ณด์ •์€ ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋ฉฐ, ๋ฌธ์„œ ์ €์žฅ์†Œ, ๊ตฌ์„ฑ ์ €์žฅ์†Œ ๋˜๋Š” ํ”„๋กœํ† ํƒ€์ž…์—๋Š” ํ›จ์”ฌ ์ข์€ ์ •์˜๊ฐ€ ์ ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์œ ํ˜•์˜ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด Important์ด๊ณ  ์–ด๋–ค ์œ ํ˜•์ด ์ตœ๋Œ€ Nit์ธ์ง€ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ชจ๋“  `CLAUDE.md` ์œ„๋ฐ˜์„ Important๋กœ ์ทจ๊ธ‰ํ•˜๋Š” ์‹์œผ๋กœ ์ƒํ–ฅ ์กฐ์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

94* **nit์ด ๋„ˆ๋ฌด ๋งŽ์Œ**: ๋‹จ์ผ ๋ฆฌ๋ทฐ๊ฐ€ ๊ฒŒ์‹œํ•˜๋Š” ๐ŸŸก Nit ์ฝ”๋ฉ˜ํŠธ ์ˆ˜๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. "nit์€ ์ตœ๋Œ€ 5๊ฐœ๊นŒ์ง€๋งŒ ๋ณด๊ณ "์™€ ๊ฐ™์€ ์ œํ•œ์„ ๋‘๋ฉด ๋ฆฌ๋ทฐ๋ฅผ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

95* **์ƒ์„ฑ๋œ ํŒŒ์ผ์ด๋‚˜ CI๊ฐ€ ์ด๋ฏธ ๊ฒ€์‚ฌํ•˜๋Š” ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์ฝ”๋ฉ˜ํŠธ**: Claude๊ฐ€ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ๊ฑด๋„ˆ๋›ฐ์–ด์•ผ ํ•˜๋Š” ๊ฒฝ๋กœ์™€ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ ๋ฒ”์ฃผ๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๋Œ€์ƒ์€ ์ƒ์„ฑ๋œ ์ฝ”๋“œ, lockfile, vendored ์˜์กด์„ฑ์ด๋ฉฐ, ๋ฆฐํŒ…์ด๋‚˜ ๋งž์ถค๋ฒ• ๊ฒ€์‚ฌ์ฒ˜๋Ÿผ CI๊ฐ€ ์ด๋ฏธ ๊ฐ•์ œํ•˜๋Š” ๋ชจ๋“  ํ•ญ๋ชฉ๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์–ด๋А ์ •๋„ ๋ฆฌ๋ทฐ๋Š” ํ•„์š”ํ•˜์ง€๋งŒ ์ „๋ฉด์ ์ธ ๊ฒ€ํ† ๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ๋กœ์—๋Š” ๋Œ€์‹  ๋” ๋†’์€ ๊ธฐ์ค€์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค: "`scripts/`์—์„œ๋Š” ๊ฑฐ์˜ ํ™•์‹คํ•˜๊ณ  ์‹ฌ๊ฐํ•œ ๊ฒฝ์šฐ์—๋งŒ ๋ณด๊ณ ."

96* **ํŒ€ ๊ทœ์น™์ด ๊ฒ€์‚ฌ๋˜์ง€ ์•Š์Œ**: "์ƒˆ API ๋ผ์šฐํŠธ์—๋Š” ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์–ด์•ผ ํ•จ"์ฒ˜๋Ÿผ ๋ชจ๋“  ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ ์ง€์ ํ•˜๋ ค๋Š” ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

97* **์ž˜๋ชป๋œ ๊ฒƒ์œผ๋กœ ํŒ๋ช…๋˜๋Š” ๋ฐœ๊ฒฌ ์‚ฌํ•ญ**: ํŠน์ • ์œ ํ˜•์˜ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ๊ฒŒ์‹œํ•˜๊ธฐ ์ „์— ๊ทผ๊ฑฐ๋ฅผ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "๋™์ž‘์— ๊ด€ํ•œ ์ฃผ์žฅ์—๋Š” ์ด๋ฆ„์—์„œ ์ถ”๋ก ํ•œ ๊ฒƒ์ด ์•„๋‹Œ ์†Œ์Šค์˜ `file:line` ์ธ์šฉ์ด ํ•„์š”ํ•จ"๊ณผ ๊ฐ™์€ ์ง€์นจ์€ ์ž‘์„ฑ์ž์—๊ฒŒ ๋ถˆํ•„์š”ํ•œ ์™•๋ณต์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํƒ์„ ์ค„์ž…๋‹ˆ๋‹ค.

98 

99์ด๋Ÿฌํ•œ ์ง€์นจ ์ค‘ ์ผ๋ถ€๋Š” [๋ณดํ˜ธ๋œ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์— ๋ฃจํŠธ ํŒŒ์ผ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค](#which-branch-review-md-is-read-from).

100 

101`REVIEW.md`์—๋Š” ๋ฆฌ๋ทฐ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜๋Š” ์ง€์นจ๋งŒ ๋‘๊ณ , ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ์ ํŠธ ์ปจํ…์ŠคํŠธ๋Š” `CLAUDE.md`์— ๋‘ก๋‹ˆ๋‹ค.

102 

103<h3 id="which-branch-review-md-is-read-from">

104 REVIEW\.md๋ฅผ ์ฝ๋Š” ๋ธŒ๋žœ์น˜

105</h3>

106 

107Code Review๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ๊ธฐ๋ณธ(base) ๋ธŒ๋žœ์น˜ ๋˜๋Š” ๊ธฐ๋ณธ(default) ๋ธŒ๋žœ์น˜์—์„œ `REVIEW.md`๋ฅผ ์ฝ์œผ๋ฉฐ, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ์ž์ฒด์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์—์„œ๋Š” ์ ˆ๋Œ€ ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด `REVIEW.md` ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋จผ์ € ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

108 

109`REVIEW.md`๋ฅผ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์— ๋‘๊ณ  ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ํ‘œ์˜ ์ฒซ ๋ฒˆ์งธ ํ–‰์ฒ˜๋Ÿผ ๋ฆฌ๋ทฐ๊ฐ€ ๋ณดํ˜ธ๋œ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์˜ ์‚ฌ๋ณธ์„ ์ฝ๋Š” ๊ฒฝ์šฐ, ๋ฃจํŠธ ํŒŒ์ผ์˜ ๋‹ค์Œ ์ง€์นจ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

110 

111* ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์˜ ์‹ฌ๊ฐ๋„ ๋‚ฎ์ถ”๊ธฐ

112* ๊ฒฝ๋กœ, ํŒŒ์ผ ๋˜๋Š” ๋ฌธ์ œ ์œ ํ˜• ์ œ์™ธ

113* nit ์ฝ”๋ฉ˜ํŠธ ์ˆ˜ ์ œํ•œ

114 

115<h4 id="what-counts-as-branch-protection">

116 ๋ธŒ๋žœ์น˜ ๋ณดํ˜ธ๋กœ ์ธ์ •๋˜๋Š” ํ•ญ๋ชฉ

117</h4>

118 

119Code Review๋Š” ๋‹ค์Œ ์„ค์ •์„ ๋ณดํ˜ธ๋กœ ์ธ์ •ํ•ฉ๋‹ˆ๋‹ค.

120 

121* **๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜**: ํด๋ž˜์‹ ๋ธŒ๋žœ์น˜ ๋ณดํ˜ธ ๊ทœ์น™ ๋˜๋Š” ruleset

122* **๊ทธ ์™ธ ๋ชจ๋“  ๋ธŒ๋žœ์น˜**: ruleset๋งŒ ํ•ด๋‹น

123 

124ruleset์€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ œํ•œํ•˜๊ฑฐ๋‚˜ ์ตœ์†Œ ํ•œ ๋ฒˆ์˜ ์Šน์ธ์ด ์žˆ๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์š”๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ ๋ณดํ˜ธ๋กœ ์ธ์ •๋ฉ๋‹ˆ๋‹ค. ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์š”๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์ƒˆ ํ‘ธ์‹œ ์‹œ ํ•ด๋‹น ์Šน์ธ์„ ๋ฌดํšจํ™”ํ•˜๊ฑฐ๋‚˜ ๋งˆ์ง€๋ง‰ ํ‘ธ์‹œ ์ดํ›„์— ์Šน์ธ์ด ์ด๋ฃจ์–ด์ง€๋„๋ก ์š”๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

125 

126<h4 id="what-a-review-reads-for-each-branch-setup">

127 ๋ธŒ๋žœ์น˜ ๊ตฌ์„ฑ๋ณ„๋กœ ๋ฆฌ๋ทฐ๊ฐ€ ์ฝ๋Š” ํ•ญ๋ชฉ

128</h4>

129 

130์•„๋ž˜ ํ‘œ์˜ ์ฒซ ๋ฒˆ์งธ ์—ด์—์„œ ์ €์žฅ์†Œ์˜ ์ƒํ™ฉ์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

131 

132| ๋ธŒ๋žœ์น˜ ๋ณดํ˜ธ | ์ฝ๋Š” ์‚ฌ๋ณธ | ์ฝ๋Š” ํŒŒ์ผ |

133| :- | :- | :- |

134| ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๊ฐ€ ๋ณดํ˜ธ๋˜์–ด ์žˆ๊ณ , ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜ ๋˜๋Š” ruleset์œผ๋กœ ๋ณดํ˜ธ๋˜์ง€ ์•Š๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•จ | ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜ | ๋ฃจํŠธ ๋ฐ ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ ํŒŒ์ผ |

135| ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ruleset์œผ๋กœ ๋ณดํ˜ธ๋˜๋Š” ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•จ | ํ•ด๋‹น base ๋ธŒ๋žœ์น˜ | ๋ฃจํŠธ ๋ฐ ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ ํŒŒ์ผ |

136| ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๊ฐ€ ๋ณดํ˜ธ๋˜์–ด ์žˆ์ง€ ์•Š๊ณ , base ๋ธŒ๋žœ์น˜์— ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ณดํ˜ธ ๊ทœ์น™๋„ ์—†์Œ | ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜ | ๋ฃจํŠธ ํŒŒ์ผ |

137| Code Review๊ฐ€ ๋ณดํ˜ธ ์„ค์ •์„ ํ™•์ธํ•  ์ˆ˜ ์—†์Œ. ๋ณดํ˜ธ๋˜์ง€ ์•Š์€ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์™€ ํด๋ž˜์‹ ๊ทœ์น™๋งŒ ์žˆ๋Š” base ๋ธŒ๋žœ์น˜์˜ ์กฐํ•ฉ๋„ ์—ฌ๊ธฐ์— ํฌํ•จ๋จ | ์—†์Œ | ์—†์Œ |

138 

139check run์— `REVIEW.md`๊ฐ€ ์–ธ๊ธ‰๋˜๋Š” ๊ฒฝ์šฐ [The check run mentions REVIEW.md](/docs/ko/code-review-troubleshooting#the-check-run-mentions-review-md)๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

140 

141<h2 id="related-resources">

142 ๊ด€๋ จ ๋ฆฌ์†Œ์Šค

143</h2>

144 

145* [Code Review](/docs/ko/code-review): ์„œ๋น„์Šค์˜ ๊ฐœ์š”์™€ ๋ฆฌ๋ทฐ ์‹คํ–‰ ๋ฐฉ์‹

146* [ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ ๋ฆฌ๋ทฐ ์ฝ๊ธฐ ๋ฐ ์š”์ฒญ](/docs/ko/code-review-pull-requests#severity-levels): ๊ฐ ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€์˜ ์˜๋ฏธ์™€ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋˜๋Š” ๋ฐฉ์‹

147* [Code Review ์„ค์ •](/docs/ko/code-review-setup): Owner๊ฐ€ ์„ค์ •ํ•˜๋Š” ๋ฆฌ๋ทฐ ์ˆ˜์ค€๊ณผ ๋ฆฌ๋ทฐ ์‹คํ–‰ ์‹œ์ 

148* [`/code-review`๋กœ ๋กœ์ปฌ์—์„œ ๋ฆฌ๋ทฐ](/docs/ko/code-review-local): `/code-review` ๋ช…๋ น, ์ธ์ˆ˜ ๋ฐ effort ์ˆ˜์ค€

149* [๋ฉ”๋ชจ๋ฆฌ](/docs/ko/memory): Claude Code ์ „๋ฐ˜์—์„œ `CLAUDE.md` ํŒŒ์ผ์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹

code-review-local.md +197 โˆ’0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# /code-review๋กœ ๋กœ์ปฌ์—์„œ ๋ฆฌ๋ทฐํ•˜๊ธฐ

6 

7> Claude Code ์„ธ์…˜์—์„œ `/code-review`๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋ธŒ๋žœ์น˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ๋ฒ„๊ทธ๋ฅผ ์ฐพ๊ณ , ๋ฆฌ๋ทฐ ๋Œ€์ƒ์„ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋‚˜ ๊ฒฝ๋กœ๋กœ ์ง€์ •ํ•˜๋ฉฐ, Claude๊ฐ€ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

8 

9`/code-review`๋Š” ์ž‘์—… ์ค‘์ธ ์„ธ์…˜์˜ Claude Code ํ”„๋กฌํ”„ํŠธ์— ์ž…๋ ฅํ•˜๋Š” ๋ช…๋ น์ž…๋‹ˆ๋‹ค. Claude๋Š” ๋ธŒ๋žœ์น˜์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฆฌ๋ทฐํ•˜๊ณ , ์ •ํ™•์„ฑ ๋ฒ„๊ทธ๋ฅผ ์ฐพ์•„, ๋ฐœ๊ฒฌํ•œ ๋‚ด์šฉ์„ ๋Œ€ํ™”์— ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ๊ณผ effort ์ˆ˜์ค€์— ๋”ฐ๋ผ ๋ฆฌ๋ทฐ๋Š” ์žฌ์‚ฌ์šฉ, ๋‹จ์ˆœํ™”, ํšจ์œจ์„ฑ ์ •๋ฆฌ ํ•ญ๋ชฉ๋„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

10 

11์ด ๋ช…๋ น์€ ๋ชจ๋“  ํ”Œ๋žœ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๋Š” ์‚ฌ์šฉ์ž ์ž์‹ ์˜ ์„ธ์…˜์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ, ์„ธ์…˜์˜ ๋‚˜๋จธ์ง€ ์ž‘์—…๊ณผ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ํ”Œ๋žœ ์‚ฌ์šฉ๋Ÿ‰ ๋˜๋Š” API ์ฒญ๊ตฌ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

12 

13<Note>

14 GitHub์—์„œ ์ €์žฅ์†Œ์˜ ๋ชจ๋“  ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ž๋™์œผ๋กœ ๋ฆฌ๋ทฐํ•˜๋ ค๋ฉด Owner๊ฐ€ ์กฐ์ง์— ๋Œ€ํ•ด ์ผœ๋Š” ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค์ธ [Code Review](/docs/ko/code-review)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

15</Note>

16 

17`/review`๋Š” `/code-review`์˜ ๋ณ„์นญ์ž…๋‹ˆ๋‹ค. v2.1.223 ์ด์ „์—๋Š” `/review`๊ฐ€ GitHub ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๋Œ€ํ•ด ๋‹จ์ผ ํŒจ์Šค, ์ฝ๊ธฐ ์ „์šฉ ๋ฆฌ๋ทฐ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ณ„๋„์˜ ๋ช…๋ น์ด์—ˆ์Šต๋‹ˆ๋‹ค.

18 

19<Steps>

20 <Step title="/code-review ์‹คํ–‰">

21 ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

22 

23 ```text theme={null}

24 /code-review

25 ```

26 

27 ๋Œ€์ƒ์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฆฌ๋ทฐ๋Š” ํ˜„์žฌ ๋ธŒ๋žœ์น˜์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๋Œ€์‹  ํ’€ ๋ฆฌํ€˜์ŠคํŠธ, ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜, ๊ฒฝ๋กœ ๋˜๋Š” ์ปค๋ฐ‹ ๋ฒ”์œ„๋ฅผ ๋ฆฌ๋ทฐ ๋Œ€์ƒ์œผ๋กœ ์ง€์ •ํ•˜๋ ค๋ฉด [๋ฆฌ๋ทฐ ๋Œ€์ƒ ์„ ํƒ](#choose-what-to-review)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

28 

29 ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

30 

31 * `--fix`: ๋ฆฌ๋ทฐ ํ›„ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ์ž‘์—… ํŠธ๋ฆฌ์— ์ ์šฉํ•˜๋„๋ก Claude์— ์ถ”๊ฐ€๋กœ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜์ • ๋‚ด์šฉ์€ [๊ถŒํ•œ ๋ชจ๋“œ](/docs/ko/permission-modes)๋ฅผ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

32 * `--comment`: ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ GitHub ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—๋Š” ์ธ๋ผ์ธ ๋Œ“๊ธ€๋กœ, [GitLab ๋ณ‘ํ•ฉ ์š”์ฒญ](#post-findings-to-a-gitlab-merge-request)์—๋Š” ๋‹จ์ผ ๋…ธํŠธ๋กœ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค

33 </Step>

34 

35 <Step title="์ž‘์—… ๊ณ„์†ํ•˜๊ธฐ">

36 ๋ฆฌ๋ทฐ๋Š” ์ž์ฒด ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋ฅผ ๊ฐ€์ง„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ [์„œ๋ธŒ์—์ด์ „ํŠธ](/docs/ko/sub-agents)๋กœ ์‹คํ–‰๋˜๋ฏ€๋กœ ๋Œ€ํ™”๋ฅผ ์ฑ„์šฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด ๋Œ€ํ™”์— ๋„์ฐฉํ•ฉ๋‹ˆ๋‹ค.

37 </Step>

38 

39 <Step title="๋ฐœ๊ฒฌ ์‚ฌํ•ญ์— ๋Œ€์‘ํ•˜๊ธฐ">

40 ๋ฆฌ๋ทฐ์—์„œ ๋ฐœ๊ฒฌํ•œ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๋„๋ก Claude์— ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. `--fix` ๋˜๋Š” `--comment`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Claude๊ฐ€ ๋ฆฌ๋ทฐ์˜ ์ผ๋ถ€๋กœ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๊ฑฐ๋‚˜ ๊ฒŒ์‹œํ•˜๋ฉฐ, ์ˆ˜์ • ๋‚ด์šฉ์— ๋Œ€ํ•œ ์Šน์ธ์„ ์š”์ฒญ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

41 </Step>

42</Steps>

43 

44<h2 id="choose-what-to-review">

45 ๋ฆฌ๋ทฐ ๋Œ€์ƒ ์„ ํƒ

46</h2>

47 

48ํ˜„์žฌ ๋ธŒ๋žœ์น˜๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๋Œ€์ƒ์„ ๋ฆฌ๋ทฐํ•˜๋ ค๋ฉด effort ์ˆ˜์ค€๊ณผ ํ”Œ๋ž˜๊ทธ ๋’ค์— ๋Œ€์ƒ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. Claude๋Š” ํ•ด๋‹น ํ…์ŠคํŠธ๋ฅผ ๋ฆฌ๋ทฐ ๋Œ€์ƒ์œผ๋กœ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๋Œ€์ƒ์€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๋ฒˆํ˜ธ, ๋ธŒ๋žœ์น˜ ์ด๋ฆ„, ํŒŒ์ผ ๊ฒฝ๋กœ ๋˜๋Š” Git ๋ฆฌ๋น„์ „ ๋ฒ”์œ„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์—ด์—์„œ ๋ฆฌ๋ทฐํ•˜๋ ค๋Š” ํ•ญ๋ชฉ์„ ์ฐพ์•„ ๋‘ ๋ฒˆ์งธ ์—ด์— ํ‘œ์‹œ๋œ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜์„ธ์š”.

49 

50| ๋ฆฌ๋ทฐ ๋Œ€์ƒ | ์ž…๋ ฅ |

51| :- | :- |

52| ํ˜„์žฌ ๋ธŒ๋žœ์น˜์™€ ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ | `/code-review` |

53| ์ตœ๊ทผ 15๊ฐœ ์ปค๋ฐ‹ | `/code-review HEAD~15..HEAD` |

54| ํ•œ ๋ธŒ๋žœ์น˜์™€ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜ ๋น„๊ต | `/code-review main...my-feature` |

55| ๋‹จ์ผ ์ปค๋ฐ‹(`abc1234`๋Š” ์ปค๋ฐ‹ ํ•ด์‹œ) | `/code-review abc1234^..abc1234` |

56| ๋ฒˆํ˜ธ๋กœ ์ง€์ •ํ•œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ | `/code-review 1234` |

57| ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒฝ๋กœ | `/code-review src/auth` |

58 

59๋Œ€์ƒ์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด `/code-review`๋Š” ์—…์ŠคํŠธ๋ฆผ ๋ธŒ๋žœ์น˜๋ณด๋‹ค ์•ž์„  ๋ธŒ๋žœ์น˜์˜ ์ปค๋ฐ‹๊ณผ ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฆฌ๋ทฐํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋žœ์น˜์— ์—…์ŠคํŠธ๋ฆผ์ด ์—†์œผ๋ฉด Claude๋Š” `main` ๋˜๋Š” ์ด์ „ ์ปค๋ฐ‹๊ณผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

60 

61`ultra`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Claude Code๋Š” [effort ์ˆ˜์ค€๊ณผ ํ”Œ๋ž˜๊ทธ ๋’ค์˜ ํ…์ŠคํŠธ](#text-after-the-effort-level-and-flags)์—์„œ ์„ค๋ช…ํ•˜๋Š” ๋Œ€๋กœ ๋Œ€์ƒ์„ ๋‹ค๋ฅด๊ฒŒ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค.

62 

63<h2 id="what-the-review-reads-and-edits">

64 ๋ฆฌ๋ทฐ๊ฐ€ ์ฝ๊ณ  ์ˆ˜์ •ํ•˜๋Š” ํ•ญ๋ชฉ

65</h2>

66 

67๋ฆฌ๋ทฐ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์—, ํŠนํžˆ `--fix`๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋‹ค์Œ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜์„ธ์š”.

68 

69* **์ˆ˜์ •**: `--fix` ์—†์ด ์‹คํ–‰ํ•˜๋ฉด ๋ฆฌ๋ทฐ ์ง€์นจ์€ Claude์— ๋ณด๊ณ ์„œ๋งŒ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. `--fix`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ์ž‘์—… ํŠธ๋ฆฌ์— ์ ์šฉํ•˜๋„๋ก ์ถ”๊ฐ€๋กœ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์–ด๋А ๊ฒฝ์šฐ๋“  ๋ชจ๋“  ์ˆ˜์ •์€ ๊ถŒํ•œ ๋ชจ๋“œ๋ฅผ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

70* **๋˜๊ฐ๊ธฐ**: ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ฆฌ๋ทฐ๋Š” `--fix` ์ˆ˜์ • ๋‚ด์šฉ์„ ์„ธ์…˜์˜ [์ฒดํฌํฌ์ธํŠธ](/docs/ko/checkpointing#subagent-edits-not-restored) ๋ฐ–์—์„œ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ `/rewind`๋Š” Claude๊ฐ€ ๋Œ€ํ™”์—์„œ ์ด๋ฏธ ์ˆ˜์ •ํ•œ ํŒŒ์ผ๋งŒ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ์˜ ์ˆ˜์ • ๋‚ด์šฉ์€ ๊ทธ๋Œ€๋กœ ๋‚จ์œผ๋ฏ€๋กœ git์„ ์‚ฌ์šฉํ•ด ๋˜๋Œ๋ฆฌ์„ธ์š”. ๋ฆฌ๋ทฐ๊ฐ€ [ํฌ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰](#run-in-the-foreground)๋˜๋ฉด ์‚ฌ์šฉ์ž ์ž์‹ ์˜ ํ„ด ๋™์•ˆ ์ž‘์—… ํŠธ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•˜๋ฏ€๋กœ `/rewind`๊ฐ€ ํ‰์†Œ์ฒ˜๋Ÿผ ํ•ด๋‹น ์ˆ˜์ • ๋‚ด์šฉ์„ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.

71* **์ง€์นจ**: ๋ฆฌ๋ทฐ๋Š” ๋น„๋Œ€ํ™”ํ˜• `-p` ์‹คํ–‰์„ ํฌํ•จํ•˜์—ฌ `CLAUDE.md`๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. `REVIEW.md`๋Š” ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์€ GitHub ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๋Œ€ํ•œ ๊ด€๋ฆฌํ˜• [Code Review ์„œ๋น„์Šค](/docs/ko/code-review-customize#use-review-md-for-review-only-rules)๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

72 

73<h2 id="how-findings-are-reported">

74 ๋ฐœ๊ฒฌ ์‚ฌํ•ญ ๋ณด๊ณ  ๋ฐฉ์‹

75</h2>

76 

77๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์‹คํ–‰์—์„œ๋Š” Claude๊ฐ€ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ์‘๋‹ต์˜ ํ…์ŠคํŠธ๋กœ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

78 

79* `/code-review`๊ฐ€ ๋ฆฌ๋ทฐ๋ฅผ [๋ถ„๊ธฐ๋œ ์„œ๋ธŒ์—์ด์ „ํŠธ](/docs/ko/skills#run-skills-in-a-subagent)๋กœ ์‹คํ–‰ํ•˜๋Š” ํ„ฐ๋ฏธ๋„ ์„ธ์…˜

80* ํ…์ŠคํŠธ ๋˜๋Š” JSON ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•˜๋Š” `-p` ์‹คํ–‰

81 

82[๋ฐ์Šคํฌํ†ฑ ์•ฑ](/docs/ko/desktop#review-your-code)์ฒ˜๋Ÿผ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ ๋ชฉ๋ก์„ ์š”์ฒญํ•˜๋Š” ํ˜ธ์ŠคํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” Claude๊ฐ€ ๋Œ€์‹  [`ReportFindings` ๋„๊ตฌ](/docs/ko/tools-reference)๋ฅผ ํ†ตํ•ด ๋ฆฌ๋ทฐ์˜ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ๋Š” ๋ฐœ๊ฒฌ ์‚ฌํ•ญ ๋ชฉ๋ก์œผ๋กœ ํ‘œ์‹œ๋˜๋ฉฐ, ๊ฐ ํ•ญ๋ชฉ์—๋Š” ํŒŒ์ผ ์œ„์น˜, ํ•œ ๋ฌธ์žฅ ์š”์•ฝ, ๊ทธ๋ฆฌ๊ณ  ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์— ์นดํ…Œ๊ณ ๋ฆฌ ํƒœ๊ทธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ `correctness` ๊ฐ™์€ ์นดํ…Œ๊ณ ๋ฆฌ ํƒœ๊ทธ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ์š”์ฒญ์€ ๋ชจ๋“  effort ์ˆ˜์ค€์— ์ ์šฉ๋˜๋ฉฐ Claude Code v2.1.218 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

83 

84Claude๊ฐ€ ์ดํ›„ ์„ธ์…˜์—์„œ ๋ณด๊ณ ๋œ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ์ˆ˜์ •ํ•˜๋ฉด ์ด๋ฅผ ๋‹ค์‹œ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด Claude Code๋Š” ์—…๋ฐ์ดํŠธ๋œ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ ๋ชฉ๋ก์—์„œ ๊ฐ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ์ˆ˜์ •๋จ, ๊ฑด๋„ˆ๋œ€ ๋˜๋Š” ๋ณ€๊ฒฝ ๋ถˆํ•„์š”๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

85 

86<h2 id="tune-effort-and-arguments">

87 effort ๋ฐ ์ธ์ˆ˜ ์กฐ์ •

88</h2>

89 

90`--fix` ๋ฐ `--comment` ์™ธ์—๋„ ์ด ๋ช…๋ น์€ ๋‹ค์Œ ํ”Œ๋ž˜๊ทธ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

91 

92* `--post`: `github.com` ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๋Œ€ํ•œ `ultra` ํด๋ผ์šฐ๋“œ ๋ฆฌ๋ทฐ์—์„œ, ์‹คํ–‰ ๋Œ€ํ™” ์ƒ์ž์— ์™„๋ฃŒ๋œ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ PR์— ๊ฒŒ์‹œํ•˜๋Š” ์˜ต์…˜์„ ๋ฏธ๋ฆฌ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. [ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๋ฐœ๊ฒฌ ์‚ฌํ•ญ ๊ฒŒ์‹œ](/docs/ko/ultrareview#post-findings-to-the-pull-request)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. Claude Code v2.1.227 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

93* `--max-findings <n>`, `--max-findings all` ๋˜๋Š” `--max-findings default`: ๋ฆฌ๋ทฐ์˜ ์ผ๋ฐ˜์ ์ธ ์ œํ•œ ๋Œ€์‹  ์ตœ๋Œ€ `n`๊ฐœ์˜ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ๋ณด๊ณ ํ•˜๊ฑฐ๋‚˜, `all`์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๊ฐ€ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ๋ณด๊ณ ํ•˜๋Š” ๊ฒฝ์šฐ ์ œํ•œ์€ 32๊ฐœ์ž…๋‹ˆ๋‹ค. ์ดํ›„ ๋ฆฌ๋ทฐ๋Š” `--max-findings default`๋ฅผ ์ „๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ์ž…๋ ฅํ•œ ๊ฐ’์„ ์žฌ์‚ฌ์šฉํ•˜์ง€๋งŒ, ๋น„๋Œ€ํ™”ํ˜• `-p` ์‹คํ–‰์—์„œ ์ „๋‹ฌํ•œ ๊ฐ’์€ ๊ธฐ์–ต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Claude Code v2.1.288 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

94 

95[effort ์ˆ˜์ค€](/docs/ko/model-config#adjust-effort-level)์„ ์ „๋‹ฌํ•˜์—ฌ ๋ฒ”์œ„์™€ ํ™•์‹ ๋„ ์‚ฌ์ด์˜ ๊ท ํ˜•์„ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. `low`์—์„œ๋Š” ๋ฆฌ๋ทฐ๊ฐ€ ๊ฐ€์žฅ ํ™•์‹ ํ•˜๋Š” ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ๋ณด๊ณ ํ•˜๋ฏ€๋กœ ์˜คํƒ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. `medium`๋ถ€ํ„ฐ `max`๊นŒ์ง€๋Š” ๋ฆฌ๋ทฐ์˜ ๋ฒ”์œ„๊ฐ€ ๋„“์–ด์ง‘๋‹ˆ๋‹ค.

96 

97์ˆ˜์ค€์„ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฆฌ๋ทฐ๋Š” ์ด์ „ ์„ธ์…˜์—์„œ ์ž…๋ ฅํ•œ ๊ฒƒ์ด๋ผ๋„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ž…๋ ฅํ•œ `low`\~`max` ์ˆ˜์ค€์„ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” `Reusing high effort, the level you typed last time`๊ณผ ๊ฐ™์€ ์•Œ๋ฆผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ทœ์น™์— ๋”ฐ๋ผ ์‹คํ–‰์— ์‚ฌ์šฉํ•  ์ˆ˜์ค€์ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

98 

99* **์ˆ˜์ค€ ์ž…๋ ฅ**: `/code-review high`์ฒ˜๋Ÿผ ์ž…๋ ฅํ•œ ์ˆ˜์ค€์€ ์ดํ›„ ์‹คํ–‰์—์„œ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค

100* **๋น„๋Œ€ํ™”ํ˜• ์‹คํ–‰**: ๋น„๋Œ€ํ™”ํ˜• `-p` ์‹คํ–‰์—์„œ ์ „๋‹ฌํ•œ ์ˆ˜์ค€์€ ๊ธฐ์–ต๋œ ์ˆ˜์ค€์„ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

101* **`ultra`**: ๋ฆฌ๋ทฐ๋Š” ๊ธฐ์–ต๋œ ์ˆ˜์ค€์„ ์‚ฌ์šฉํ•˜์ง€๋„ ์—…๋ฐ์ดํŠธํ•˜์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค

102* **์ˆ˜์ค€์„ ์ž…๋ ฅํ•œ ์  ์—†์Œ**: ๋ฆฌ๋ทฐ๋Š” ์„ธ์…˜์˜ ํ˜„์žฌ effort๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค

103 

104v2.1.223 ์ด์ „์—๋Š” ์ˆ˜์ค€ ์—†์ด ์‹คํ–‰ํ•œ `/code-review`๊ฐ€ ํ•ญ์ƒ ์„ธ์…˜์˜ ํ˜„์žฌ effort๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

105 

106<h3 id="post-findings-to-a-gitlab-merge-request">

107 GitLab ๋ณ‘ํ•ฉ ์š”์ฒญ์— ๋ฐœ๊ฒฌ ์‚ฌํ•ญ ๊ฒŒ์‹œ

108</h3>

109 

110GitLab ๋ณ‘ํ•ฉ ์š”์ฒญ์— `--comment`๋ฅผ ์ „๋‹ฌํ•˜๋ฉด Claude Code๋Š” GitLab์˜ `glab` CLI๋ฅผ ํ†ตํ•ด ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. Claude Code v2.1.257 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. `glab`์ด ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด Claude๋Š” ๋Œ€์‹  ํ„ฐ๋ฏธ๋„์— ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

111 

112๋ณ‘ํ•ฉ ์š”์ฒญ์€ URL ๋˜๋Š” `!123` ์ฐธ์กฐ ํ˜•์‹์œผ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ์ฒดํฌ์•„์›ƒ์˜ origin์ด `gitlab.com`์— ์žˆ์„ ๋•Œ๋งŒ ๋‹จ์ˆœ ๋ฒˆํ˜ธ๋‚˜ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ ๋ณ‘ํ•ฉ ์š”์ฒญ์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ž์ฒด ๊ด€๋ฆฌํ˜• GitLab ์ธ์Šคํ„ด์Šค์—์„œ๋Š” URL ๋˜๋Š” `!123` ํ˜•์‹์„ ์ „๋‹ฌํ•˜์„ธ์š”.

113 

114<h3 id="text-after-the-effort-level-and-flags">

115 effort ์ˆ˜์ค€๊ณผ ํ”Œ๋ž˜๊ทธ ๋’ค์˜ ํ…์ŠคํŠธ

116</h3>

117 

118effort ์ˆ˜์ค€๊ณผ ํ”Œ๋ž˜๊ทธ ๋’ค์—์„œ Claude Code๋Š” ์ค„์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ๋ฆฌ๋ทฐ ๋Œ€์ƒ์œผ๋กœ ์ฝ์Šต๋‹ˆ๋‹ค. `ultra` ์ธ์ˆ˜๋Š” ์ด ํ•ด์„ ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

119 

120* **`ultra` ์‚ฌ์šฉ ์‹œ**: Claude Code๋Š” ๋‹จ์ผ ๋‹จ์–ด๋ฅผ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜ ๋˜๋Š” PR ๋ฒˆํ˜ธ๋กœ ์ฝ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋žœ์น˜๋‚˜ PR์„ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” ๋” ๊ธด ํ…์ŠคํŠธ๋Š” [๋ฆฌ๋ทฐ์— ์ฒจ๋ถ€๋˜๋Š” ๋ฉ”๋ชจ](/docs/ko/ultrareview#pass-a-request-in-plain-words)๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. `/code-review ultra check my auth changes`๋Š” ํ˜„์žฌ ๋ธŒ๋žœ์น˜๋ฅผ ๋ฆฌ๋ทฐํ•˜๋ฉฐ, Claude๋Š” ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ๋ฉ”๋ชจ์™€ ์—ฐ๊ด€ ์ง€์–ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

121* **`ultra` ๋ฏธ์‚ฌ์šฉ ์‹œ**: ๋‚จ์€ ๋ชจ๋“  ๋‚ด์šฉ์€ ๋‹ค๋ฅธ ๋ช…๋ น ์ด๋ฆ„์œผ๋กœ ์‹œ์ž‘ํ•˜๋”๋ผ๋„ ๋ฆฌ๋ทฐ ๋Œ€์ƒ์ด ๋ฉ๋‹ˆ๋‹ค. `/code-review /fix-issue 123`์€ `/fix-issue`๋ฅผ ๋‘ ๋ฒˆ์งธ [์Šคํƒ ์Šคํ‚ฌ](/docs/ko/skills#pass-arguments-to-skills)๋กœ ๋กœ๋“œํ•˜๋Š” ๋Œ€์‹  `/fix-issue 123`์„ ๋Œ€์ƒ ํ…์ŠคํŠธ๋กœ ํ•˜์—ฌ ๋ฆฌ๋ทฐํ•ฉ๋‹ˆ๋‹ค. v2.1.218 ์ด์ „์—๋Š” `/code-review` ๋’ค์— ์Šคํƒ๋œ ๋ช…๋ น์ด ์ž์ฒด ์Šคํ‚ฌ๋กœ ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

122 

123<h2 id="run-in-the-foreground">

124 ํฌ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰

125</h2>

126 

127๋ฆฌ๋ทฐ๋ฅผ ํฌ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

128 

129* `-p` ํ”Œ๋ž˜๊ทธ ๋˜๋Š” Agent SDK๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ๋ฆฌ๋ทฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฐ ํ›„ ์‘๋‹ต์— ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, `ultra`๋Š” [ํด๋ผ์šฐ๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค](/docs/ko/ultrareview#run-ultrareview-non-interactively).

130* [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/ko/env-vars)๋ฅผ `1`๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ์„ค์ •์€ ๋‹ค๋ฅธ ๋ชจ๋“  ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—… ๊ธฐ๋Šฅ๋„ ๋•๋‹ˆ๋‹ค

131* ์ด์ „ ๋ฆฌ๋ทฐ๊ฐ€ ์•„์ง ์ง„ํ–‰ ์ค‘์ผ ๋•Œ `/code-review`๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค

132 

133v2.1.218 ์ด์ „์—๋Š” ๋ฆฌ๋ทฐ๊ฐ€ ๋Œ€ํ™” ๋‚ด๋ถ€์—์„œ ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

134 

135<h2 id="let-claude-start-the-review">

136 Claude๊ฐ€ ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•˜๋„๋ก ํ•˜๊ธฐ

137</h2>

138 

139Claude๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ช…๋ น์„ ์ž…๋ ฅํ•˜์ง€ ์•Š์•„๋„ ์Šค์Šค๋กœ `/code-review`๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

140 

141* **์ผ๋ฐ˜ ์–ธ์–ด๋กœ ์š”์ฒญํ•  ๋•Œ**: Claude์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฆฌ๋ทฐํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๋ฉด Claude๊ฐ€ ์Šคํ‚ฌ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

142* **์˜ˆ์•ฝ ์ž‘์—…์—์„œ**: `/code-review`๋ฅผ ํ”„๋กฌํ”„ํŠธ๋กœ ์‚ฌ์šฉํ•˜๋Š” [์˜ˆ์•ฝ ์ž‘์—…](/docs/ko/scheduled-tasks)์ด ๋ฆฌ๋ทฐ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค

143 

144์˜ˆ์•ฝ ์ž‘์—…์€ [ํด๋ผ์šฐ๋“œ ๋ฆฌ๋ทฐ](#escalate-to-ultrareview)๋ฅผ ์‹œ์ž‘ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ `ultra` ์ธ์ˆ˜ ์—†์ด `/code-review`๋ฅผ ์˜ˆ์•ฝํ•˜์„ธ์š”.

145 

146`/code-review`๋ฅผ ์ง์ ‘ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์œ ์ง€ํ•˜๋ฉด์„œ Claude์™€ ์˜ˆ์•ฝ ์ž‘์—… ๋ชจ๋‘ ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋ ค๋ฉด `~/.claude/settings.json` ๊ฐ™์€ [์„ค์ • ํŒŒ์ผ](/docs/ko/settings#where-settings-live)์— [`skillOverrides`](/docs/ko/skills#override-skill-visibility-from-settings) ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

147 

148```json theme={null}

149{

150 "skillOverrides": {

151 "code-review": "user-invocable-only"

152 }

153}

154```

155 

156v2.1.246 ์ด์ „์—๋Š” Anthropic์—์„œ ๊ฐ€์ ธ์˜จ ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ผœ์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ Claude๊ฐ€ ์Šค์Šค๋กœ `/code-review`๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. [๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š๋Š” ์„ธ์…˜](/docs/ko/env-vars#features-that-need-feature-flag-fetching)์—์„œ๋Š” `/code-review`๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ์—๋งŒ ์‹คํ–‰๋˜์—ˆ์œผ๋ฉฐ, ์˜ˆ์•ฝ๋œ `/code-review`๋Š” ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ Claude์— ์ „๋‹ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

157 

158<h2 id="escalate-to-ultrareview">

159 ultrareview๋กœ ํ™•์žฅ

160</h2>

161 

162`/code-review ultra --fix`๋Š” ํด๋ผ์šฐ๋“œ์—์„œ ๋” ์‹ฌ์ธต์ ์ธ [ultrareview](/docs/ko/ultrareview)๋ฅผ ์‹คํ–‰ํ•œ ๋‹ค์Œ, ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด ์„ธ์…˜์— ๋„์ฐฉํ•˜๋ฉด ์ด๋ฅผ ์ž‘์—… ํŠธ๋ฆฌ์— ์ ์šฉํ•˜๋„๋ก Claude์— ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

163 

164Ultrareview๋Š” ์ž์ฒด ๋ฒ”์œ„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

165 

166* **๋น„๊ต ๋Œ€์ƒ**: ํ˜„์žฌ ๋ธŒ๋žœ์น˜์™€ ์ €์žฅ์†Œ์˜ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ ๋น„๊ตํ•˜๋ฉฐ, ์ž‘์—… ํŠธ๋ฆฌ์˜ ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๊ณผ ์Šคํ…Œ์ด์ง•๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค

167* **๋ฏผ๊ฐํ•œ ํŒŒ์ผ**: `.env` ๋ฐ `*.tfvars` ํŒŒ์ผ์ฒ˜๋Ÿผ ์ž๊ฒฉ ์ฆ๋ช…์ด๋‚˜ ํ‚ค์™€ ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ํŒŒ์ผ์˜ ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•ด์„œ๋Š” Claude Code๊ฐ€ [๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์— ์—…๋กœ๋“œ](/docs/ko/claude-code-on-the-web#send-local-repositories-without-github)ํ•˜๋Š” ๊ทœ์น™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค

168* **๋‹ค๋ฅธ ๊ธฐ์ค€**: `/code-review ultra develop`์ฒ˜๋Ÿผ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ ์ „๋‹ฌํ•˜์—ฌ ๋‹ค๋ฅธ ๊ธฐ์ค€๊ณผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค

169 

170๋Œ€์ƒ์ด `github.com` ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์ธ ๊ฒฝ์šฐ, Claude๊ฐ€ ์‚ฌ์šฉ์ž์˜ GitHub ๊ณ„์ •์œผ๋กœ [์™„๋ฃŒ๋œ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ PR์— ๋Œ“๊ธ€๋กœ ๊ฒŒ์‹œ](/docs/ko/ultrareview#post-findings-to-the-pull-request)ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Claude Code v2.1.227 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

171 

172<Note>

173 Ultrareview๋Š” claude.ai ๊ณ„์ •์„ ํ†ตํ•œ ์ธ์ฆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Amazon Bedrock, Google Cloud์˜ Agent Platform ๋˜๋Š” Microsoft Foundry์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, Zero Data Retention์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๊ฑฐ๋‚˜ [HIPAA ๊ตฌ์„ฑ](/docs/ko/hipaa-setup)์ด ์ ์šฉ๋œ ์กฐ์ง์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ `/code-review ultra`๋Š” ๋Œ€์‹  ์„ธ์…˜์—์„œ ๋กœ์ปฌ ๋ฆฌ๋ทฐ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. [๊ณ ๊ฐ ๊ด€๋ฆฌํ˜• ์•”ํ˜ธํ™” ํ‚ค](https://platform.claude.com/docs/en/manage-claude/cmek)(CMEK)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์กฐ์ง์€ ultrareview๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋กœ์ปฌ์—์„œ ๋ฆฌ๋ทฐํ•˜๋ ค๋ฉด `/code-review`๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”.

174</Note>

175 

176์Šคํฌ๋ฆฝํŠธ๋‚˜ CI ์ž‘์—…์—์„œ ํด๋ผ์šฐ๋“œ ๋ฆฌ๋ทฐ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ๊ธฐ๋‹ค๋ฆฐ ํ›„ stdout์— ์ถœ๋ ฅํ•˜๋Š” [`claude ultrareview` ํ•˜์œ„ ๋ช…๋ น](/docs/ko/ultrareview#run-ultrareview-non-interactively)์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

177 

178<h2 id="change-or-build-on-the-review">

179 ๋ฆฌ๋ทฐ ๋ณ€๊ฒฝ ๋˜๋Š” ํ™•์žฅ

180</h2>

181 

182`/code-review`๋Š” [๋ฒˆ๋“ค ์Šคํ‚ฌ](/docs/ko/skills#bundled-skills)์ž…๋‹ˆ๋‹ค. ์ง€์นจ์ด Claude Code์— ๋‚ด์žฅ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๋””์Šคํฌ์— ์—ด๊ฑฐ๋‚˜ ํŽธ์ง‘ํ•  `SKILL.md` ํŒŒ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฆฌ๋ทฐ์— ํ”„๋กœ์ ํŠธ ๊ทœ์น™์„ ์ ์šฉํ•˜๋ ค๋ฉด `CLAUDE.md`์— ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ๋” ๋‚˜์•„๊ฐ€๋ ค๋ฉด ๋‹ค์Œ ํŽ˜์ด์ง€ ์ค‘ ํ•˜๋‚˜์—์„œ ์‹œ์ž‘ํ•˜์„ธ์š”.

183 

184* **๋ช…๋ น ๋Œ€์ฒด**: `code-review`๋ผ๋Š” ์ด๋ฆ„์˜ ํ”„๋กœ์ ํŠธ ๋˜๋Š” ๊ฐœ์ธ ์Šคํ‚ฌ์ด ๋ฒˆ๋“ค ์Šคํ‚ฌ ๋Œ€์‹  ์‹คํ–‰๋˜๋ฉฐ, `/review` ๋ณ„์นญ์€ ๊ณ„์† ๋ฒˆ๋“ค ๋ฆฌ๋ทฐ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. [๊ฐ™์€ ์ด๋ฆ„์„ ๊ณต์œ ํ•˜๋Š” ์Šคํ‚ฌ ํ•ด๊ฒฐ](/docs/ko/skills#resolve-skills-that-share-a-name)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

185* **์ž์ฒด ๋ฆฌ๋ทฐ์–ด ๋งŒ๋“ค๊ธฐ**: ๋ฆฌ๋ทฐ์–ด [์„œ๋ธŒ์—์ด์ „ํŠธ](/docs/ko/sub-agents) ๋˜๋Š” ๋ฆฌ๋ทฐ [์Šคํ‚ฌ](/docs/ko/skills)์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค

186* **์ธ์ ‘ ๋ช…๋ น ์‚ฌ์šฉ**: [`/simplify`](/docs/ko/commands)๋Š” ์ •๋ฆฌ ๋ชฉ์ ์œผ๋กœ๋งŒ ๋ฆฌ๋ทฐํ•˜๊ณ  ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋ฉฐ, [`/verify`](/docs/ko/commands)๋Š” ์•ฑ์„ ์‹คํ–‰ํ•˜์—ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค

187 

188์ด ๋ช…๋ น์€ v2.1.147 ์ด์ „์—๋Š” `/simplify`๋ผ๋Š” ์ด๋ฆ„์ด์—ˆ์œผ๋ฉฐ, ๋‹น์‹œ์—๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„๊ทธ ์ฐพ๊ธฐ๋ฅผ ์œ„ํ•ด `/simplify`๋ฅผ ์Šคํฌ๋ฆฝํŠธ๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด `/code-review --fix`๋กœ ์ „ํ™˜ํ•˜์„ธ์š”.

189 

190<h2 id="related-resources">

191 ๊ด€๋ จ ๋ฆฌ์†Œ์Šค

192</h2>

193 

194* [Code Review](/docs/ko/code-review): ์กฐ์ง์˜ GitHub ๋ชจ๋“  ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ฆฌ๋ทฐํ•˜๋Š” ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค

195* [Ultrareview](/docs/ko/ultrareview): ๋” ์‹ฌ์ธต์ ์ธ ํด๋ผ์šฐ๋“œ ๋ฆฌ๋ทฐ์˜ ์„ค์ •, ์ œํ•œ ๋ฐ ๋น„์šฉ

196* [๋ช…๋ น](/docs/ko/commands): `/code-review`, `/review`, `/simplify`, `/verify`์— ๋Œ€ํ•œ ํ•œ ์ค„ ์ฐธ์กฐ

197* [์Šคํ‚ฌ](/docs/ko/skills): ๋ฒˆ๋“ค ์Šคํ‚ฌ์˜ ์ž‘๋™ ๋ฐฉ์‹๊ณผ ์ง์ ‘ ์Šคํ‚ฌ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

code-review-pull-requests.md +169 โˆ’0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ ๋ฆฌ๋ทฐ ์ฝ๊ธฐ ๋ฐ ์š”์ฒญํ•˜๊ธฐ

6 

7> GitHub ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ Code Review ๊ฒฐ๊ณผ๋ฅผ ์ฝ๊ณ , ์‘๋‹ตํ•˜๊ฑฐ๋‚˜ ํ•ด์ œํ•˜๋ฉฐ, `@claude review`๋กœ ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

8 

9Code Review๋Š” Claude ์กฐ์ง์˜ Owner๊ฐ€ ์ผ๋ จ์˜ GitHub ์ €์žฅ์†Œ์— ๋Œ€ํ•ด ์ผœ๋Š” ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ผœ์ง€๋ฉด Claude๊ฐ€ ํ•ด๋‹น ์ €์žฅ์†Œ์˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ฆฌ๋ทฐํ•˜๊ณ , ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ์ธ๋ผ์ธ ๋Œ“๊ธ€, ๋ฆฌ๋ทฐ ๋ณธ๋ฌธ์˜ ์š”์•ฝ, ๊ทธ๋ฆฌ๊ณ  **Claude Code Review**๋ผ๋Š” ์ด๋ฆ„์˜ ์ฒดํฌ ์‹คํ–‰์œผ๋กœ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์Šน์ธํ•˜๊ฑฐ๋‚˜ ์ฐจ๋‹จํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ฒดํฌ ์‹คํ–‰์€ ์ ˆ๋Œ€ ์‹คํŒจ๋กœ ์ข…๋ฃŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

10 

11Owner๋Š” ๊ฐ ์ €์žฅ์†Œ์— ๋Œ€ํ•ด [๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋˜๋Š” ์‹œ์ ](/docs/ko/code-review-setup#set-when-reviews-run)๊ณผ [๋ฆฌ๋ทฐ์˜ ์ฒ ์ €ํ•œ ์ •๋„](/docs/ko/code-review-setup#set-the-default-review-level)๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.

12 

13<Note>

14 ํ”Œ๋žœ์— Code Review๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋”๋ผ๋„ Claude Code ์„ธ์…˜์—์„œ Claude๊ฐ€ ๋ธŒ๋žœ์น˜๋ฅผ ๋ฆฌ๋ทฐํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [`/code-review`๋กœ ๋กœ์ปฌ์—์„œ ๋ฆฌ๋ทฐํ•˜๊ธฐ](/docs/ko/code-review-local)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

15</Note>

16 

17<h2 id="severity-levels">

18 ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€

19</h2>

20 

21Claude๋Š” ๊ฐ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ํ•ด๋‹น ์ค„์— ์ธ๋ผ์ธ ๋Œ“๊ธ€๋กœ ๊ฒŒ์‹œํ•˜๊ณ  ์„ธ ๊ฐ€์ง€ ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€ ์ค‘ ํ•˜๋‚˜๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

22 

23| ํ‘œ์‹œ | ์‹ฌ๊ฐ๋„ | ์˜๋ฏธ |

24| :- | :- | :- |

25| ๐Ÿ”ด | Important | ๋ณ‘ํ•ฉ ์ „์— ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ๋ฒ„๊ทธ |

26| ๐ŸŸก | Nit | ์ˆ˜์ •ํ•  ๊ฐ€์น˜๋Š” ์žˆ์ง€๋งŒ ์ฐจ๋‹จํ•˜์ง€ ์•Š๋Š” ์‚ฌ์†Œํ•œ ๋ฌธ์ œ |

27| ๐ŸŸฃ | Pre-existing | ์ฝ”๋“œ๋ฒ ์ด์Šค์— ์กด์žฌํ•˜์ง€๋งŒ ์ด PR์—์„œ ๋„์ž…๋˜์ง€ ์•Š์€ ๋ฒ„๊ทธ |

28 

29๋ฆฌ๋ทฐ๊ฐ€ ์ถ”๋ก  ๊ณผ์ •์„ ๊ธฐ๋กํ•œ ๊ฒฝ์šฐ, ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์—๋Š” ์ ‘ํžŒ **Why this was flagged** ์„น์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํŽผ์น˜๋ฉด Claude๊ฐ€ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ์ง€์ ํ•œ ์ด์œ ์™€ ๋ฌธ์ œ๋ฅผ ๊ฒ€์ฆํ•œ ๋ฐฉ๋ฒ•์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

30 

31Claude๊ฐ€ ์ €์žฅ์†Œ์—์„œ ์ง€์ ํ•˜๋Š” ํ•ญ๋ชฉ์ด๋‚˜ ์‹ฌ๊ฐ๋„ ์ˆœ์œ„๋ฅผ ๋งค๊ธฐ๋Š” ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด [Code Review ์‚ฌ์šฉ์ž ์ง€์ •](/docs/ko/code-review-customize)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

32 

33<h2 id="respond-to-findings">

34 ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์— ์‘๋‹ตํ•˜๊ธฐ

35</h2>

36 

37์ €์žฅ์†Œ ์ž์ฒด ๊ทœ์น™์—์„œ ์š”๊ตฌํ•˜์ง€ ์•Š๋Š” ํ•œ, ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์— ์‘๋‹ตํ•˜์ง€ ์•Š๊ณ ๋„ ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋žœ์น˜ ๋ณดํ˜ธ๊ฐ€ [๋Œ€ํ™” ํ•ด๊ฒฐ์„ ์š”๊ตฌ](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-conversation-resolution-before-merging)ํ•˜๋Š” ๊ฒฝ์šฐ, ๋ณ‘ํ•ฉํ•˜๊ธฐ ์ „์— ๊ฐ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

38 

39๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ์ •๋ฆฌํ•˜๋ ค๋ฉด ํ•ด๋‹น ์Šค๋ ˆ๋“œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ • ์‚ฌํ•ญ์„ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.

40 

41* **์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด ํ•ด์ œํ•˜๊ธฐ**: GitHub์—์„œ ์Šค๋ ˆ๋“œ๋ฅผ ์ง์ ‘ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ต๊ธ€๋งŒ์œผ๋กœ๋Š” ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด ํ•ด์ œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

42* **๋ฌธ์ œ ์ˆ˜์ •ํ•˜๊ธฐ**: ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค. ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ๋‹ค์Œ ๋ฆฌ๋ทฐ๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ๋‹ค๊ณ  ํŒ๋‹จํ•˜๋ฉด ์ด์ „ ์Šค๋ ˆ๋“œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฆฌ๋ทฐ๊ฐ€ ํ‘ธ์‹œ ์‹œ ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๋“  ์ง์ ‘ ์š”์ฒญํ•˜๋“  ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

43* **์„ค๋ช…ํ•˜๊ฑฐ๋‚˜ ์ด์˜ ์ œ๊ธฐํ•˜๊ธฐ**: ๋Œ“๊ธ€์— ๋‹ต๊ธ€์„ ๋‹ต๋‹ˆ๋‹ค. Claude๋Š” ์ฆ‰์‹œ ์‘๋‹ตํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๋‹ต๊ธ€๋กœ ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค. ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ๋‹ค์Œ ๋ฆฌ๋ทฐ๊ฐ€ ์ด์ „ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์— ๋‹ฌ๋ฆฐ ๋‹ต๊ธ€์„ ์ฝ๊ณ , ์Šค๋ ˆ๋“œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ฑฐ๋‚˜ ํ›„์† ๋‹ต๊ธ€ ํ•˜๋‚˜๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ์ข…๋ฅ˜์˜ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด ๊ณ„์† ๋ฐ˜๋ณต๋œ๋‹ค๋ฉด ๊ด€๋ฆฌ์ž(maintainer)์—๊ฒŒ [`REVIEW.md`](/docs/ko/code-review-customize#choose-what-to-write-in-review-md)์— ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜์„ธ์š”.

44 

45ํ‘ธ์‹œํ•˜์ง€ ์•Š๊ณ  ๋‹ค์Œ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์œผ๋ ค๋ฉด `@claude review`๋ฅผ [์ตœ์ƒ์œ„ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๋Œ“๊ธ€](#comment-commands)๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

46 

47<h2 id="check-run-output">

48 ์ฒดํฌ ์‹คํ–‰ ์ถœ๋ ฅ

49</h2>

50 

51**Claude Code Review** ์ฒดํฌ ์‹คํ–‰์˜ **Details** ๋งํฌ๋ฅผ ์—ด๋ฉด ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด ์‹ฌ๊ฐ๋„์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ํ•˜๋‚˜์˜ ํ‘œ๋กœ ํ‘œ์‹œ๋˜๋ฉฐ, GitHub๊ฐ€ ์ธ๋ผ์ธ ๋Œ“๊ธ€์„ ๋ฐ›์•„๋“ค์ด์ง€ ์•Š์€ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

52 

53| ์‹ฌ๊ฐ๋„ | ํŒŒ์ผ:์ค„ | ๋ฌธ์ œ |

54| - | - | - |

55| ๐Ÿ”ด Important | `src/auth/session.ts:142` | ํ† ํฐ ๊ฐฑ์‹ ์ด ๋กœ๊ทธ์•„์›ƒ๊ณผ ๊ฒฝํ•ฉํ•˜์—ฌ ์˜ค๋ž˜๋œ ์„ธ์…˜์ด ํ™œ์„ฑ ์ƒํƒœ๋กœ ๋‚จ์Œ |

56| ๐ŸŸก Nit | `src/auth/session.ts:88` | `parseExpiry`๊ฐ€ ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•ด ์กฐ์šฉํžˆ 0์„ ๋ฐ˜ํ™˜ํ•จ |

57 

58์ค„ ์ •๋ณด๊ฐ€ ์žˆ์ง€๋งŒ ์ธ๋ผ์ธ ๋Œ“๊ธ€๋กœ ๊ฒŒ์‹œ๋˜์ง€ ์•Š์€ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์€ **Files changed** ํƒญ์˜ ํ•ด๋‹น ์ค„์— ์ฃผ์„(annotation)์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Important ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์€ ๋นจ๊ฐ„์ƒ‰, Nit์€ ๋…ธ๋ž€์ƒ‰, ๊ธฐ์กด ๋ฒ„๊ทธ๋Š” ํšŒ์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

59 

60์ฒดํฌ ์‹คํ–‰์€ neutral๋กœ ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜, ํ‘ธ์‹œ์—์„œ ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ์ด ์—†์–ด ์ž๋™ ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ skipped๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ์ ˆ๋Œ€ ์‹คํŒจ๋กœ ์ข…๋ฃŒ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์™„๋ฃŒ๋œ ๋ฆฌ๋ทฐ๋กœ ์ธํ•ด ํ•„์ˆ˜ ์ฒดํฌ๊ฐ€ ์‹คํŒจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด ๋ณด์ด์ง€ ์•Š๊ฑฐ๋‚˜ ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด [Code Review ๋ฌธ์ œ ํ•ด๊ฒฐ](/docs/ko/code-review-troubleshooting)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

61 

62<h3 id="read-the-result-from-a-script">

63 ์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ฒฐ๊ณผ ์ฝ๊ธฐ

64</h3>

65 

66์ž์ฒด CI์—์„œ ๋ณ‘ํ•ฉ์„ ์ œ์–ดํ•˜๊ฑฐ๋‚˜ ์š”์•ฝ์„ ๊ฒŒ์‹œํ•˜๋ ค๋ฉด `gh`์™€ jq๋กœ Details ํ…์ŠคํŠธ์˜ ๋งˆ์ง€๋ง‰ ์ค„์„ ํŒŒ์‹ฑํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์ค„์€ ๊ธฐ๊ณ„๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ฃผ์„์ž…๋‹ˆ๋‹ค.

67 

68<Steps>

69 <Step title="์ฒดํฌ ์‹คํ–‰ ID ์ฐพ๊ธฐ">

70 ์…ธ์—์„œ ์ปค๋ฐ‹์˜ ์ฒดํฌ ์‹คํ–‰ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๊ณ  `Claude Code Review` ์‹คํ–‰์˜ `id`๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. `OWNER`์™€ `REPO`๋ฅผ ์ €์žฅ์†Œ ์†Œ์œ ์ž์™€ ์ด๋ฆ„์œผ๋กœ, `<commit-sha>`๋ฅผ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ head ์ปค๋ฐ‹์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

71 

72 ```bash theme={null}

73 gh api repos/OWNER/REPO/commits/<commit-sha>/check-runs --jq '.check_runs[] | {id, name}'

74 ```

75 </Step>

76 

77 <Step title="์‹ฌ๊ฐ๋„๋ณ„ ๊ฐœ์ˆ˜ ์ฝ๊ธฐ">

78 `CHECK_RUN_ID`๋ฅผ ํ•ด๋‹น ID๋กœ ๋ฐ”๊ฟ” ์ฒดํฌ ์‹คํ–‰์—์„œ ๊ฐœ์ˆ˜๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค.

79 

80 ```bash theme={null}

81 gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \

82 --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'

83 ```

84 

85 ์ด ๋ช…๋ น์€ ์‹ฌ๊ฐ๋„๋ณ„ ๊ฐœ์ˆ˜๋ฅผ ๋‹ด์€ JSON ๊ฐ์ฒด๋ฅผ ํ‚ค์˜ ์•ŒํŒŒ๋ฒณ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด `{"nit": 1, "normal": 2, "pre_existing": 0}`์ž…๋‹ˆ๋‹ค. ์ด ๊ฐœ์ˆ˜์—๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ ์•„์ง ์—ด๋ ค ์žˆ๋Š”, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ์ด์ „ ๋ฆฌ๋ทฐ์—์„œ ๋‚˜์˜จ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

86 </Step>

87 

88 <Step title="๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ์กฐ์น˜ํ•˜๊ธฐ">

89 ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋‹ค์Œ ๊ฒฝ์šฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

90 

91 * **`normal`์ด 0๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ**: ๋ณ‘ํ•ฉ์„ ์ œ์–ดํ•˜๋ ค๋ฉด ์ž‘์—…์„ ์‹คํŒจ์‹œํ‚ต๋‹ˆ๋‹ค. `normal` ํ‚ค๋Š” Important ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‹ด๊ณ  ์žˆ์œผ๋ฏ€๋กœ, Claude๊ฐ€ ๋ณ‘ํ•ฉ ์ „์— ์ˆ˜์ •ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ๋ฒ„๊ทธ๋ฅผ ํ•˜๋‚˜ ์ด์ƒ ๋ฐœ๊ฒฌํ–ˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

92 * **ํ•ด๋‹น ์ค„์ด ์—†๋Š” ๊ฒฝ์šฐ**: ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด 0๊ฐœ์ธ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํŒ์ •์ด ์—†๋Š” ๊ฒƒ์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์‹คํŒจํ–ˆ๊ฑฐ๋‚˜, ์‹œ๊ฐ„ ์ดˆ๊ณผ๋˜์—ˆ๊ฑฐ๋‚˜, ์ทจ์†Œ๋˜์—ˆ๊ฑฐ๋‚˜, ๋” ์ƒˆ๋กœ์šด ๋ฆฌ๋ทฐ๋กœ ๋Œ€์ฒด๋œ ๋ฆฌ๋ทฐ์˜ ์ฒดํฌ ์‹คํ–‰์—๋Š” ์ด ์ค„์ด ์—†์œผ๋ฉฐ, ์ผ๋ถ€ ์™„๋ฃŒ๋œ ๋ฆฌ๋ทฐ์—๋„ ์—†์Šต๋‹ˆ๋‹ค.

93 </Step>

94</Steps>

95 

96<h2 id="request-a-review">

97 ๋ฆฌ๋ทฐ ์š”์ฒญํ•˜๊ธฐ

98</h2>

99 

100ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ์ดˆ์•ˆ์ด๊ฑฐ๋‚˜ ํฌํฌ์—์„œ ์˜จ ๊ฒฝ์šฐ ์ž๋™ ๋ฆฌ๋ทฐ๊ฐ€ ๊ฑด๋„ˆ๋›ฐ๋ฏ€๋กœ [๋Œ“๊ธ€ ๋ช…๋ น์œผ๋กœ ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญ](#review-drafts-and-pull-requests-from-forks)ํ•ฉ๋‹ˆ๋‹ค. ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์œผ๋ ค๋ฉด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

101 

102* **์—ด๊ฑฐ๋‚˜ ์ค€๋น„ ์™„๋ฃŒ๋กœ ํ‘œ์‹œํ•˜๊ธฐ**: **Once after PR creation** ๋˜๋Š” **After every push**๋กœ ์„ค์ •๋œ ์ €์žฅ์†Œ์—์„œ๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์—ด๊ฑฐ๋‚˜ ๋‹ค์‹œ ์—ด๊ฑฐ๋‚˜, ์ดˆ์•ˆ์„ ๋ฆฌ๋ทฐ ์ค€๋น„ ์™„๋ฃŒ๋กœ ํ‘œ์‹œํ•˜๋ฉด ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

103* **๋ช…๋ น์„ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•˜๊ธฐ**: ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— [`@claude review`](#comment-commands)๋ฅผ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค.

104* **์ปค๋ฐ‹ ํ‘ธ์‹œํ•˜๊ธฐ**: **After every push**๋กœ ์„ค์ •๋œ ์ €์žฅ์†Œ๋‚˜ `@claude review always`๋กœ ๊ตฌ๋…ํ•œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ๋Š” ํ‘ธ์‹œํ•˜๋ฉด ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

105* **Re-run ํด๋ฆญํ•˜๊ธฐ**: ํฌํฌ์—์„œ ์˜ค์ง€ ์•Š์€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋œ ํ›„, ์ฒดํฌ ์‹คํ–‰์—์„œ [๋‹ค์‹œ ์‹คํ–‰](/docs/ko/code-review-troubleshooting#retrigger-a-failed-or-timed-out-review)ํ•ฉ๋‹ˆ๋‹ค.

106* **์ž๋™ ์žฌ์‹œ๋„ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ**: ์„ธ์…˜์ด ์ค‘๋‹จ๋œ ๋ฆฌ๋ทฐ๋Š” ์ž๋™์œผ๋กœ ํ•œ ๋ฒˆ ์žฌ์‹œ๋„๋ฉ๋‹ˆ๋‹ค. ์žฌ์‹œ๋„๊ฐ€ ์ง„ํ–‰ ์ค‘์ผ ๋•Œ๋Š” [์ฒดํฌ ์‹คํ–‰์˜ ์š”์•ฝ](/docs/ko/code-review-troubleshooting#retrigger-a-failed-or-timed-out-review)์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

107 

108<h3 id="comment-commands">

109 ๋Œ“๊ธ€ ๋ช…๋ น

110</h3>

111 

112๋‹ค์Œ ๋ช…๋ น ์ค‘ ํ•˜๋‚˜๋ฅผ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ๋Œ“๊ธ€๋กœ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค.

113 

114| ๋ช…๋ น | ๋™์ž‘ | ์‚ฌ์šฉ ์‹œ์  |

115| :- | :- | :- |

116| `@claude review` | ํ–ฅํ›„ ํ‘ธ์‹œ์— ๋Œ€ํ•ด PR์„ ๊ตฌ๋…ํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ผ ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค | Manual๋กœ ์„ค์ •๋œ ์ €์žฅ์†Œ์˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์ฒ˜๋Ÿผ ์ง€๊ธˆ ํ•œ ๋ฒˆ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›๊ณ  ์‹ถ๊ฑฐ๋‚˜, ๋‹ค๋ฅธ ๋ชจ๋“œ์—์„œ ์ฆ‰์‹œ ์ถ”๊ฐ€ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›๊ณ  ์‹ถ์„ ๋•Œ |

117| `@claude review always` | ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์ดํ›„ ํ‘ธ์‹œ๋กœ ํŠธ๋ฆฌ๊ฑฐ๋˜๋Š” ๋ฆฌ๋ทฐ์— PR์„ ๊ตฌ๋…ํ•ฉ๋‹ˆ๋‹ค | Manual๋กœ ์„ค์ •๋œ ์ €์žฅ์†Œ์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ PR์ฒ˜๋Ÿผ ์ดํ›„ ๋ชจ๋“  ํ‘ธ์‹œ๋งˆ๋‹ค ์ƒˆ ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ์„ ๋•Œ |

118| `@claude review once` | `@claude review`์™€ ๋™์ผ: ๊ตฌ๋…ํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ผ ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค | `@claude review`์™€ ๋™์ผํ•œ ๊ฒฝ์šฐ |

119 

120์ด๋Ÿฌํ•œ ๋ช…๋ น์œผ๋กœ ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์กฐ๊ฑด์„ ๋ชจ๋‘ ์ถฉ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

121 

122* diff ์ค„์˜ ์ธ๋ผ์ธ ๋Œ“๊ธ€์ด๋‚˜ ๋ฆฌ๋ทฐ ๋ณธ๋ฌธ์ด ์•„๋‹Œ, ์ƒˆ๋กœ์šด ์ตœ์ƒ์œ„ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๋Œ“๊ธ€๋กœ ๊ฒŒ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋Œ“๊ธ€์„ ํŽธ์ง‘ํ•˜๋Š” ๊ฒƒ์€ ์ธ์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

123* ๋ช…๋ น์„ ๋Œ“๊ธ€์˜ ๋งจ ์•ž์— ๋‘๊ณ , `always`๋Š” ๋ช…๋ น์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„๊ณผ ๊ฐ™์€ ์ค„์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์†Œ๋ฌธ์ž๋Š” ์ƒ๊ด€์—†์Šต๋‹ˆ๋‹ค.

124* ์ €์žฅ์†Œ์— ๋Œ€ํ•œ write, maintain ๋˜๋Š” admin ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Claude๋Š” ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•œ ๊ฐ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด GitHub์—์„œ ์ด๋ฅผ ํ™•์ธํ•˜๋ฉฐ, ๋ด‡์˜ ๋Œ“๊ธ€๋กœ๋Š” ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

125* ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ์—ด๋ ค ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

126 

127๋ช…๋ น์ด ์ˆ˜๋ฝ๋˜๋ฉด ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— **Code review queued...** ์ œ๋ชฉ์˜ **Claude Code Review** ์ฒดํฌ ์‹คํ–‰์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜๋ฉด ์ œ๋ชฉ์ด \*\*Code review in progress...\*\*๋กœ ๋ฐ”๋€๋‹ˆ๋‹ค. Claude๊ฐ€ ๋Œ“๊ธ€์— ๐Ÿ‘€๋กœ ๋ฐ˜์‘ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์ด ๋ฐ˜์‘์€ ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์„ ๋•Œ๋„ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋Œ€์‹  ์ฒดํฌ ์‹คํ–‰์„ ํ™•์ธํ•˜์„ธ์š”.

128 

129ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ์ตœ์‹  ์ปค๋ฐ‹์—์„œ ์ด๋ฏธ ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰ ์ค‘์ด๋ฉด ์ƒˆ ์š”์ฒญ์œผ๋กœ ๋‘ ๋ฒˆ์งธ ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

130 

131<Note>

132 2026๋…„ 7์›” ์—…๋ฐ์ดํŠธ ์ด์ „์—๋Š” `@claude review`๊ฐ€ ํ‘ธ์‹œ๋กœ ํŠธ๋ฆฌ๊ฑฐ๋˜๋Š” ๋ฆฌ๋ทฐ์— PR์„ ๊ตฌ๋…ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋™์ž‘์— ์˜์กดํ–ˆ๋‹ค๋ฉด ๋Œ€์‹  `@claude review always`๋ฅผ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•˜์„ธ์š”.

133</Note>

134 

135<h3 id="what-a-later-review-covers">

136 ์ดํ›„ ๋ฆฌ๋ทฐ๊ฐ€ ๋‹ค๋ฃจ๋Š” ๋ฒ”์œ„

137</h3>

138 

139ํ‘ธ์‹œ ํ›„์ฒ˜๋Ÿผ ์ž์ฒด์ ์œผ๋กœ ์‹œ์ž‘๋˜๋Š” ์ดํ›„ ๋ฆฌ๋ทฐ๋Š” ๋งˆ์ง€๋ง‰ ๋ฆฌ๋ทฐ ์ดํ›„ ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์— ์ง‘์ค‘ํ•˜๋ฉฐ, Nit๊ณผ ๊ธฐ์กด ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ๋” ์ ๊ฒŒ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. ์š”์•ฝ์—๋Š” ์ œ์™ธํ•œ ํ•ญ๋ชฉ์˜ ๊ฐœ์ˆ˜๊ฐ€ "found and not posted" ๋˜๋Š” "outside the scope of this re-review and not posted."๋กœ ๋๋‚˜๋Š” ์ค„์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

140 

141์ด๋Ÿฌํ•œ ํ•ญ๋ชฉ์„ ํ•˜๋‚˜๋„ ์ œ์™ธํ•˜์ง€ ์•Š๋Š” ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์œผ๋ ค๋ฉด [`@claude review`](#comment-commands)๋ฅผ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฆฌ๋ทฐ๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ์ „์ฒด๋ฅผ ๋‹ค์‹œ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

142 

143<h3 id="review-drafts-and-pull-requests-from-forks">

144 ์ดˆ์•ˆ ๋ฐ ํฌํฌ์˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๋ฆฌ๋ทฐํ•˜๊ธฐ

145</h3>

146 

147์ž๋™ ๋ฆฌ๋ทฐ๋Š” ๋‹ค์Œ ๋‘ ๊ฐ€์ง€๋ฅผ ๋ชจ๋‘ ๊ฑด๋„ˆ๋›ฐ๋ฏ€๋กœ ๋Œ“๊ธ€ ๋ช…๋ น์œผ๋กœ ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

148 

149* **์ดˆ์•ˆ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ**: ๋Œ“๊ธ€ ๋ช…๋ น์€ ์ดˆ์•ˆ์—์„œ๋„ ์‹คํ–‰๋˜๋ฏ€๋กœ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ค€๋น„ ์™„๋ฃŒ๋กœ ํ‘œ์‹œํ•˜๊ธฐ ์ „์— ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. `@claude review always` ์ดํ›„์—๋„ ์ดˆ์•ˆ์— ๋Œ€ํ•œ ํ‘ธ์‹œ๋กœ๋Š” ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ตฌ๋…์€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ค€๋น„ ์™„๋ฃŒ๋กœ ํ‘œ์‹œํ•˜๋ฉด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

150* **ํฌํฌ์˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ**: ์ €์žฅ์†Œ์˜ **Review runs** ์„ค์ •๊ณผ ๊ด€๊ณ„์—†์ด Claude๋Š” ํฌํฌ์—์„œ ์˜จ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ž๋™์œผ๋กœ ๋ฆฌ๋ทฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— `@claude review`๋ฅผ ๋Œ“๊ธ€๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. [๋Œ“๊ธ€ ๋ช…๋ น์˜ ์กฐ๊ฑด](#comment-commands)์€ ๊ทธ๋Œ€๋กœ ์ ์šฉ๋˜๋ฉฐ, ํ•„์š”ํ•œ ์“ฐ๊ธฐ ๊ถŒํ•œ์€ ํฌํฌ๊ฐ€ ์•„๋‹Œ ๊ธฐ๋ณธ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

151 

152ํฌํฌ์˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ `@claude review always`๋„ ์ž‘๋™ํ•˜์ง€๋งŒ, ์ดํ›„ ํ‘ธ์‹œ์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ์— ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๊ตฌ๋…ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ฒดํฌ ์‹คํ–‰์—์„œ **Re-run**์„ ํด๋ฆญํ•ด๋„ ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

153 

154<h3 id="use-code-review-alongside-the-claude-code-github-action">

155 Claude Code GitHub Action๊ณผ ํ•จ๊ป˜ Code Review ์‚ฌ์šฉํ•˜๊ธฐ

156</h3>

157 

158์ €์žฅ์†Œ์—์„œ ๊ธฐ๋ณธ `@claude` ํŠธ๋ฆฌ๊ฑฐ ๋ฌธ๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€ํ™”ํ˜• ๋ชจ๋“œ๋กœ [Claude Code GitHub Action](/docs/ko/github-actions)๋„ ์‹คํ–‰ ์ค‘์ด๋ผ๋ฉด, `@claude review` ๋Œ“๊ธ€์ด Action๋„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€๋ฅผ ๋ถ„๋ฆฌํ•˜๋ ค๋ฉด Action์˜ `trigger_phrase` ์ž…๋ ฅ์„ ๋‹ค๋ฅธ ๋ฌธ๊ตฌ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

159 

160<h2 id="related-resources">

161 ๊ด€๋ จ ๋ฆฌ์†Œ์Šค

162</h2>

163 

164* [Code Review ๋ฌธ์ œ ํ•ด๊ฒฐ](/docs/ko/code-review-troubleshooting): ์‹œ์ž‘๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜, ์‹คํŒจํ–ˆ๊ฑฐ๋‚˜, ์˜ˆ์‚ฐ ๋•Œ๋ฌธ์— ๊ฑด๋„ˆ๋›ด ๋ฆฌ๋ทฐ

165* [Code Review](/docs/ko/code-review): ์„œ๋น„์Šค ๊ฐœ์š” ๋ฐ ๋ฆฌ๋ทฐ ์‹คํ–‰ ๋ฐฉ์‹

166* [Code Review ์„ค์ •ํ•˜๊ธฐ](/docs/ko/code-review-setup): Owner์šฉ, Code Review๋ฅผ ์ผœ๊ณ  ๋ฆฌ๋ทฐ ์‹คํ–‰ ์‹œ์ ๊ณผ ์ˆ˜์ค€ ์„ ํƒ

167* [Code Review ์‚ฌ์šฉ์ž ์ง€์ •](/docs/ko/code-review-customize): `REVIEW.md`์™€ `CLAUDE.md`๋กœ Claude๊ฐ€ ์ง€์ ํ•˜๋Š” ํ•ญ๋ชฉ ๋ณ€๊ฒฝ

168* [Code Review ๋น„์šฉ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰](/docs/ko/code-review-costs): ๋ฆฌ๋ทฐ ์š”๊ธˆ ์ฒญ๊ตฌ ๋ฐฉ์‹๊ณผ ์ง€์ถœ ํ•œ๋„ ์„ค์ • ์œ„์น˜

169* [`/code-review`๋กœ ๋กœ์ปฌ์—์„œ ๋ฆฌ๋ทฐํ•˜๊ธฐ](/docs/ko/code-review-local): Claude Code ์„ธ์…˜์—์„œ ๋ธŒ๋žœ์น˜ ๋ฆฌ๋ทฐ ์‹คํ–‰

code-review-setup.md +189 โˆ’0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Code Review ์„ค์ •

6 

7> Claude ์กฐ์ง์—์„œ Code Review๋ฅผ ์ผญ๋‹ˆ๋‹ค. GitHub๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ , Claude GitHub App์„ ์„ค์น˜ํ•˜๊ณ , ์ €์žฅ์†Œ๋ฅผ ์„ ํƒํ•˜๊ณ , ๋ฆฌ๋ทฐ ์‹คํ–‰ ์‹œ์ ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค

8 

9Claude ์กฐ์ง์˜ Owner๋Š” claude.ai์˜ [**๊ด€๋ฆฌ์ž ์„ค์ • > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review)์—์„œ Code Review๋ฅผ ์ผญ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๋Š” Anthropic ์ธํ”„๋ผ์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ์ €์žฅ์†Œ์— ์›Œํฌํ”Œ๋กœ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

10 

11์„ค์ • ํ›„์—๋Š” ๊ฐ ์ €์žฅ์†Œ์—์„œ ๋ฆฌ๋ทฐ์˜ ์ฒ ์ €ํ•จ ์ˆ˜์ค€๊ณผ ์‹คํ–‰ ์‹œ์ ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ ์ˆ˜์ค€์ด ๋†’์„์ˆ˜๋ก, ๊ทธ๋ฆฌ๊ณ  ๋ฆฌ๋ทฐ๊ฐ€ ๋” ์ž์ฃผ ์‹คํ–‰๋ ์ˆ˜๋ก ๋น„์šฉ์ด ๋” ๋งŽ์ด ๋“ญ๋‹ˆ๋‹ค. [Code Review ๋น„์šฉ](/docs/ko/code-review-costs#pricing)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

12 

13<h2 id="what-you-need-to-turn-on-code-review">

14 Code Review๋ฅผ ์ผœ๋Š” ๋ฐ ํ•„์š”ํ•œ ์‚ฌํ•ญ

15</h2>

16 

17๋จผ์ € ์กฐ์ง์ด [Code Review ์‚ฌ์šฉ ์ž๊ฒฉ์„ ๊ฐ–์ถ”์—ˆ๋Š”์ง€](/docs/ko/code-review#availability) ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์•„๋ž˜ ์ ‘๊ทผ ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€, ๋˜๋Š” ํ•ด๋‹น ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

18 

19| ์ ‘๊ทผ ๊ถŒํ•œ | ํ•„์š”ํ•œ ์ž‘์—… |

20| :- | :- |

21| Claude ์กฐ์ง์˜ [Owner ์—ญํ• ](/docs/ko/server-managed-settings#access-control) | ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์˜ ๋ชจ๋“  ๋‹จ๊ณ„ |

22| GitHub ์กฐ์ง์˜ owner | Claude GitHub App ์„ค์น˜ ๋ฐ [Claude ์กฐ์ง์— ์—ฐ๊ฒฐ](/docs/ko/admin-setup#connected-github-accounts). owner๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ, ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— owner์—๊ฒŒ ์•ฑ ์„ค์น˜์™€ ์—ฐ๊ฒฐ์„ ์š”์ฒญํ•˜์„ธ์š” |

23| Claude์— ์—ฐ๊ฒฐํ•˜๋Š” GitHub ๊ณ„์ •์—์„œ ์ถ”๊ฐ€ํ•˜๋ ค๋Š” ๊ฐ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ๊ถŒํ•œ | ์ €์žฅ์†Œ ์ถ”๊ฐ€ |

24 

25<h2 id="turn-on-code-review">

26 Code Review ์ผœ๊ธฐ

27</h2>

28 

29<Steps>

30 <Step title="Allow code review ์Šค์œ„์น˜ ํด๋ฆญ">

31 [**๊ด€๋ฆฌ์ž ์„ค์ • > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review)์˜ **Code review** ์„น์…˜์œผ๋กœ ์ด๋™ํ•˜์—ฌ **Allow code review** ์Šค์œ„์น˜๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

32 

33 ๋Œ€ํ™” ์ƒ์ž ์—†์ด Code Review๊ฐ€ ๋ฐ”๋กœ ์ผœ์ง„๋‹ค๋ฉด, ์กฐ์ง์— ์ด๋ฏธ Claude GitHub App์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ฑฐ๋‚˜ ์ €์žฅ์†Œ๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. [์ €์žฅ์†Œ ๋” ์ถ”๊ฐ€ํ•˜๊ธฐ](#add-more-repositories)๋กœ ์ด๋™ํ•œ ํ›„ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„๋ฅผ ์œ„ํ•ด ๋‹ค์‹œ ๋Œ์•„์˜ค์„ธ์š”.

34 </Step>

35 

36 <Step title="GitHub ๊ณ„์ • ์—ฐ๊ฒฐ">

37 **Connect GitHub** ๋Œ€ํ™” ์ƒ์ž๊ฐ€ ์—ด๋ฆฌ๋ฉด **Connect**๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์กฐ์ง์—์„œ GitHub Enterprise Server๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ๋จผ์ € ๋Œ€ํ™” ์ƒ์ž์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. GitHub์—์„œ Claude ์ธ์ฆ์„ ์š”์ฒญํ•œ ํ›„, **Add a repository** ๋Œ€ํ™” ์ƒ์ž๊ฐ€ ์—ด๋ฆฐ ์ƒํƒœ๋กœ ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€๋กœ ๋Œ์•„์˜ต๋‹ˆ๋‹ค.

38 

39 **Add a repository**๊ฐ€ ๋ฐ”๋กœ ์—ด๋ ธ๋‹ค๋ฉด ๊ณ„์ •์ด ์ด๋ฏธ ์—ฐ๊ฒฐ๋œ ๊ฒƒ์ด๋ฏ€๋กœ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค.

40 </Step>

41 

42 <Step title="Claude GitHub App ์„ค์น˜">

43 ์›ํ•˜๋Š” ์ €์žฅ์†Œ๊ฐ€ **Add a repository** ๋Œ€ํ™” ์ƒ์ž์— ํ‘œ์‹œ๋˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰์œผ๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค. ๋Œ€ํ™” ์ƒ์ž์—๋Š” Claude GitHub App์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ €์žฅ์†Œ๋งŒ ํ‘œ์‹œ๋˜๋ฏ€๋กœ, ์ €์žฅ์†Œ๊ฐ€ ์—†๋‹ค๋ฉด ์•ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

44 

45 * **Install GitHub App**์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์‹œ๋˜๋Š” ์ €์žฅ์†Œ๊ฐ€ ์—†์œผ๋ฉด ๋Œ€ํ™” ์ƒ์ž์— ๋ฒ„ํŠผ์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋Œ€ํ™” ์ƒ์ž์˜ GitHub ์กฐ์ง ํ•„ํ„ฐ ๋ฉ”๋‰ด ํ•˜๋‹จ์— ์žˆ์Šต๋‹ˆ๋‹ค. GitHub ์„ค์น˜ ํŽ˜์ด์ง€๊ฐ€ ์ƒˆ ํƒญ์—์„œ ์—ด๋ฆฝ๋‹ˆ๋‹ค.

46 * ์ €์žฅ์†Œ๋ฅผ ์†Œ์œ ํ•œ GitHub ์กฐ์ง์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

47 * ์•ฑ์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ €์žฅ์†Œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

48 * ์š”์ฒญ๋œ ๊ถŒํ•œ์„ ์Šน์ธํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ถŒํ•œ ์„ธํŠธ๋Š” ๋ฆฌ๋ทฐ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฒ”์œ„๋ณด๋‹ค ๋„“์œผ๋ฉฐ [GitHub Actions](/docs/ko/github-actions) ๊ฐ™์€ ๋‹ค๋ฅธ Claude ๊ธฐ๋Šฅ๊ณผ ๊ณต์œ ๋ฉ๋‹ˆ๋‹ค. [๋ฆฌ๋ทฐ๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ](/docs/ko/code-review#what-a-review-can-access)๊ณผ [์ „์ฒด ๊ถŒํ•œ ๋ชฉ๋ก](/docs/ko/github-actions#github-app-permissions)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

49 * ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ํƒญ์ด Claude๋กœ ๋Œ์•„์˜ต๋‹ˆ๋‹ค. **Finish connecting GitHub** ๋ฒ„ํŠผ์ด ํ‘œ์‹œ๋˜๋ฉด ํด๋ฆญํ•˜์—ฌ ์„ค์น˜๋ฅผ Claude ์กฐ์ง์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

50 * ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ํƒญ์œผ๋กœ ๋Œ์•„๊ฐ€๋ฉด ๋Œ€ํ™” ์ƒ์ž์˜ ๋ชฉ๋ก์ด ์ƒˆ๋กœ ๊ณ ์ณ์ง‘๋‹ˆ๋‹ค.

51 </Step>

52 

53 <Step title="์ €์žฅ์†Œ ์„ ํƒ">

54 ๋ฆฌ๋ทฐํ•  ์ €์žฅ์†Œ๋ฅผ ์„ ํƒํ•œ ํ›„ **Continue**๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ €์žฅ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ์—ฐ๊ฒฐํ•œ GitHub ๊ณ„์ •์— ํ•ด๋‹น ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์ค‘์— [์ €์žฅ์†Œ๋ฅผ ๋” ์ถ”๊ฐ€](#add-more-repositories)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

55 </Step>

56 

57 <Step title="Finish ํด๋ฆญ">

58 ์ด์–ด์„œ **Code review is set up** ๋Œ€ํ™” ์ƒ์ž๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. **Finish**๋ฅผ ํด๋ฆญํ•˜์—ฌ Code Review๋ฅผ ์ผญ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋Œ€ํ™” ์ƒ์ž๋ฅผ ๋‹ซ์œผ๋ฉด ์ €์žฅ์†Œ๋Š” ์ถ”๊ฐ€๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜์ง€๋งŒ **Allow code review**๋Š” ๊บผ์ง„ ์ƒํƒœ๋กœ ๋‚จ์œผ๋ฉฐ, ์Šค์œ„์น˜์—์„œ ์ง์ ‘ ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

59 

60 ๊ฐ ์ €์žฅ์†Œ๋Š” ์ฒ˜์Œ์— ํ‘ธ์‹œํ•  ๋•Œ๋งˆ๋‹ค ๋ฆฌ๋ทฐํ•˜๋„๋ก ์„ค์ •๋˜๋ฉฐ, ์ด ์„ค์ •์—์„œ ๋ฆฌ๋ทฐ๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ ํšŸ์ˆ˜๋ฅผ ์ค„์ด๋ ค๋ฉด [๋ฆฌ๋ทฐ ์‹คํ–‰ ์‹œ์ ์„ ์„ค์ •](#set-when-reviews-run)ํ•˜์„ธ์š”.

61 </Step>

62 

63 <Step title="ํ…Œ์ŠคํŠธ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋กœ ํ™•์ธ">

64 ์ถ”๊ฐ€ํ•œ ์ €์žฅ์†Œ ์ค‘ ํ•˜๋‚˜์—์„œ ํ…Œ์ŠคํŠธ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์—ด๊ณ , ๋“œ๋ž˜ํ”„ํŠธ๋กœ ํ‘œ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ช‡ ๋ถ„ ๋‚ด์— **Claude Code Review**๋ผ๋Š” ์ด๋ฆ„์˜ check run์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์ €์žฅ์†Œ๋ฅผ ์ด๋ฏธ \*\*Manual (@claude review)\*\*๋กœ ์„ค์ •ํ–ˆ๋‹ค๋ฉด, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— `@claude review`๋ผ๋Š” ๋Œ“๊ธ€์„ ๋‹ฌ์•„ ์ฒซ ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

65 

66 check run์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์œผ๋ฉด [ํ…Œ์ŠคํŠธ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— check run์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Œ](/docs/ko/code-review-troubleshooting#no-check-run-appears-on-the-test-pull-request)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

67 

68 ๋ฆฌ๋ทฐ๊ฐ€ ๋„์ฐฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ [ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ ๋ฆฌ๋ทฐ ์ฝ๊ธฐ ๋ฐ ์š”์ฒญํ•˜๊ธฐ](/docs/ko/code-review-pull-requests)๋ฅผ ๊ณต์œ ํ•˜์„ธ์š”. ์ด ๋ฌธ์„œ์—์„œ๋Š” ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€, ๋Œ“๊ธ€ ๋ช…๋ น, ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์— ๋Œ€์‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

69 </Step>

70</Steps>

71 

72<h2 id="set-defaults-for-your-organization">

73 ์กฐ์ง ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •

74</h2>

75 

76Owner๋Š” ๋ฆฌ๋ทฐ์˜ ์ฒ ์ €ํ•จ ์ˆ˜์ค€๊ณผ ์‹คํ–‰ ๋นˆ๋„๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ์„ค์ • ๋ชจ๋‘ [**๊ด€๋ฆฌ์ž ์„ค์ • > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review)์˜ **Code review** ์„น์…˜์— ์žˆ์Šต๋‹ˆ๋‹ค.

77 

78<h3 id="set-the-default-review-level">

79 ๊ธฐ๋ณธ ๋ฆฌ๋ทฐ ์ˆ˜์ค€ ์„ค์ •

80</h3>

81 

82๋ฆฌ๋ทฐ ์ˆ˜์ค€์€ ๊ฐ ๋ฆฌ๋ทฐ์˜ ์ฒ ์ €ํ•จ์„ ๊ฒฐ์ •ํ•˜๋ฉฐ, ๋” ์ฒ ์ €ํ•œ ๋ฆฌ๋ทฐ์ผ์ˆ˜๋ก ๋น„์šฉ์ด ๋” ๋งŽ์ด ๋“ญ๋‹ˆ๋‹ค. ์กฐ์ง์— ํ•˜๋‚˜์˜ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜๊ณ  ๊ฐœ๋ณ„ ์ €์žฅ์†Œ์—์„œ ์ด๋ฅผ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

83 

84| ์ˆ˜์ค€ | ์ ˆ์ถฉ ์‚ฌํ•ญ |

85| :- | :- |

86| Quick | ๊ฐ€๋ฒผ์šด ๊ฒ€ํ† . ๊ฐ€์žฅ ๋น ๋ฅด๊ณ  ๋น„์šฉ์ด ๊ฐ€์žฅ ๋‚ฎ์€ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค |

87| Standard | ๊นŠ์ด, ์†๋„, ๋น„์šฉ์˜ ๊ท ํ˜•. ๊ธฐ๋ณธ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค |

88| Deep | ๊ฐ€์žฅ ์ฒ ์ €ํ•œ ๊ฒ€ํ† . ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ  ๋น„์šฉ์ด ๊ฐ€์žฅ ๋งŽ์ด ๋“ญ๋‹ˆ๋‹ค |

89 

90* **์กฐ์ง ๊ธฐ๋ณธ๊ฐ’**: **Review level**์—์„œ ์ˆ˜์ค€์„ ์„ ํƒํ•˜๊ณ  **Change level**๋กœ ํ™•์ •ํ•ฉ๋‹ˆ๋‹ค. ์ €์žฅ์†Œ์— ๋ณ„๋„ ์ˆ˜์ค€์„ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” ํ•œ ๋ชจ๋“  ์ €์žฅ์†Œ๊ฐ€ ์ด ๊ฐ’์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

91* **๊ฐœ๋ณ„ ์ €์žฅ์†Œ**: ์ €์žฅ์†Œ ํ–‰์—์„œ **Edit**๋ฅผ ํด๋ฆญํ•œ ํ›„ **Review level**์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์˜ต์…˜์ธ **Default**๋Š” ์กฐ์ง ์„ค์ •์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์ˆ˜์ค€์€ ์„ ํƒํ•˜๋Š” ์ฆ‰์‹œ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

92 

93์ƒˆ ์ˆ˜์ค€์€ ๋ณ€๊ฒฝ ํ›„ ์‹œ์ž‘๋˜๋Š” ๋ฆฌ๋ทฐ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ฆฌ๋ทฐ์˜ ๋น„์šฉ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋‹ค๋ฅธ ์š”์ธ์€ [Code Review ๋น„์šฉ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰](/docs/ko/code-review-costs)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

94 

95<h3 id="set-when-reviews-run">

96 ๋ฆฌ๋ทฐ ์‹คํ–‰ ์‹œ์  ์„ค์ •

97</h3>

98 

99๊ฐ ์ €์žฅ์†Œ์—๋Š” ์ž์ฒด **Review runs** ์„ค์ •์ด ์žˆ์œผ๋ฉฐ, ์ด ์„ค์ •์ด ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ๋ฆฌ๋ทฐ๋˜๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

100 

101* **Once after PR creation**: ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ์—ด๋ฆฌ๊ฑฐ๋‚˜, ๋‹ค์‹œ ์—ด๋ฆฌ๊ฑฐ๋‚˜, ๋ฆฌ๋ทฐ ์ค€๋น„ ์™„๋ฃŒ๋กœ ํ‘œ์‹œ๋  ๋•Œ ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค

102* **After every push**: ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๋ธŒ๋žœ์น˜์— ํ‘ธ์‹œํ•  ๋•Œ ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋˜์–ด, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ๋ฐœ์ „ํ•จ์— ๋”ฐ๋ผ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ํฌ์ฐฉํ•˜๊ณ  ํ”Œ๋ž˜๊ทธ๋œ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ์Šค๋ ˆ๋“œ๋ฅผ ์ž๋™์œผ๋กœ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค

103* **Manual (@claude review)**: ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์—ด๊ฑฐ๋‚˜ ํ‘ธ์‹œํ•ด๋„ ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•˜๋ ค๋ฉด [`@claude review`](/docs/ko/code-review-pull-requests#comment-commands) ๋Œ“๊ธ€์„ ๋‹ฌ๊ณ , ์ดํ›„ ํ‘ธ์‹œ์—๋„ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›๋„๋ก ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๊ตฌ๋…ํ•˜๋ ค๋ฉด `@claude review always` ๋Œ“๊ธ€์„ ๋‹ต๋‹ˆ๋‹ค.

104 

105Manual์€ ํŠน์ • ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋งŒ ์„ ํƒ์ ์œผ๋กœ ๋ฆฌ๋ทฐํ•˜๋ ค๋Š” ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์€ ์ €์žฅ์†Œ๋‚˜, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ์ค€๋น„๋œ ํ›„์—๋งŒ ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์˜ต์…˜์ด ๋น„์šฉ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ๋น„๊ตํ•˜๋ ค๋ฉด [๋ฆฌ๋ทฐ ์‹คํ–‰ ๋นˆ๋„](/docs/ko/code-review-costs#how-often-reviews-run)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

106 

107์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด **Repositories** ํ‘œ์—์„œ ์ €์žฅ์†Œ ํ–‰์˜ **Edit**๋ฅผ ํด๋ฆญํ•˜๊ณ  **Review runs** ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ์€ ์ฆ‰์‹œ ์ €์žฅ๋˜๋ฉฐ, ํ‘œ์˜ **Review runs** ์—ด์—๋Š” Once per PR, Every push, Manual๋กœ ์ถ•์•ฝ๋˜์–ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

108 

109* **๋“œ๋ž˜ํ”„ํŠธ ๋ฐ ํฌํฌ์—์„œ ์˜จ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ**: ์–ด๋–ค ์˜ต์…˜์„ ์„ ํƒํ•˜๋“  [์ž๋™ ๋ฆฌ๋ทฐ๋Š” ๋‘˜ ๋‹ค ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค](/docs/ko/code-review-pull-requests#review-drafts-and-pull-requests-from-forks)

110* **์ƒˆ ์ €์žฅ์†Œ**: **Add a repository** ๋Œ€ํ™” ์ƒ์ž์—์„œ ์ถ”๊ฐ€ํ•œ ์ €์žฅ์†Œ๋Š” **After every push**๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น GitHub ์กฐ์ง์ด [์ „์ฒด์ ์œผ๋กœ ์ ์šฉ](#cover-a-whole-github-organization)๋œ ๊ฒฝ์šฐ์—๋Š” ๋Œ€์‹  ํ•ด๋‹น ์กฐ์ง ํ–‰์˜ ์„ค์ •์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

111 

112<h3 id="turn-tip-comments-on-or-off">

113 ํŒ ๋Œ“๊ธ€ ์ผœ๊ธฐ ๋˜๋Š” ๋„๊ธฐ

114</h3>

115 

116ํŒ ๋Œ“๊ธ€์€ ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์„ ๋•Œ Claude๊ฐ€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๊ฒŒ์‹œํ•˜๋Š” ์งง์€ ๋Œ“๊ธ€๋กœ, ๊ทธ ์ด์œ ์™€ ๋‹ค์Œ์— ํ•  ์ผ์„ ์•Œ๋ ค ์ค๋‹ˆ๋‹ค. **Show tips on pull requests**๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ผœ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์„ค์ •์ด ์ผœ์ ธ ์žˆ์œผ๋ฉด Claude๋Š” ๋‹ค์Œ ๊ฐ ๊ฒฝ์šฐ์— ํŒ์„ ๊ฒŒ์‹œํ•˜์—ฌ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

117 

118* **์ €์žฅ์†Œ๊ฐ€ Manual๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ**: ๋Œ“๊ธ€๋กœ ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•˜๋Š” ๋ฐฉ๋ฒ•

119* **ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ํฌํฌ์—์„œ ์˜จ ๊ฒฝ์šฐ**: ๋ฉ”์ธํ…Œ์ด๋„ˆ๊ฐ€ ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ 

120* **๋ด‡ ๋˜๋Š” ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์—†๋Š” ์‚ฌ๋žŒ์ด `@claude review` ๋Œ“๊ธ€์„ ๋‹จ ๊ฒฝ์šฐ**: ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์•˜๋‹ค๋Š” ์ ๊ณผ ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ

121* **GitHub ์กฐ์ง์ด Claude ์กฐ์ง์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ**: ๋ฆฌ๋ทฐ๊ฐ€ ์ผ์‹œ ์ค‘์ง€๋˜์—ˆ๋‹ค๋Š” ์ ๊ณผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•

122 

123์ด๋Ÿฌํ•œ ๋Œ“๊ธ€์„ ์ค‘์ง€ํ•˜๋ ค๋ฉด ์„ค์ •์„ ๋•๋‹ˆ๋‹ค.

124 

125<h3 id="what-developers-can-change">

126 ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ

127</h3>

128 

129๋ฆฌ๋ทฐ ์ˆ˜์ค€, **Review runs** ์„ค์ •, ๋ฆฌ๋ทฐ ๋Œ€์ƒ ์ €์žฅ์†Œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ Owner์—๊ฒŒ ์š”์ฒญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Owner ์—ญํ• ์ด ์—†์–ด๋„ ๊ฐœ๋ฐœ์ž๋Š” GitHub์—์„œ ๋‹ค์Œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

130 

131* **๋ฆฌ๋ทฐ ์š”์ฒญ**: ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— [`@claude review`](/docs/ko/code-review-pull-requests#comment-commands) ๋Œ“๊ธ€์„ ๋‹ต๋‹ˆ๋‹ค. ์ด ์ž‘์—…์—๋Š” ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ํ•„์š”ํ•˜๋ฉฐ, ์ž๋™ ๋ฆฌ๋ทฐ๊ฐ€ ๊ฑด๋„ˆ๋›ฐ๋Š” [๋“œ๋ž˜ํ”„ํŠธ ๋ฐ ํฌํฌ์—์„œ ์˜จ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ](/docs/ko/code-review-pull-requests#review-drafts-and-pull-requests-from-forks)์—์„œ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

132* **ํ‘ธ์‹œํ•  ๋•Œ๋งˆ๋‹ค ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›๋„๋ก ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๊ตฌ๋…**: Manual๋กœ ์„ค์ •๋œ ์ €์žฅ์†Œ ๋“ฑ์—์„œ [๋“œ๋ž˜ํ”„ํŠธ๊ฐ€ ์•„๋‹ˆ๊ฑฐ๋‚˜ ํฌํฌ์—์„œ ์˜ค์ง€ ์•Š์€](/docs/ko/code-review-pull-requests#review-drafts-and-pull-requests-from-forks) ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— `@claude review always` ๋Œ“๊ธ€์„ ๋‹ต๋‹ˆ๋‹ค

133* **๋ฆฌ๋ทฐ๊ฐ€ ํ”Œ๋ž˜๊ทธํ•˜๋Š” ํ•ญ๋ชฉ ๋ณ€๊ฒฝ**: ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒ€์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ์ €์žฅ์†Œ์— [`REVIEW.md` ๋ฐ `CLAUDE.md` ํŒŒ์ผ](/docs/ko/code-review-customize)์„ ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค

134 

135๊ฐœ๋ฐœ์ž๊ฐ€ ์š”์ฒญํ•œ ๋ฆฌ๋ทฐ๋Š” [์กฐ์ง์— ์ฒญ๊ตฌ๋ฉ๋‹ˆ๋‹ค](/docs/ko/code-review-costs#pricing). Code Review์˜ ์›”๊ฐ„ ์ง€์ถœ์„ ์ œํ•œํ•˜๋ ค๋ฉด [์ง€์ถœ ์ œํ•œ](/docs/ko/code-review-costs#limit-your-spend)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

136 

137<h2 id="manage-repositories">

138 ์ €์žฅ์†Œ ๊ด€๋ฆฌ

139</h2>

140 

141์ €์žฅ์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ GitHub ์กฐ์ง ์ „์ฒด๋ฅผ ํ•œ ๋ฒˆ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์›ํ•˜์ง€ ์•Š๋Š” ๊ณณ์—์„œ๋Š” ๋ฆฌ๋ทฐ๋ฅผ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

142 

143<h3 id="add-more-repositories">

144 ์ €์žฅ์†Œ ๋” ์ถ”๊ฐ€ํ•˜๊ธฐ

145</h3>

146 

147์„ค์ • ํ›„ ์ €์žฅ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด **Code review** ์„น์…˜์˜ **Repositories** ํ‘œ ์œ„์— ์žˆ๋Š” **Add**๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. **Add a repository** ๋Œ€ํ™” ์ƒ์ž๊ฐ€ ์—ด๋ฆฝ๋‹ˆ๋‹ค. ์ €์žฅ์†Œ๋ฅผ ์„ ํƒํ•˜๊ณ  **Continue**๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

148 

149* **์ €์žฅ์†Œ๊ฐ€ ๋ชฉ๋ก์— ์—†๋Š” ๊ฒฝ์šฐ**: [Add a repository์— ์ €์žฅ์†Œ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ](/docs/ko/code-review-troubleshooting#a-repository-isnโ€™t-listed-in-add-a-repository)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

150* **GitHub ์กฐ์ง์˜ ๋ชจ๋“  ์ €์žฅ์†Œ๋ฅผ ์›ํ•˜๋Š” ๊ฒฝ์šฐ**: ์ €์žฅ์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ์„ ํƒํ•˜๋Š” ๋Œ€์‹  [์กฐ์ง ์ „์ฒด๋ฅผ ์ ์šฉ](#cover-a-whole-github-organization)ํ•ฉ๋‹ˆ๋‹ค

151 

152<h3 id="cover-a-whole-github-organization">

153 GitHub ์กฐ์ง ์ „์ฒด ์ ์šฉ

154</h3>

155 

156GitHub ์กฐ์ง์˜ ๋ชจ๋“  ์ €์žฅ์†Œ์—์„œ Code Review๋ฅผ ์ผœ๋ ค๋ฉด **Repositories** ํ‘œ์—์„œ ํ•ด๋‹น ์กฐ์ง ํ–‰์˜ **Review runs**๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‚˜์ค‘์— ์ถ”๊ฐ€๋˜๋Š” ์ €์žฅ์†Œ๋ฅผ ํฌํ•จํ•˜์—ฌ Claude GitHub App์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํ•ด๋‹น ์กฐ์ง์˜ ๋ชจ๋“  ์ €์žฅ์†Œ๊ฐ€ ์ ์šฉ ๋Œ€์ƒ์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ง€์ถœ์ด ํฌ๊ฒŒ ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์กฐ๊ฑด์„ ๋ชจ๋‘ ์ถฉ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

157 

158* Claude์— ์—ฐ๊ฒฐํ•œ GitHub ๊ณ„์ •์ด ํ•ด๋‹น GitHub ์กฐ์ง์˜ owner์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

159* ์กฐ์ง์ด github.com์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. GitHub Enterprise Server ์ธ์Šคํ„ด์Šค์™€ ๊ฐœ์ธ GitHub ๊ณ„์ •์€ ํ•ด๋‹น๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

160* Claude ์กฐ์ง ๋˜๋Š” Code Review์— ๋Œ€ํ•œ [์›”๊ฐ„ ์ง€์ถœ ํ•œ๋„](/docs/ko/code-review-costs#limit-your-spend)๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

161 

162์กฐ์ง ์ „์ฒด๋ฅผ ์ ์šฉํ•˜๋ ค๋ฉด ํ•ด๋‹น ํ–‰์˜ **Edit**๋ฅผ ํด๋ฆญํ•˜๊ณ  **Review runs** ์˜ต์…˜์„ ์„ ํƒํ•œ ํ›„ ํ™•์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ต์…˜์€ [๋ฆฌ๋ทฐ ์‹คํ–‰ ์‹œ์  ์„ค์ •](#set-when-reviews-run)์˜ ์„ธ ๊ฐ€์ง€ ์˜ต์…˜์— **Off**๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

163 

164ํ™•์ •ํ•˜๋ฉด ๋‹ค์Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

165 

166* **์ ์šฉ ๋ฒ”์œ„**: ๊ฐ ์ €์žฅ์†Œ๋Š” ๋‹ค์Œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ถ€ํ„ฐ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. Claude GitHub App์ด ๋ชจ๋“  ์ €์žฅ์†Œ๊ฐ€ ์•„๋‹Œ ์„ ํƒํ•œ ์ €์žฅ์†Œ์—๋งŒ ์„ค์น˜๋œ ๊ฒฝ์šฐ Claude๋Š” ํ•ด๋‹น ์ €์žฅ์†Œ๋งŒ ๋ฆฌ๋ทฐํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ์ €์žฅ์†Œ๋„ ์ ์šฉํ•˜๋ ค๋ฉด GitHub์—์„œ ์•ฑ์˜ ์ €์žฅ์†Œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•˜์„ธ์š”.

167* **๊ธฐ์กด ์„ค์ •**: ๊ฐœ๋ณ„์ ์œผ๋กœ ์„ค์ •ํ•œ ์ €์žฅ์†Œ๋ฅผ ํฌํ•จํ•˜์—ฌ ํ•ด๋‹น GitHub ์กฐ์ง์˜ ๋ชจ๋“  ์ €์žฅ์†Œ๊ฐ€ ์„ ํƒํ•œ ์˜ต์…˜์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ํ–‰์„ ๋‹ค์‹œ ์„ค์ •ํ•ด๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๊ฐ ์ €์žฅ์†Œ ํ–‰์—์„œ ๋ˆ ์ €์žฅ์†Œ๋Š” ๊บผ์ง„ ์ƒํƒœ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

168* **์ดํ›„ ๊ฐœ๋ณ„ ๋ณ€๊ฒฝ**: ๋‚˜์ค‘์— ์กฐ์ง๊ณผ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•œ ์ €์žฅ์†Œ๋Š” ํ‘œ์— **Custom**์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

169* **๋ฆฌ๋ทฐ ์ˆ˜์ค€**: ์กฐ์ง ํ–‰์—๋Š” ์ž์ฒด ๋ฆฌ๋ทฐ ์ˆ˜์ค€์ด ์—†์Šต๋‹ˆ๋‹ค.

170 

171<h3 id="turn-off-code-review-or-remove-a-repository">

172 Code Review ๋„๊ธฐ ๋˜๋Š” ์ €์žฅ์†Œ ์ œ๊ฑฐ

173</h3>

174 

175[**๊ด€๋ฆฌ์ž ์„ค์ • > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review)์˜ **Code review** ์„น์…˜์—์„œ ์ค‘์ง€ํ•˜๋ ค๋Š” ๋Œ€์ƒ์— ๋งž๋Š” ์ปจํŠธ๋กค์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

176 

177* **์ €์žฅ์†Œ ํ•˜๋‚˜, ๋ชฉ๋ก์—๋Š” ์œ ์ง€**: ํ•ด๋‹น ํ–‰์˜ **Edit**๋ฅผ ํด๋ฆญํ•˜๊ณ  **Code review**๋ฅผ ๋•๋‹ˆ๋‹ค. ํ‘œ์— ์ €์žฅ์†Œ๊ฐ€ Off๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

178* **์ €์žฅ์†Œ ํ•˜๋‚˜, ์ œ๊ฑฐ**: ํ•ด๋‹น ํ–‰์˜ **Edit**๋ฅผ ํด๋ฆญํ•œ ํ›„ ๋Œ€ํ™” ์ƒ์ž ํ•˜๋‹จ์˜ **Remove repository**๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์ €์žฅ์†Œ์˜ ๋ฆฌ๋ทฐ๊ฐ€ ์ค‘์ง€๋˜๋ฉฐ, ์ดํ›„ ๋‹ค๋ฅธ Claude ์กฐ์ง์ด ํ•ด๋‹น ์ €์žฅ์†Œ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅ์†Œ์˜ GitHub ์กฐ์ง์ด ์ „์ฒด์ ์œผ๋กœ ์ ์šฉ๋œ ๋™์•ˆ์—๋Š” ์ œ๊ฑฐํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋Œ€์‹  **Code review** ์Šค์œ„์น˜๋ฅผ ๋•๋‹ˆ๋‹ค.

179* **GitHub ์กฐ์ง ์ „์ฒด**: ์กฐ์ง ํ–‰์˜ **Edit**๋ฅผ ํด๋ฆญํ•˜๊ณ  **Off**๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ•ด๋‹น ์กฐ์ง์—์„œ ํ•˜๋‚˜์”ฉ ์ถ”๊ฐ€ํ•œ ์ €์žฅ์†Œ๋„ ๊บผ์ง‘๋‹ˆ๋‹ค.

180* **์ „์ฒด**: **Allow code review**๋ฅผ ๋•๋‹ˆ๋‹ค. ์–ด๋–ค ์ €์žฅ์†Œ์—์„œ๋„ ์ƒˆ ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์œผ๋ฉฐ, ์ €์žฅ์†Œ ๋ชฉ๋ก์€ ์œ ์ง€๋˜๋ฏ€๋กœ ๋‚˜์ค‘์— ๋‹ค์‹œ ์ผค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

181 

182<h2 id="related-resources">

183 ๊ด€๋ จ ๋ฆฌ์†Œ์Šค

184</h2>

185 

186* [Code Review ๋น„์šฉ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰](/docs/ko/code-review-costs): ๋ฆฌ๋ทฐ ์ˆ˜์ค€๊ณผ ๋ฆฌ๋ทฐ ์‹คํ–‰ ์‹œ์ ์ด ์ง€์ถœ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ, ์ง€์ถœ ํ•œ๋„ ์„ค์ • ๋ฐฉ๋ฒ•, ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ ์œ„์น˜

187* [ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ ๋ฆฌ๋ทฐ ์ฝ๊ธฐ ๋ฐ ์š”์ฒญํ•˜๊ธฐ](/docs/ko/code-review-pull-requests): ๊ฐœ๋ฐœ์ž๊ฐ€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ ๋ณด๋Š” ๋‚ด์šฉ๊ณผ ๋Œ“๊ธ€ ๋ช…๋ น

188* [Code Review ์‚ฌ์šฉ์ž ์ง€์ •](/docs/ko/code-review-customize): `REVIEW.md` ๋ฐ `CLAUDE.md`๋กœ Claude๊ฐ€ ํ”Œ๋ž˜๊ทธํ•˜๋Š” ํ•ญ๋ชฉ ์กฐ์ •

189* [GitHub Enterprise Server](/docs/ko/github-enterprise-server): ์„ค์ • ์ „์— ์ž์ฒด ํ˜ธ์ŠคํŒ… GitHub ์ธ์Šคํ„ด์Šค ์—ฐ๊ฒฐ

code-review-troubleshooting.md +113 โˆ’0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Code Review ๋ฌธ์ œ ํ•ด๊ฒฐ

6 

7> ์‹œ์ž‘๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜, ์‹คํŒจํ–ˆ๊ฑฐ๋‚˜, ์˜ˆ์‚ฐ ๋•Œ๋ฌธ์— ๊ฑด๋„ˆ๋›ด Code Review๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ๋ˆ„๋ฝ๋œ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ์ฐพ๊ณ , ์„ค์ • ๋ฐ `REVIEW.md` ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

8 

9[Code Review](/docs/ko/code-review)๊ฐ€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ ์˜ˆ์ƒ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์œผ๋ฉด ๋จผ์ € **Claude Code Review** ์ฒดํฌ ์‹คํ–‰์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ฒดํฌ ์‹คํ–‰์˜ ์ œ๋ชฉ์„ ๋ณด๋ฉด ๋ฆฌ๋ทฐ๊ฐ€ ์–ด๋””๊นŒ์ง€ ์ง„ํ–‰๋˜์—ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

10 

11<h2 id="check-how-far-the-review-got">

12 ๋ฆฌ๋ทฐ ์ง„ํ–‰ ์ƒํ™ฉ ํ™•์ธํ•˜๊ธฐ

13</h2>

14 

15ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ **Claude Code Review** ์ฒดํฌ ์‹คํ–‰์„ ์ฐพ์€ ๋‹ค์Œ, ๊ทธ ์ œ๋ชฉ์„ ์•„๋ž˜์˜ ์ผ๋ฐ˜์ ์ธ ์ œ๋ชฉ๊ณผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

16 

17| ์ฒดํฌ ์‹คํ–‰ ์ œ๋ชฉ | ์˜๋ฏธ | ์กฐ์น˜ |

18| :- | :- | :- |

19| **Code review queued...** ๋˜๋Š” **Code review in progress...** | ๋ฆฌ๋ทฐ๊ฐ€ ์•„์ง ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค | ์ œ๋ชฉ์ด ๋ฐ”๋€” ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค |

20| **Code review found no issues** | ๋ฆฌ๋ทฐ๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์œผ๋ฉฐ ์ง€์ ํ•  ์‚ฌํ•ญ์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค | ์กฐ์น˜๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค |

21| ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ๋‹ค๋Š” ์ œ๋ชฉ | ๋ฆฌ๋ทฐ๊ฐ€ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ๊ณผ ํ•จ๊ป˜ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค | diff์—์„œ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด ๋ณด์ด์ง€ ์•Š์œผ๋ฉด [์ธ๋ผ์ธ ๋Œ“๊ธ€๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ฐพ๊ธฐ](#find-issues-that-arenโ€™t-showing-as-inline-comments)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š” |

22| **Code review skipped โ€” no new changes** | ์ตœ๊ทผ ํ‘ธ์‹œ์— ๋Œ€ํ•ด ์ž๋™ ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค | ๊ทธ๋ž˜๋„ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์œผ๋ ค๋ฉด `@claude review`๋ผ๊ณ  ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค |

23| **Code review failed** ๋˜๋Š” **Code review timed out** | ๋ฆฌ๋ทฐ๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค | ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ ค๋ฉด [์‹คํŒจํ•˜๊ฑฐ๋‚˜ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋œ ๋ฆฌ๋ทฐ ๋‹ค์‹œ ํŠธ๋ฆฌ๊ฑฐํ•˜๊ธฐ](#retrigger-a-failed-or-timed-out-review)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š” |

24| **Code review declined** | ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค | ์ฒดํฌ ์‹คํ–‰์˜ ์š”์•ฝ์„ ์ฝ์Šต๋‹ˆ๋‹ค. ์š”์•ฝ์— ์˜ˆ์‚ฐ์ด๋‚˜ ์ง€์ถœ ํ•œ๋„๊ฐ€ ์–ธ๊ธ‰๋˜์–ด ์žˆ์œผ๋ฉด [๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  PR์— ์˜ˆ์‚ฐ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ](#review-didnโ€™t-run-and-the-pr-shows-a-budget-message)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š” |

25| ์ฒดํฌ ์‹คํ–‰ ์—†์Œ | ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค | `@claude review`๋ผ๊ณ  ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ํ›„์—๋„ ์ฒดํฌ ์‹คํ–‰์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์œผ๋ฉด [๋Œ“๊ธ€ ๋ช…๋ น์œผ๋กœ ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ](#a-comment-command-didnโ€™t-start-a-review)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š” |

26 

27<h2 id="a-review-didnโ€™t-start">

28 ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

29</h2>

30 

31**Claude Code Review** ์ฒดํฌ ์‹คํ–‰์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ฑฐ๋‚˜, Claude๊ฐ€ ๋ฆฌ๋ทฐ๋ฅผ ๊ฑด๋„ˆ๋›ฐ์—ˆ๋‹ค๋Š” ๋Œ“๊ธ€์„ ๊ฒŒ์‹œํ•œ ๊ฒฝ์šฐ ๋‹ค์Œ ์‚ฌ๋ก€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

32 

33<h3 id="a-comment-command-didnโ€™t-start-a-review">

34 ๋Œ“๊ธ€ ๋ช…๋ น์œผ๋กœ ๋ฆฌ๋ทฐ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

35</h3>

36 

37`@claude review`๋ผ๊ณ  ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•œ ํ›„, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ **Code review queued...** ๋˜๋Š” \*\*Code review in progress...\*\*๋ผ๋Š” ์ œ๋ชฉ์˜ **Claude Code Review** ์ฒดํฌ ์‹คํ–‰์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋Œ“๊ธ€์— ๐Ÿ‘€ ๋ฐ˜์‘์ด ๋‹ฌ๋ ธ๋‹ค๊ณ  ํ•ด์„œ ๋ฆฌ๋ทฐ๊ฐ€ ์ง„ํ–‰๋œ๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ์ฒดํฌ ์‹คํ–‰์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์œผ๋ฉด ๋‹ค์Œ ๊ฐ ์›์ธ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

38 

39* **์ด ์ €์žฅ์†Œ์— Code Review๊ฐ€ ์ผœ์ ธ ์žˆ์ง€ ์•Š์Œ**: Claude๊ฐ€ ๋ช…๋ น์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ๋Œ“๊ธ€์ด๋‚˜ ์ฒดํฌ ์‹คํ–‰์„ ๊ฒŒ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Owner์—๊ฒŒ [์ €์žฅ์†Œ ์ถ”๊ฐ€](/docs/ko/code-review-setup#add-more-repositories)๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

40* **๋Œ“๊ธ€์ด ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜์ง€ ์•Š์Œ**: ์ƒˆ ์ตœ์ƒ์œ„ ๋Œ“๊ธ€์ด ์•„๋‹ˆ๋ผ ์ธ๋ผ์ธ ๋Œ“๊ธ€์ด๋‚˜ ๋ฆฌ๋ทฐ ๋ณธ๋ฌธ์ด์—ˆ๊ฑฐ๋‚˜, ๋ช…๋ น์ด ๋Œ“๊ธ€์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ์žˆ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋Œ“๊ธ€์„ ๊ฒŒ์‹œํ•˜์ง€ ์•Š๊ณ  ์ด์ „ ๋Œ“๊ธ€์„ ํŽธ์ง‘ํ•œ ๊ฒฝ์šฐ๋„ ์ธ์ •๋˜์ง€ ์•Š์œผ๋ฉฐ, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ์—ด๋ ค ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. [๋Œ“๊ธ€ ๋ช…๋ น์˜ ์กฐ๊ฑด](/docs/ko/code-review-pull-requests#comment-commands)์„ ํ™•์ธํ•˜๊ณ  ์ด๋ฅผ ์ถฉ์กฑํ•˜๋Š” ์ƒˆ ๋Œ“๊ธ€์„ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค.

41* **์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์—†์Œ**: ์ €์žฅ์†Œ์— ๋Œ€ํ•œ write, maintain ๋˜๋Š” admin ๊ถŒํ•œ์ด ํ•„์š”ํ•˜๋ฉฐ, ํฌํฌ์—์„œ ์ƒ์„ฑ๋œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด ๊ธฐ์ค€์ด ๋ฉ๋‹ˆ๋‹ค. ์กฐ์ง์—์„œ ํŒ์„ ์ผœ ๋‘” ๊ฒฝ์šฐ Claude๊ฐ€ "No review was started: manual reviews can only be requested by someone with write access to this repository."๋ผ๊ณ  ๋‹ต์žฅํ•ฉ๋‹ˆ๋‹ค. ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ๋Œ€์‹  ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

42* **์˜ˆ์‚ฐ ์†Œ์ง„**: Claude๊ฐ€ "โš ๏ธ Code review skipped"๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋Œ“๊ธ€์„ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. [๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  PR์— ์˜ˆ์‚ฐ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ](#review-didnโ€™t-run-and-the-pr-shows-a-budget-message)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

43 

44<h3 id="review-didnโ€™t-run-and-the-pr-shows-a-budget-message">

45 ๋ฆฌ๋ทฐ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  PR์— ์˜ˆ์‚ฐ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ

46</h3>

47 

48์กฐ์ง์˜ ์˜ˆ์‚ฐ์œผ๋กœ ๋ฆฌ๋ทฐ ๋น„์šฉ์„ ๊ฐ๋‹นํ•  ์ˆ˜ ์—†์œผ๋ฉด Code Review๋Š” ๋ฆฌ๋ทฐ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ , Claude๊ฐ€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— "โš ๏ธ Code review skipped"๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋Œ“๊ธ€์„ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด ์ค‘ ์ผ๋ถ€ ๊ฒฝ์šฐ์—๋Š” **Code review declined**๋ผ๋Š” ์ œ๋ชฉ์˜ ์ฒดํฌ ์‹คํ–‰๋„ ํ•จ๊ป˜ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

49 

50์ด ๋Œ“๊ธ€์—๋Š” ๊ด€๋ฆฌ์ž๊ฐ€ ์˜ˆ์‚ฐ์„ ๋ณต์›ํ•  ์ˆ˜ ์žˆ๋Š” [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) ๋งํฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ“๊ธ€์˜ ๋ฌธ๊ตฌ๋ฅผ ๋ณด๋ฉด ์–ด๋–ค ํ•œ๋„์— ๋„๋‹ฌํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

51 

52* **"has reached its monthly code review spending cap"**: [Code Review์˜ ์›”๊ฐ„ ์ง€์ถœ ํ•œ๋„](/docs/ko/code-review-costs#limit-your-spend)์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๋Š” ๋‹ค์Œ ์ฒญ๊ตฌ ๊ธฐ๊ฐ„์ด ์‹œ์ž‘๋  ๋•Œ ์žฌ๊ฐœ๋ฉ๋‹ˆ๋‹ค. ๋” ์ผ์ฐ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์œผ๋ ค๋ฉด ๊ด€๋ฆฌ์ž์—๊ฒŒ ํ•œ๋„๋ฅผ ๋†’์—ฌ ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

53* **"has no extra usage available to pay for this review"**: ์กฐ์ง์˜ [์‚ฌ์šฉ๋Ÿ‰ ํฌ๋ ˆ๋”ง](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) ์ž”์•ก์ด ๋น„์–ด ์žˆ๊ฑฐ๋‚˜, ์ „์ฒด ์›”๊ฐ„ ์ง€์ถœ ํ•œ๋„์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž์—๊ฒŒ ์‚ฌ์šฉ๋Ÿ‰ ํฌ๋ ˆ๋”ง์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ํ•ด๋‹น ํ•œ๋„๋ฅผ ๋†’์—ฌ ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

54* **"is too low to start another review"**: ๋‚จ์€ ์˜ˆ์‚ฐ์ด๋‚˜ ์ž”์•ก์ด ๋ฆฌ๋ทฐ 1ํšŒ์˜ ์˜ˆ์ƒ ๋น„์šฉ๋ณด๋‹ค ์ ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž์—๊ฒŒ ํ•œ๋„๋ฅผ ๋†’์ด๊ฑฐ๋‚˜ ์‚ฌ์šฉ๋Ÿ‰ ํฌ๋ ˆ๋”ง์„ ์ถ”๊ฐ€ํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

55 

56์˜ˆ์‚ฐ์ด ๋ณต์›๋œ ํ›„ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— `@claude review`๋ผ๊ณ  ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•˜๋ฉด ๊ฑด๋„ˆ๋›ด ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [๋Œ“๊ธ€ ๋ช…๋ น์˜ ์กฐ๊ฑด](/docs/ko/code-review-pull-requests#comment-commands)์ด ์ ์šฉ๋˜๋ฏ€๋กœ ๋Œ“๊ธ€ ์ž‘์„ฑ์ž์—๊ฒŒ ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

57 

58<h2 id="retrigger-a-failed-or-timed-out-review">

59 ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋œ ๋ฆฌ๋ทฐ ๋‹ค์‹œ ํŠธ๋ฆฌ๊ฑฐํ•˜๊ธฐ

60</h2>

61 

62์ฒดํฌ ์‹คํ–‰์˜ ์š”์•ฝ์— "The review session was interrupted before it could finish. A new review of this commit has been queued automatically."๋ผ๊ณ  ํ‘œ์‹œ๋˜์–ด ์žˆ๋‹ค๋ฉด ๋ณ„๋„๋กœ ์กฐ์น˜ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฆฌ๋ทฐ๋Š” ์ž๋™์œผ๋กœ ํ•œ ๋ฒˆ ์žฌ์‹œ๋„๋ฉ๋‹ˆ๋‹ค.

63 

64๊ทธ ์™ธ์— ์ฒดํฌ ์‹คํ–‰์˜ ์ œ๋ชฉ์ด **Code review failed** ๋˜๋Š” **Code review timed out**์ธ ๊ฒฝ์šฐ, ๋Œ“๊ธ€์ด๋‚˜ ์žฌ์‹คํ–‰์œผ๋กœ ๋ฆฌ๋ทฐ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

65 

66* **`@claude review` ๋Œ“๊ธ€ ์ž‘์„ฑ**: ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ์ตœ์ƒ์œ„ ๋Œ“๊ธ€๋กœ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ดํ›„ ํ‘ธ์‹œ์— ๊ตฌ๋…์‹œํ‚ค์ง€ ์•Š๊ณ  ์ƒˆ ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

67* **Re-run ํด๋ฆญ**: ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ [ํฌํฌ์—์„œ ์ƒ์„ฑ๋œ](/docs/ko/code-review-pull-requests#review-drafts-and-pull-requests-from-forks) ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋ฉด, GitHub์˜ **Checks** ํƒญ์—์„œ **Claude Code Review** ์ฒดํฌ์˜ **Re-run**์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์žฌ์‹คํ–‰์€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ํ˜„์žฌ ํ—ค๋“œ ์ปค๋ฐ‹์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋ฉฐ, ์ด ๋ฐฉ๋ฒ• ์—ญ์‹œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๊ตฌ๋…์‹œํ‚ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

68 

69<h2 id="find-issues-that-arenโ€™t-showing-as-inline-comments">

70 ์ธ๋ผ์ธ ๋Œ“๊ธ€๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ฐพ๊ธฐ

71</h2>

72 

73์ฒดํฌ ์‹คํ–‰ ์ œ๋ชฉ์—๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ๋‹ค๊ณ  ๋‚˜์™€ ์žˆ์ง€๋งŒ diff์— ์ธ๋ผ์ธ ๋ฆฌ๋ทฐ ๋Œ“๊ธ€์ด ๋ณด์ด์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋˜๋Š” ๋‹ค์Œ์˜ ๋‹ค๋ฅธ ์œ„์น˜๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

74 

75* **์ฒดํฌ ์‹คํ–‰ Details**: **Checks** ํƒญ์—์„œ **Claude Code Review** ์ฒดํฌ ์˜†์˜ **Details**๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์‹ฌ๊ฐ๋„ ํ‘œ์—๋Š” ์ธ๋ผ์ธ ๋Œ“๊ธ€์˜ ๊ฒŒ์‹œ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด ํŒŒ์ผ, ์ค„, ์š”์•ฝ๊ณผ ํ•จ๊ป˜ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค.

76* **Files changed ์ฃผ์„**: PR์˜ **Files changed** ํƒญ์„ ์—ฝ๋‹ˆ๋‹ค. ์ค„ ์ •๋ณด๊ฐ€ ์žˆ์ง€๋งŒ ์ธ๋ผ์ธ ๋Œ“๊ธ€๋กœ ๊ฒŒ์‹œ๋˜์ง€ ์•Š์€ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์€ ํ•ด๋‹น ์ค„์— ์ฃผ์„์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

77* **๋ฆฌ๋ทฐ ๋ณธ๋ฌธ**: ์ธ๋ผ์ธ ์œ„์น˜๊ฐ€ ์—†๊ฑฐ๋‚˜ ํ˜„์žฌ diff ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์€ ๋ฆฌ๋ทฐ ๋ณธ๋ฌธ์˜ **Additional findings** ์ œ๋ชฉ ์•„๋ž˜์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

78 

79<h2 id="the-check-run-mentions-review-md">

80 ์ฒดํฌ ์‹คํ–‰์— REVIEW\.md๊ฐ€ ์–ธ๊ธ‰๋˜๋Š” ๊ฒฝ์šฐ

81</h2>

82 

83์ฒดํฌ ์‹คํ–‰์— ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ๋Š” `REVIEW.md` ๊ด€๋ จ ๋ฉ”์‹œ์ง€ ์ค‘ ๋‘ ๊ฐ€์ง€๋Š” ๋ธŒ๋žœ์น˜ ๋ณดํ˜ธ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

84 

85* **"This review applied the repository's review instructions (REVIEW\.md) from its default branch, which is not protected against direct pushes."**: ๋ฆฌ๋ทฐ๊ฐ€ ๋ฃจํŠธ ํŒŒ์ผ๋งŒ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋žœ์น˜๋ฅผ ๋ณดํ˜ธํ•˜๋ฉด ๋ฌด์—‡์ด ๋‹ฌ๋ผ์ง€๋Š”์ง€๋Š” [REVIEW.md๋ฅผ ์ฝ๋Š” ๋ธŒ๋žœ์น˜](/docs/ko/code-review-customize#which-branch-review-md-is-read-from)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

86* **"were not applied to this review: branch protection could not be confirmed"**: ๋ฆฌ๋ทฐ๊ฐ€ `REVIEW.md`๋ฅผ ์ „ํ˜€ ์ฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

87 

88<h2 id="setup-problems">

89 ์„ค์ • ๋ฌธ์ œ

90</h2>

91 

92๋‹ค์Œ ์‚ฌ๋ก€๋Š” Owner๊ฐ€ [Code Review๋ฅผ ์„ค์ •](/docs/ko/code-review-setup)ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

93 

94<h3 id="a-repository-isnโ€™t-listed-in-add-a-repository">

95 Add a repository์— ์ €์žฅ์†Œ๊ฐ€ ๋‚˜์—ด๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

96</h3>

97 

98๋Œ€ํ™” ์ƒ์ž๋Š” ๊ธด ๋ชฉ๋ก์„ ์ „๋ถ€ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š์œผ๋ฏ€๋กœ ๋จผ์ € ์ด๋ฆ„์œผ๋กœ ์ €์žฅ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™” ์ƒ์ž์—๋Š” Claude GitHub App์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ €์žฅ์†Œ๋งŒ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. **Install GitHub App**์„ ํด๋ฆญํ•˜๊ณ  ์•ฑ์— ํ•ด๋‹น ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์—ด๋œ ์ €์žฅ์†Œ๊ฐ€ ์—†์œผ๋ฉด **Install GitHub App**์€ ๋Œ€ํ™” ์ƒ์ž์˜ ๋ฒ„ํŠผ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋Œ€ํ™” ์ƒ์ž์˜ GitHub ์กฐ์ง ํ•„ํ„ฐ ๋ฉ”๋‰ด ํ•˜๋‹จ์— ์žˆ์Šต๋‹ˆ๋‹ค.

99 

100<h3 id="no-check-run-appears-on-the-test-pull-request">

101 ํ…Œ์ŠคํŠธ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ์ฒดํฌ ์‹คํ–‰์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

102</h3>

103 

104**Allow code review**๊ฐ€ ์ผœ์ ธ ์žˆ๋Š”์ง€, **Code review** ์„น์…˜์˜ **Repositories** ์•„๋ž˜์— ์ €์žฅ์†Œ๊ฐ€ ๋‚˜์—ด๋˜์–ด ์žˆ๋Š”์ง€, Claude GitHub App์ด ํ•ด๋‹น ์ €์žฅ์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ž๋™ ๋ฆฌ๋ทฐ๋Š” ์ดˆ์•ˆ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋ฉฐ, \*\*Manual (@claude review)\*\*๋กœ ์„ค์ •๋œ ์ €์žฅ์†Œ๋Š” ์ฒซ ๋ฒˆ์งธ ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋ฉด `@claude review` ๋Œ“๊ธ€์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

105 

106<h2 id="related-resources">

107 ๊ด€๋ จ ๋ฆฌ์†Œ์Šค

108</h2>

109 

110* [ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์—์„œ ๋ฆฌ๋ทฐ ์ฝ๊ธฐ ๋ฐ ์š”์ฒญํ•˜๊ธฐ](/docs/ko/code-review-pull-requests): ๋ฐœ๊ฒฌ ์‚ฌํ•ญ๊ณผ ์ฒดํฌ ์‹คํ–‰์˜ ์˜๋ฏธ, ๊ทธ๋ฆฌ๊ณ  ๋Œ“๊ธ€ ๋ช…๋ น

111* [Code Review ์„ค์ •ํ•˜๊ธฐ](/docs/ko/code-review-setup): Owner๋ฅผ ์œ„ํ•œ Code Review ์ผœ๊ธฐ ๋ฐ ์ €์žฅ์†Œ ๊ด€๋ฆฌ

112* [Code Review ๋น„์šฉ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰](/docs/ko/code-review-costs): ์˜ˆ์‚ฐ ๋ฉ”์‹œ์ง€์˜ ์›์ธ์ด ๋˜๋Š” ์ง€์ถœ ํ•œ๋„

113* [Code Review ์‚ฌ์šฉ์ž ์ง€์ •ํ•˜๊ธฐ](/docs/ko/code-review-customize): ๋ฆฌ๋ทฐ๊ฐ€ ์ฝ๋Š” `REVIEW.md`์˜ ์‚ฌ๋ณธ

commands.md +2 โˆ’2

Details

72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[์Šคํ‚ฌ](/docs/ko/skills#bundled-skills).** ํ”„๋กœ์ ํŠธ ์–ธ์–ด์— ๋งž๋Š” [Claude API](https://platform.claude.com/docs/en/api/overview) ๋ฐ [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) ์ฐธ์กฐ ์ž๋ฃŒ๋ฅผ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ์—์„œ `anthropic` ๋˜๋Š” `@anthropic-ai/sdk`๋ฅผ ์ž„ํฌํŠธํ•˜๋ฉด ์ž๋™์œผ๋กœ ํ™œ์„ฑํ™”๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํ•˜์œ„ ๋ช…๋ น์˜ ๊ธฐ๋Šฅ๊ณผ ํ•„์š”ํ•œ ๋ฒ„์ „์€ [Claude API ํ”„๋กœ์ ํŠธ ์ž‘์—…](/docs/ko/skills#work-on-claude-api-projects)์„ ์ฐธ์กฐํ•˜์„ธ์š” |72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[์Šคํ‚ฌ](/docs/ko/skills#bundled-skills).** ํ”„๋กœ์ ํŠธ ์–ธ์–ด์— ๋งž๋Š” [Claude API](https://platform.claude.com/docs/en/api/overview) ๋ฐ [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) ์ฐธ์กฐ ์ž๋ฃŒ๋ฅผ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ์—์„œ `anthropic` ๋˜๋Š” `@anthropic-ai/sdk`๋ฅผ ์ž„ํฌํŠธํ•˜๋ฉด ์ž๋™์œผ๋กœ ํ™œ์„ฑํ™”๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํ•˜์œ„ ๋ช…๋ น์˜ ๊ธฐ๋Šฅ๊ณผ ํ•„์š”ํ•œ ๋ฒ„์ „์€ [Claude API ํ”„๋กœ์ ํŠธ ์ž‘์—…](/docs/ko/skills#work-on-claude-api-projects)์„ ์ฐธ์กฐํ•˜์„ธ์š” |

73| `/claude-in-chrome [task]` | **[์Šคํ‚ฌ](/docs/ko/skills#bundled-skills).** [Claude in Chrome](/docs/ko/chrome)์„ ํ†ตํ•ด ํŽ˜์ด์ง€ ํ…Œ์ŠคํŠธ, ์–‘์‹ ์ž‘์„ฑ, ์ฝ˜์†” ๋กœ๊ทธ ์ฝ๊ธฐ ๋“ฑ์˜ ์ž‘์—…์„ Claude๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์—์„œ Chrome ํ†ตํ•ฉ์ด ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ(์˜ˆ: `claude --chrome` ์‚ฌ์šฉ) ๋˜๋Š” Claude Code๊ฐ€ [ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜](/docs/ko/chrome#install-the-extension-when-claude-asks)๋ฅผ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค |73| `/claude-in-chrome [task]` | **[์Šคํ‚ฌ](/docs/ko/skills#bundled-skills).** [Claude in Chrome](/docs/ko/chrome)์„ ํ†ตํ•ด ํŽ˜์ด์ง€ ํ…Œ์ŠคํŠธ, ์–‘์‹ ์ž‘์„ฑ, ์ฝ˜์†” ๋กœ๊ทธ ์ฝ๊ธฐ ๋“ฑ์˜ ์ž‘์—…์„ Claude๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์—์„œ Chrome ํ†ตํ•ฉ์ด ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ(์˜ˆ: `claude --chrome` ์‚ฌ์šฉ) ๋˜๋Š” Claude Code๊ฐ€ [ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜](/docs/ko/chrome#install-the-extension-when-claude-asks)๋ฅผ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค |

74| `/clear [name]` | ๋นˆ ์ปจํ…์ŠคํŠธ๋กœ ์ƒˆ ๋Œ€ํ™”๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์„ ์ „๋‹ฌํ•˜๋ฉด `/resume` ์„ ํƒ๊ธฐ์—์„œ ์ด์ „ ๋Œ€ํ™”์— ๋ ˆ์ด๋ธ”์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ™์€ ๋Œ€ํ™”๋ฅผ ๊ณ„์†ํ•˜๋ฉด์„œ ์ปจํ…์ŠคํŠธ๋ฅผ ํ™•๋ณดํ•˜๋ ค๋ฉด ๋Œ€์‹  `/compact`๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. `/resume`์œผ๋กœ ์ด์ „ ๋Œ€ํ™”๋ฅผ ์žฌ๊ฐœํ•˜๊ฑฐ๋‚˜, ๊ฐ™์€ Claude Code ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ๋Š” [๋˜๊ฐ๊ธฐ ๋ฉ”๋‰ด์˜ ์ด์ „ ์„ธ์…˜ ํ•ญ๋ชฉ](/docs/ko/checkpointing#rewind-past-a-cleared-conversation)์—์„œ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. ๋ณ„์นญ: `/reset`, `/new` |74| `/clear [name]` | ๋นˆ ์ปจํ…์ŠคํŠธ๋กœ ์ƒˆ ๋Œ€ํ™”๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์„ ์ „๋‹ฌํ•˜๋ฉด `/resume` ์„ ํƒ๊ธฐ์—์„œ ์ด์ „ ๋Œ€ํ™”์— ๋ ˆ์ด๋ธ”์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ™์€ ๋Œ€ํ™”๋ฅผ ๊ณ„์†ํ•˜๋ฉด์„œ ์ปจํ…์ŠคํŠธ๋ฅผ ํ™•๋ณดํ•˜๋ ค๋ฉด ๋Œ€์‹  `/compact`๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. `/resume`์œผ๋กœ ์ด์ „ ๋Œ€ํ™”๋ฅผ ์žฌ๊ฐœํ•˜๊ฑฐ๋‚˜, ๊ฐ™์€ Claude Code ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ๋Š” [๋˜๊ฐ๊ธฐ ๋ฉ”๋‰ด์˜ ์ด์ „ ์„ธ์…˜ ํ•ญ๋ชฉ](/docs/ko/checkpointing#rewind-past-a-cleared-conversation)์—์„œ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. ๋ณ„์นญ: `/reset`, `/new` |

75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[์Šคํ‚ฌ](/docs/ko/skills#bundled-skills).** ํ˜„์žฌ diff ๋˜๋Š” ์ „๋‹ฌํ•œ PR ๋ฒˆํ˜ธ, ๋ธŒ๋žœ์น˜, ๊ฒฝ๋กœ์—์„œ ์ •ํ™•์„ฑ ๋ฒ„๊ทธ๋ฅผ ๋ฆฌ๋ทฐํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ๊ณผ effort ์ˆ˜์ค€์— ๋”ฐ๋ผ ์ •๋ฆฌํ•  ๋ถ€๋ถ„๋„ ๋ฆฌ๋ทฐ ๋Œ€์ƒ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋ ค๋ฉด `--fix`๋ฅผ, GitHub PR ๋˜๋Š” GitLab ๋ณ‘ํ•ฉ ์š”์ฒญ์— ๊ฒŒ์‹œํ•˜๋ ค๋ฉด `--comment`๋ฅผ, ์‹ฌ์ธต [ํด๋ผ์šฐ๋“œ ๋ฆฌ๋ทฐ](/docs/ko/ultrareview)๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด `ultra`๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. GitLab ๋ณ‘ํ•ฉ ์š”์ฒญ์— ๊ฒŒ์‹œํ•˜๋ ค๋ฉด Claude Code v2.1.257 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. `github.com` PR ๋Œ€์ƒ์— `ultra`๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ `--post`๋ฅผ ์ „๋‹ฌํ•˜๋ฉด ์‹คํ–‰ ๋Œ€ํ™” ์ƒ์ž์—์„œ [์™„๋ฃŒ๋œ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ PR์— ๊ฒŒ์‹œ](/docs/ko/ultrareview#post-findings-to-the-pull-request)ํ•˜๋Š” ์˜ต์…˜์ด ๋ฏธ๋ฆฌ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. `--post`๋Š” Claude Code v2.1.227 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. effort ์ˆ˜์ค€, ๋Œ€์ƒ ์ง€์ •, `/simplify`์™€์˜ ๊ด€๊ณ„๋Š” [๋กœ์ปฌ์—์„œ diff ๋ฆฌ๋ทฐํ•˜๊ธฐ](/docs/ko/code-review#review-a-diff-locally)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ณ„์นญ: `/review` |75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[์Šคํ‚ฌ](/docs/ko/skills#bundled-skills).** ํ˜„์žฌ diff ๋˜๋Š” ์ „๋‹ฌํ•œ PR ๋ฒˆํ˜ธ, ๋ธŒ๋žœ์น˜, ๊ฒฝ๋กœ์—์„œ ์ •ํ™•์„ฑ ๋ฒ„๊ทธ๋ฅผ ๋ฆฌ๋ทฐํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ๊ณผ effort ์ˆ˜์ค€์— ๋”ฐ๋ผ ์ •๋ฆฌํ•  ๋ถ€๋ถ„๋„ ๋ฆฌ๋ทฐ ๋Œ€์ƒ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋ ค๋ฉด `--fix`๋ฅผ, GitHub PR ๋˜๋Š” GitLab ๋ณ‘ํ•ฉ ์š”์ฒญ์— ๊ฒŒ์‹œํ•˜๋ ค๋ฉด `--comment`๋ฅผ, ์‹ฌ์ธต [ํด๋ผ์šฐ๋“œ ๋ฆฌ๋ทฐ](/docs/ko/ultrareview)๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด `ultra`๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. GitLab ๋ณ‘ํ•ฉ ์š”์ฒญ์— ๊ฒŒ์‹œํ•˜๋ ค๋ฉด Claude Code v2.1.257 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. `github.com` PR ๋Œ€์ƒ์— `ultra`๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ `--post`๋ฅผ ์ „๋‹ฌํ•˜๋ฉด ์‹คํ–‰ ๋Œ€ํ™” ์ƒ์ž์—์„œ [์™„๋ฃŒ๋œ ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์„ PR์— ๊ฒŒ์‹œ](/docs/ko/ultrareview#post-findings-to-the-pull-request)ํ•˜๋Š” ์˜ต์…˜์ด ๋ฏธ๋ฆฌ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. `--post`๋Š” Claude Code v2.1.227 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. effort ์ˆ˜์ค€, ๋Œ€์ƒ ์ง€์ •, `/simplify`์™€์˜ ๊ด€๊ณ„๋Š” [`/code-review`๋กœ ๋กœ์ปฌ์—์„œ ๋ฆฌ๋ทฐํ•˜๊ธฐ](/docs/ko/code-review-local)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ณ„์นญ: `/review` |

76| `/color [color\|default]` | ํ˜„์žฌ ์„ธ์…˜์˜ ํ”„๋กฌํ”„ํŠธ ๋ฐ” ์ƒ‰์ƒ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒ‰์ƒ: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. ์ดˆ๊ธฐํ™”ํ•˜๋ ค๋ฉด `default`๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์ธ์ˆ˜ ์—†์ด ์‹คํ–‰ํ•˜๋ฉด ์ž„์˜์˜ ์ƒ‰์ƒ์ด ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. [Remote Control](/docs/ko/remote-control)์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉด ์ƒ‰์ƒ์ด claude.ai/code์™€ ๋™๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค. ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ(`-p`)์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค |76| `/color [color\|default]` | ํ˜„์žฌ ์„ธ์…˜์˜ ํ”„๋กฌํ”„ํŠธ ๋ฐ” ์ƒ‰์ƒ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒ‰์ƒ: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. ์ดˆ๊ธฐํ™”ํ•˜๋ ค๋ฉด `default`๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์ธ์ˆ˜ ์—†์ด ์‹คํ–‰ํ•˜๋ฉด ์ž„์˜์˜ ์ƒ‰์ƒ์ด ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. [Remote Control](/docs/ko/remote-control)์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉด ์ƒ‰์ƒ์ด claude.ai/code์™€ ๋™๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค. ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ(`-p`)์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค |

77| `/compact [instructions]` | ์ง€๊ธˆ๊นŒ์ง€์˜ ๋Œ€ํ™”๋ฅผ ์š”์•ฝํ•˜์—ฌ ์ปจํ…์ŠคํŠธ๋ฅผ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ์ ์œผ๋กœ ์š”์•ฝ์˜ ์ดˆ์ ์— ๋Œ€ํ•œ ์ง€์นจ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [์••์ถ•์ด ๊ทœ์น™, ์Šคํ‚ฌ, ๋ฉ”๋ชจ๋ฆฌ ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹](/docs/ko/context-window#what-survives-compaction)์„ ์ฐธ์กฐํ•˜์„ธ์š” |77| `/compact [instructions]` | ์ง€๊ธˆ๊นŒ์ง€์˜ ๋Œ€ํ™”๋ฅผ ์š”์•ฝํ•˜์—ฌ ์ปจํ…์ŠคํŠธ๋ฅผ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ์ ์œผ๋กœ ์š”์•ฝ์˜ ์ดˆ์ ์— ๋Œ€ํ•œ ์ง€์นจ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [์••์ถ•์ด ๊ทœ์น™, ์Šคํ‚ฌ, ๋ฉ”๋ชจ๋ฆฌ ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹](/docs/ko/context-window#what-survives-compaction)์„ ์ฐธ์กฐํ•˜์„ธ์š” |

78| `/config [key=value ...]` | ํ…Œ๋งˆ, ๋ชจ๋ธ, [์ถœ๋ ฅ ์Šคํƒ€์ผ](/docs/ko/output-styles) ๋ฐ ๊ธฐํƒ€ ํ™˜๊ฒฝ์„ค์ •์„ ์กฐ์ •ํ•˜๋Š” [์„ค์ •](/docs/ko/settings) ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์—ฝ๋‹ˆ๋‹ค. ํ•˜๋‚˜ ์ด์ƒ์˜ `key=value` ์Œ์„ ์ „๋‹ฌํ•˜๋ฉด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์—ด์ง€ ์•Š๊ณ  ์„ค์ •์„ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: `/config thinking=false`, `/config theme=dark`, `/config model=sonnet`). `key=value` ํ˜•์‹์€ ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ(`-p`)์™€ [Remote Control](/docs/ko/remote-control)์„ ํ†ตํ•œ Claude ๋ชจ๋ฐ”์ผ ์•ฑ์—์„œ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. `key=value` ํ˜•์‹์œผ๋กœ๋Š” [`autoContinueAtUsageLimit`](/docs/ko/interactive-mode#turn-automatic-continue-off)์ฒ˜๋Ÿผ ํŒจ๋„์—์„œ ํ™•์ธ์ด ํ•„์š”ํ•œ ์„ค์ •์„ ์ผค ์ˆ˜ ์—†์ง€๋งŒ, ๋Œ ์ˆ˜๋Š” ์žˆ์Šต๋‹ˆ๋‹ค. ํ—ˆ์šฉ๋˜๋Š” ํ‚ค ๋ชฉ๋ก์„ ๋ณด๋ ค๋ฉด `/config --help`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ณ„์นญ: `/settings` |78| `/config [key=value ...]` | ํ…Œ๋งˆ, ๋ชจ๋ธ, [์ถœ๋ ฅ ์Šคํƒ€์ผ](/docs/ko/output-styles) ๋ฐ ๊ธฐํƒ€ ํ™˜๊ฒฝ์„ค์ •์„ ์กฐ์ •ํ•˜๋Š” [์„ค์ •](/docs/ko/settings) ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์—ฝ๋‹ˆ๋‹ค. ํ•˜๋‚˜ ์ด์ƒ์˜ `key=value` ์Œ์„ ์ „๋‹ฌํ•˜๋ฉด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์—ด์ง€ ์•Š๊ณ  ์„ค์ •์„ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: `/config thinking=false`, `/config theme=dark`, `/config model=sonnet`). `key=value` ํ˜•์‹์€ ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ(`-p`)์™€ [Remote Control](/docs/ko/remote-control)์„ ํ†ตํ•œ Claude ๋ชจ๋ฐ”์ผ ์•ฑ์—์„œ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. `key=value` ํ˜•์‹์œผ๋กœ๋Š” [`autoContinueAtUsageLimit`](/docs/ko/interactive-mode#turn-automatic-continue-off)์ฒ˜๋Ÿผ ํŒจ๋„์—์„œ ํ™•์ธ์ด ํ•„์š”ํ•œ ์„ค์ •์„ ์ผค ์ˆ˜ ์—†์ง€๋งŒ, ๋Œ ์ˆ˜๋Š” ์žˆ์Šต๋‹ˆ๋‹ค. ํ—ˆ์šฉ๋˜๋Š” ํ‚ค ๋ชฉ๋ก์„ ๋ณด๋ ค๋ฉด `/config --help`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ณ„์นญ: `/settings` |


134| `/remote-env` | CLI์—์„œ ์‹œ์ž‘ํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์„ธ์…˜์˜ ๊ธฐ๋ณธ [ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ](/docs/ko/cloud-environments#select-an-environment-from-the-cli)์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค |134| `/remote-env` | CLI์—์„œ ์‹œ์ž‘ํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์„ธ์…˜์˜ ๊ธฐ๋ณธ [ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ](/docs/ko/cloud-environments#select-an-environment-from-the-cli)์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค |

135| `/rename [name]` | ํ˜„์žฌ ์„ธ์…˜์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ณ  ํ”„๋กฌํ”„ํŠธ ๋ฐ”์— ์ด๋ฆ„์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋Œ€ํ™” ๊ธฐ๋ก์—์„œ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ(`-p`)์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. claude.ai์™€ ๋ฐ์Šคํฌํ†ฑ ์•ฑ์„ ํฌํ•จํ•œ ๋ชจ๋“  ์ด๋ฆ„ ๋ณ€๊ฒฝ ์‚ฌ์šฉ ํ™˜๊ฒฝ์—์„œ, Claude Code๋Š” ์ƒˆ ์ด๋ฆ„์˜ ์ œ์–ด ๋ฌธ์ž์™€ ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ž๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๋ฐ”๊พธ๊ณ  ์ด๋ฆ„์„ 200์ž๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•œ ํ›„ ์ด๋ฆ„์ด ๋น„์–ด ์žˆ์œผ๋ฉด Claude Code๋Š” ์ด๋ฅผ ๊ฑฐ๋ถ€ํ•˜๊ณ  `That name is empty once invisible characters are removed. Usage: /rename <name>`์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž ๋Œ€์ฒด์™€ ๊ธธ์ด ์ œํ•œ์€ Claude Code v2.1.221 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |135| `/rename [name]` | ํ˜„์žฌ ์„ธ์…˜์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ณ  ํ”„๋กฌํ”„ํŠธ ๋ฐ”์— ์ด๋ฆ„์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋Œ€ํ™” ๊ธฐ๋ก์—์„œ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋น„๋Œ€ํ™”ํ˜• ๋ชจ๋“œ(`-p`)์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. claude.ai์™€ ๋ฐ์Šคํฌํ†ฑ ์•ฑ์„ ํฌํ•จํ•œ ๋ชจ๋“  ์ด๋ฆ„ ๋ณ€๊ฒฝ ์‚ฌ์šฉ ํ™˜๊ฒฝ์—์„œ, Claude Code๋Š” ์ƒˆ ์ด๋ฆ„์˜ ์ œ์–ด ๋ฌธ์ž์™€ ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ž๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๋ฐ”๊พธ๊ณ  ์ด๋ฆ„์„ 200์ž๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•œ ํ›„ ์ด๋ฆ„์ด ๋น„์–ด ์žˆ์œผ๋ฉด Claude Code๋Š” ์ด๋ฅผ ๊ฑฐ๋ถ€ํ•˜๊ณ  `That name is empty once invisible characters are removed. Usage: /rename <name>`์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž ๋Œ€์ฒด์™€ ๊ธธ์ด ์ œํ•œ์€ Claude Code v2.1.221 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |

136| `/resume [session]` | ID๋‚˜ ์ด๋ฆ„์œผ๋กœ ๋Œ€ํ™”๋ฅผ ์žฌ๊ฐœํ•˜๊ฑฐ๋‚˜ ์„ธ์…˜ ์„ ํƒ๊ธฐ๋ฅผ ์—ฝ๋‹ˆ๋‹ค. [๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜](/docs/ko/agent-view)์€ ์„ ํƒ๊ธฐ์— `bg` ํ‘œ์‹œ์™€ ํ•จ๊ป˜ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์„ ํƒ๊ธฐ์—์„œ ๋˜๋Š” ID๋‚˜ ์ด๋ฆ„์œผ๋กœ ์•„์ง ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์„ ์žฌ๊ฐœํ•˜๋ฉด [ํ•ด๋‹น ์„ธ์…˜์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค](/docs/ko/sessions#resume-a-running-background-session). ํ˜„์žฌ ๋Œ€ํ™”๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•˜๊ณ  ์ด ํ„ฐ๋ฏธ๋„์€ ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ๋นˆ ํ”„๋กฌํ”„ํŠธ์—์„œ `โ†`๋ฅผ ๋ˆ„๋ฅด๋ฉด ์—์ด์ „ํŠธ ๋ณด๊ธฐ๋กœ ๋Œ์•„๊ฐ€๋ฉฐ, ์—ฌ๊ธฐ์—๋Š” ๋– ๋‚˜์˜จ ๋Œ€ํ™”๋„ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. v2.1.285 ์ด์ „์—๋Š” Claude Code๊ฐ€ ์ด๋ฅผ ๊ฑฐ๋ถ€ํ•˜๊ณ  `claude attach`๋กœ ์„ธ์…˜์„ ์—ด๊ฑฐ๋‚˜ ๋จผ์ € ์ค‘์ง€ํ•˜๋ผ๊ณ  ์•ˆ๋‚ดํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„์นญ: `/continue` |136| `/resume [session]` | ID๋‚˜ ์ด๋ฆ„์œผ๋กœ ๋Œ€ํ™”๋ฅผ ์žฌ๊ฐœํ•˜๊ฑฐ๋‚˜ ์„ธ์…˜ ์„ ํƒ๊ธฐ๋ฅผ ์—ฝ๋‹ˆ๋‹ค. [๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜](/docs/ko/agent-view)์€ ์„ ํƒ๊ธฐ์— `bg` ํ‘œ์‹œ์™€ ํ•จ๊ป˜ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์„ ํƒ๊ธฐ์—์„œ ๋˜๋Š” ID๋‚˜ ์ด๋ฆ„์œผ๋กœ ์•„์ง ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์„ ์žฌ๊ฐœํ•˜๋ฉด [ํ•ด๋‹น ์„ธ์…˜์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค](/docs/ko/sessions#resume-a-running-background-session). ํ˜„์žฌ ๋Œ€ํ™”๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ด๋™ํ•˜๊ณ  ์ด ํ„ฐ๋ฏธ๋„์€ ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ๋นˆ ํ”„๋กฌํ”„ํŠธ์—์„œ `โ†`๋ฅผ ๋ˆ„๋ฅด๋ฉด ์—์ด์ „ํŠธ ๋ณด๊ธฐ๋กœ ๋Œ์•„๊ฐ€๋ฉฐ, ์—ฌ๊ธฐ์—๋Š” ๋– ๋‚˜์˜จ ๋Œ€ํ™”๋„ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. v2.1.285 ์ด์ „์—๋Š” Claude Code๊ฐ€ ์ด๋ฅผ ๊ฑฐ๋ถ€ํ•˜๊ณ  `claude attach`๋กœ ์„ธ์…˜์„ ์—ด๊ฑฐ๋‚˜ ๋จผ์ € ์ค‘์ง€ํ•˜๋ผ๊ณ  ์•ˆ๋‚ดํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„์นญ: `/continue` |

137| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | [`/code-review`](/docs/ko/code-review#review-a-diff-locally)์˜ ๋ณ„์นญ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ diff ๋˜๋Š” ์ „๋‹ฌํ•œ PR ๋ฒˆํ˜ธ, ๋ธŒ๋žœ์น˜, ๊ฒฝ๋กœ(์˜ˆ: `/review 1234`)๋ฅผ ๋ฆฌ๋ทฐํ•˜๋ฉฐ, ๋™์ผํ•œ effort ์ˆ˜์ค€๊ณผ ํ”Œ๋ž˜๊ทธ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ˆ˜์ค€์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋งˆ์ง€๋ง‰์œผ๋กœ ์ž…๋ ฅํ•œ `low`๋ถ€ํ„ฐ `max`๊นŒ์ง€์˜ ์ˆ˜์ค€์„ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ •ํ™•ํ•œ ๊ทœ์น™์€ [๋กœ์ปฌ์—์„œ diff ๋ฆฌ๋ทฐํ•˜๊ธฐ](/docs/ko/code-review#review-a-diff-locally)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ์‹ฌ์ธต ํด๋ผ์šฐ๋“œ ๋ฆฌ๋ทฐ์—๋Š” [`/code-review ultra`](/docs/ko/ultrareview)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. v2.1.223 ์ด์ „์—๋Š” `/review`๊ฐ€ ๋ฒˆํ˜ธ๋กœ ์ง€์ •ํ•œ GitHub ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๋Œ€ํ•ด ๋‹จ์ผ ํŒจ์Šค์˜ ์ฝ๊ธฐ ์ „์šฉ ๋ฆฌ๋ทฐ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ณ„๋„์˜ ๋ช…๋ น์ด์—ˆ์œผ๋ฉฐ, ์ธ์ˆ˜ ์—†์ด ์‹คํ–‰ํ•˜๋ฉด ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ด๋ฆฐ PR์„ ๋‚˜์—ดํ–ˆ์Šต๋‹ˆ๋‹ค. v2.1.186๋ถ€ํ„ฐ v2.1.201๊นŒ์ง€๋Š” `/code-review medium`๊ณผ ๋™์ผํ•œ ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ์—”์ง„์„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค |137| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | [`/code-review`](/docs/ko/code-review-local)์˜ ๋ณ„์นญ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ diff ๋˜๋Š” ์ „๋‹ฌํ•œ PR ๋ฒˆํ˜ธ, ๋ธŒ๋žœ์น˜, ๊ฒฝ๋กœ(์˜ˆ: `/review 1234`)๋ฅผ ๋ฆฌ๋ทฐํ•˜๋ฉฐ, ๋™์ผํ•œ effort ์ˆ˜์ค€๊ณผ ํ”Œ๋ž˜๊ทธ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ˆ˜์ค€์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋งˆ์ง€๋ง‰์œผ๋กœ ์ž…๋ ฅํ•œ `low`๋ถ€ํ„ฐ `max`๊นŒ์ง€์˜ ์ˆ˜์ค€์„ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ •ํ™•ํ•œ ๊ทœ์น™์€ [`/code-review`๋กœ ๋กœ์ปฌ์—์„œ ๋ฆฌ๋ทฐํ•˜๊ธฐ](/docs/ko/code-review-local)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ์‹ฌ์ธต ํด๋ผ์šฐ๋“œ ๋ฆฌ๋ทฐ์—๋Š” [`/code-review ultra`](/docs/ko/ultrareview)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. v2.1.223 ์ด์ „์—๋Š” `/review`๊ฐ€ ๋ฒˆํ˜ธ๋กœ ์ง€์ •ํ•œ GitHub ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์— ๋Œ€ํ•ด ๋‹จ์ผ ํŒจ์Šค์˜ ์ฝ๊ธฐ ์ „์šฉ ๋ฆฌ๋ทฐ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ณ„๋„์˜ ๋ช…๋ น์ด์—ˆ์œผ๋ฉฐ, ์ธ์ˆ˜ ์—†์ด ์‹คํ–‰ํ•˜๋ฉด ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ด๋ฆฐ PR์„ ๋‚˜์—ดํ–ˆ์Šต๋‹ˆ๋‹ค. v2.1.186๋ถ€ํ„ฐ v2.1.201๊นŒ์ง€๋Š” `/code-review medium`๊ณผ ๋™์ผํ•œ ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ์—”์ง„์„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค |

138| `/rewind` | ๋Œ€ํ™” ๋ฐ/๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์ด์ „ ์‹œ์ ์œผ๋กœ ๋˜๊ฐ๊ฑฐ๋‚˜, ์„ ํƒํ•œ ๋ฉ”์‹œ์ง€๋ถ€ํ„ฐ ์š”์•ฝํ•ฉ๋‹ˆ๋‹ค. [์ฒดํฌํฌ์ธํŠธ](/docs/ko/checkpointing)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ณ„์นญ: `/checkpoint`, `/undo` |138| `/rewind` | ๋Œ€ํ™” ๋ฐ/๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์ด์ „ ์‹œ์ ์œผ๋กœ ๋˜๊ฐ๊ฑฐ๋‚˜, ์„ ํƒํ•œ ๋ฉ”์‹œ์ง€๋ถ€ํ„ฐ ์š”์•ฝํ•ฉ๋‹ˆ๋‹ค. [์ฒดํฌํฌ์ธํŠธ](/docs/ko/checkpointing)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ณ„์นญ: `/checkpoint`, `/undo` |

139| `/run` | **[์Šคํ‚ฌ](/docs/ko/skills#bundled-skills).** ํ…Œ์ŠคํŠธ ํ†ต๊ณผ๋ฟ ์•„๋‹ˆ๋ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์‹ค์ œ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ์˜ ์•ฑ์„ ์‹คํ–‰ํ•˜๊ณ  ์กฐ์ž‘ํ•ฉ๋‹ˆ๋‹ค. [์•ฑ ์‹คํ–‰ ๋ฐ ๊ฒ€์ฆ](/docs/ko/skills#run-and-verify-your-app)์„ ์ฐธ์กฐํ•˜์„ธ์š” |139| `/run` | **[์Šคํ‚ฌ](/docs/ko/skills#bundled-skills).** ํ…Œ์ŠคํŠธ ํ†ต๊ณผ๋ฟ ์•„๋‹ˆ๋ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์‹ค์ œ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ์˜ ์•ฑ์„ ์‹คํ–‰ํ•˜๊ณ  ์กฐ์ž‘ํ•ฉ๋‹ˆ๋‹ค. [์•ฑ ์‹คํ–‰ ๋ฐ ๊ฒ€์ฆ](/docs/ko/skills#run-and-verify-your-app)์„ ์ฐธ์กฐํ•˜์„ธ์š” |

140| `/run-skill-generator` | **[์Šคํ‚ฌ](/docs/ko/skills#bundled-skills).** ํ”„๋กœ์ ํŠธ๋ณ„ [์Šคํ‚ฌ](/docs/ko/skills#run-and-verify-your-app)์„ ์ž‘์„ฑํ•˜์—ฌ `/run`๊ณผ `/verify`๊ฐ€ ๊นจ๋—ํ•œ ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ์ ํŠธ์˜ ์•ฑ์„ ๋นŒ๋“œํ•˜๊ณ , ์‹คํ–‰ํ•˜๊ณ , ์กฐ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค |140| `/run-skill-generator` | **[์Šคํ‚ฌ](/docs/ko/skills#bundled-skills).** ํ”„๋กœ์ ํŠธ๋ณ„ [์Šคํ‚ฌ](/docs/ko/skills#run-and-verify-your-app)์„ ์ž‘์„ฑํ•˜์—ฌ `/run`๊ณผ `/verify`๊ฐ€ ๊นจ๋—ํ•œ ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ์ ํŠธ์˜ ์•ฑ์„ ๋นŒ๋“œํ•˜๊ณ , ์‹คํ–‰ํ•˜๊ณ , ์กฐ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค |

desktop.md +257 โˆ’3

Details

207* **Walk through in diff**๋ฅผ ํด๋ฆญํ•˜๋ฉด diff ๋ณด๊ธฐ๊ฐ€ ์—ด๋ฆฌ๊ณ  ๊ฒฐ๊ณผ๋ฅผ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ diff์— ์žˆ๋Š” ๊ฒฐ๊ณผ๋Š” ํ•ด๋‹น ์ค„์— ํ‘œ์‹œ๋˜๋ฉฐ, ์—ฌ๊ธฐ์„œ **Fix this one**์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ๊ฒฐ๊ณผ๋ฅผ ๋‹ซ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.207* **Walk through in diff**๋ฅผ ํด๋ฆญํ•˜๋ฉด diff ๋ณด๊ธฐ๊ฐ€ ์—ด๋ฆฌ๊ณ  ๊ฒฐ๊ณผ๋ฅผ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ diff์— ์žˆ๋Š” ๊ฒฐ๊ณผ๋Š” ํ•ด๋‹น ์ค„์— ํ‘œ์‹œ๋˜๋ฉฐ, ์—ฌ๊ธฐ์„œ **Fix this one**์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ๊ฒฐ๊ณผ๋ฅผ ๋‹ซ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

208* **Apply fixes**๋ฅผ ํด๋ฆญํ•˜๋ฉด ์•„์ง ์—ด๋ ค ์žˆ๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ˆ˜์ •ํ•˜๋„๋ก Claude์—๊ฒŒ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.208* **Apply fixes**๋ฅผ ํด๋ฆญํ•˜๋ฉด ์•„์ง ์—ด๋ ค ์žˆ๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ˆ˜์ •ํ•˜๋„๋ก Claude์—๊ฒŒ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

209 209 

210์–ด๋–ค ์„ธ์…˜์—์„œ๋“  ํ”„๋กฌํ”„ํŠธ ์ƒ์ž์—์„œ ๋ฆฌ๋ทฐ ๊ฒฐ๊ณผ๋ฅผ ์ˆ˜์ •ํ•˜๋„๋ก Claude์—๊ฒŒ ์š”์ฒญํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. `/code-review`๊ฐ€ ํ™•์ธํ•˜๋Š” ํ•ญ๋ชฉ๊ณผ ์‚ฌ์šฉํ•˜๋Š” ์ธ์ˆ˜๋Š” [๋กœ์ปฌ์—์„œ diff ๋ฆฌ๋ทฐํ•˜๊ธฐ](/docs/ko/code-review#review-a-diff-locally)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.210์–ด๋–ค ์„ธ์…˜์—์„œ๋“  ํ”„๋กฌํ”„ํŠธ ์ƒ์ž์—์„œ ๋ฆฌ๋ทฐ ๊ฒฐ๊ณผ๋ฅผ ์ˆ˜์ •ํ•˜๋„๋ก Claude์—๊ฒŒ ์š”์ฒญํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. `/code-review`๊ฐ€ ํ™•์ธํ•˜๋Š” ํ•ญ๋ชฉ๊ณผ ์‚ฌ์šฉํ•˜๋Š” ์ธ์ˆ˜๋Š” [`/code-review`๋กœ ๋กœ์ปฌ์—์„œ ๋ฆฌ๋ทฐํ•˜๊ธฐ](/docs/ko/code-review-local)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

211 211 

212<h3 id="monitor-pull-request-status">212<h3 id="monitor-pull-request-status">

213 ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ213 ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ


859* **์—ฐ๊ฒฐ๋‹น ์„ธ์…˜ ์ˆ˜**: macOS ๋ฐ Linux์˜ Desktop์€ ํ•˜๋‚˜์˜ SSH ์—ฐ๊ฒฐ์—์„œ ์—ฌ๋Ÿฌ ์„ธ์…˜์„ ์—ฝ๋‹ˆ๋‹ค. ์„œ๋ฒ„์˜ `sshd_config`๊ฐ€ `MaxSessions 1`๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค๋ฉด OpenSSH์˜ ๊ธฐ๋ณธ๊ฐ’์ธ 10 ๋“ฑ์œผ๋กœ ๊ฐ’์„ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค.859* **์—ฐ๊ฒฐ๋‹น ์„ธ์…˜ ์ˆ˜**: macOS ๋ฐ Linux์˜ Desktop์€ ํ•˜๋‚˜์˜ SSH ์—ฐ๊ฒฐ์—์„œ ์—ฌ๋Ÿฌ ์„ธ์…˜์„ ์—ฝ๋‹ˆ๋‹ค. ์„œ๋ฒ„์˜ `sshd_config`๊ฐ€ `MaxSessions 1`๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค๋ฉด OpenSSH์˜ ๊ธฐ๋ณธ๊ฐ’์ธ 10 ๋“ฑ์œผ๋กœ ๊ฐ’์„ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค.

860* **์„ค์น˜ ํด๋”**: Desktop์€ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ `~/.claude/remote/` ์•„๋ž˜์— ๋„์šฐ๋ฏธ ํ”„๋กœ๊ทธ๋žจ๊ณผ Claude Code๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์œ„์น˜์—์„œ ์ด๋ฅผ ์‹คํ–‰ํ•˜๋ฏ€๋กœ ์ด ํด๋”๋Š” `noexec`๋กœ ๋งˆ์šดํŠธ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์žˆ์œผ๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์•ฝ 1 GB์˜ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•˜์„ธ์š”. ์ด ํด๋”์— ๋‹ด๊ธด ๋‚ด์šฉ์€ [์›๊ฒฉ ๋จธ์‹ ์˜ ํŒŒ์ผ ๋ฐ ํ”„๋กœ์„ธ์Šค](#files-and-processes-on-the-remote-machine)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.860* **์„ค์น˜ ํด๋”**: Desktop์€ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ `~/.claude/remote/` ์•„๋ž˜์— ๋„์šฐ๋ฏธ ํ”„๋กœ๊ทธ๋žจ๊ณผ Claude Code๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์œ„์น˜์—์„œ ์ด๋ฅผ ์‹คํ–‰ํ•˜๋ฏ€๋กœ ์ด ํด๋”๋Š” `noexec`๋กœ ๋งˆ์šดํŠธ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์žˆ์œผ๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์•ฝ 1 GB์˜ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•˜์„ธ์š”. ์ด ํด๋”์— ๋‹ด๊ธด ๋‚ด์šฉ์€ [์›๊ฒฉ ๋จธ์‹ ์˜ ํŒŒ์ผ ๋ฐ ํ”„๋กœ์„ธ์Šค](#files-and-processes-on-the-remote-machine)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

861* **์…ธ**: ์›๊ฒฉ ๋จธ์‹ ์—์„œ ๊ณ„์ •์— ์„ค์ •๋œ ์…ธ์€ Bash, Zsh, `sh`์ฒ˜๋Ÿผ SSH๋ฅผ ํ†ตํ•ด ์ „์†ก๋œ ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค861* **์…ธ**: ์›๊ฒฉ ๋จธ์‹ ์—์„œ ๊ณ„์ •์— ์„ค์ •๋œ ์…ธ์€ Bash, Zsh, `sh`์ฒ˜๋Ÿผ SSH๋ฅผ ํ†ตํ•ด ์ „์†ก๋œ ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

862* **๋„คํŠธ์›Œํฌ**: Claude Code๋Š” ์›๊ฒฉ ๋จธ์‹ ์—์„œ ์‹คํ–‰๋˜๋ฉฐ ๋„คํŠธ์›Œํฌ ์š”์ฒญ๋„ ๊ทธ๊ณณ์—์„œ ๋ณด๋‚ด๋ฏ€๋กœ, ๋จธ์‹ ์—๋Š” [Claude Code์— ํ•„์š”ํ•œ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค](/docs/ko/network-config#network-access-requirements)๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋จธ์‹ ์ด Claude Code๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ Desktop์ด ์ปดํ“จํ„ฐ์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. Claude Code์˜ ๋‹ค๋ฅธ ์š”์ฒญ์€ ์—ฌ์ „ํžˆ ์›๊ฒฉ ๋จธ์‹ ์—์„œ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.862* **๋„คํŠธ์›Œํฌ**: Claude Code๋Š” ์›๊ฒฉ ๋จธ์‹ ์—์„œ ์‹คํ–‰๋˜๋ฉฐ ๋„คํŠธ์›Œํฌ ์š”์ฒญ๋„ ๊ทธ๊ณณ์—์„œ ๋ณด๋‚ด๋ฏ€๋กœ, ๋จธ์‹ ์—๋Š” [Claude Code์— ํ•„์š”ํ•œ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค](/docs/ko/network-config#network-access-requirements)๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋จธ์‹ ์ด Claude Code๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ Desktop์ด ์ปดํ“จํ„ฐ์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. Claude Code์˜ ๋‹ค๋ฅธ ์š”์ฒญ์€ ์—ฌ์ „ํžˆ ์›๊ฒฉ ๋จธ์‹ ์—์„œ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. Linux ์›๊ฒฉ ๋จธ์‹ ์—์„œ ์ด๋Ÿฌํ•œ ์š”์ฒญ์— ํ”„๋ก์‹œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด [SSH ์„ธ์…˜์— ํ”„๋ก์‹œ๋ฅผ ์„ค์ •](#set-a-proxy-or-a-ca-certificate-for-ssh-sessions)ํ•˜์„ธ์š”.

863 

864<h4 id="set-a-proxy-or-a-ca-certificate-for-ssh-sessions">

865 SSH ์„ธ์…˜์— ํ”„๋ก์‹œ ๋˜๋Š” CA ์ธ์ฆ์„œ ์„ค์ •

866</h4>

867 

868Linux ์›๊ฒฉ ๋จธ์‹ ์ด ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐํ•˜๊ฑฐ๋‚˜ CA ์ธ์ฆ์„œ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ํ•ด๋‹น ๋จธ์‹ ์˜ `~/.claude/settings.json`์— ์žˆ๋Š” `env` ์•„๋ž˜์— [ํ”„๋ก์‹œ ๋ฐ CA ๋ณ€์ˆ˜](/docs/ko/network-config)๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋จธ์‹ ์˜ `~/.profile`, `~/.bash_profile`, `~/.zprofile` ๋˜๋Š” `~/.zshrc`์—์„œ ์ด๋ฏธ ๋‚ด๋ณด๋‚ด๊ณ  ์žˆ๋”๋ผ๋„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

869 

870ํ•ด๋‹น ๋จธ์‹ ์˜ ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰ํ•œ `claude`๋Š” ์ด๋Ÿฌํ•œ ํŒŒ์ผ์—์„œ ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜ค๋”๋ผ๋„, SSH ์„ธ์…˜์€ ์ด ํŒŒ์ผ๋“ค์—์„œ ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์„ธ์…˜์ด ๋ฉˆ์ถ”๊ฑฐ๋‚˜ **The connection from โ€ฆ to the API failed** ๋˜๋Š” **Authentication failed**๊ฐ€ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹ค์‹œ ๋กœ๊ทธ์ธํ•ด๋„ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

871 

872<Steps>

873 <Step title="๋ณ€์ˆ˜ ์ถ”๊ฐ€">

874 CA ํŒŒ์ผ์—๋Š” [`NODE_EXTRA_CA_CERTS`](/docs/ko/network-config#custom-ca-certificates)๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. Claude Code๋Š” `~/.claude/settings.json`์˜ `SSL_CERT_FILE`์— ์žˆ๋Š” CA๋ฅผ ์‹ ๋ขฐํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์˜ˆ์ œ๋Š” ํ”„๋ก์‹œ์™€ CA ํŒŒ์ผ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค:

875 

876 ```json ~/.claude/settings.json theme={null}

877 {

878 "env": {

879 "HTTPS_PROXY": "http://proxy.example.com:8080",

880 "NODE_EXTRA_CA_CERTS": "/etc/ssl/certs/example-ca.pem"

881 }

882 }

883 ```

884 </Step>

885 

886 <Step title="๋ฉ”์‹œ์ง€ ๋‹ค์‹œ ๋ณด๋‚ด๊ธฐ">

887 ํ•ด๋‹น ํŒŒ์ผ์—์„œ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•œ ๋ณ€์ˆ˜๋Š” ๋ช‡ ์ดˆ ๋‚ด์— ์ ์šฉ๋˜๋ฏ€๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ค์‹œ ๋ณด๋‚ด์„ธ์š”. ๊ทธ๋ž˜๋„ ์‹คํŒจํ•˜๋ฉด ์ƒˆ ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜์„ธ์š”.

888 </Step>

889</Steps>

890 

891<h5 id="find-a-proxy-or-ca-variable-set-elsewhere-on-the-remote-machine">

892 ์›๊ฒฉ ๋จธ์‹ ์˜ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์„ค์ •๋œ ํ”„๋ก์‹œ ๋˜๋Š” CA ๋ณ€์ˆ˜ ์ฐพ๊ธฐ

893</h5>

894 

895Linux ์›๊ฒฉ ๋จธ์‹ ์ด ํ”„๋ก์‹œ ๋˜๋Š” CA ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์„ค์ •ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ์„ธ์…˜์€ ๊ทธ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๊ณ  [๋ชจ๋“  ์„ค์ • ํŒŒ์ผ์˜ ๊ฐ’์„ ๋ฌด์‹œ](/docs/ko/settings-reference#how-env-values-interact-with-your-shell)ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค:

896 

897<Steps>

898 <Step title="์›๊ฒฉ ๋จธ์‹ ์ด ์„ค์ •ํ•˜๋Š” ๋ณ€์ˆ˜ ๋‚˜์—ด">

899 ์ปดํ“จํ„ฐ์˜ ํ„ฐ๋ฏธ๋„์—์„œ ์ž์‹ ์˜ ํ˜ธ์ŠคํŠธ๋กœ `ssh devbox env`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

900 </Step>

901 

902 <Step title="๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋œ ๊ณณ์—์„œ ๋ณ€๊ฒฝ">

903 ๋ชฉ๋ก์— ํ•ด๋‹น ๋ณ€์ˆ˜๊ฐ€ ์žˆ์œผ๋ฉด ์›๊ฒฉ ๋จธ์‹ ์˜ `~/.zshenv`, `/etc/environment`, `~/.bashrc`์ฒ˜๋Ÿผ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋Š” ํŒŒ์ผ์—์„œ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

904 </Step>

905 

906 <Step title="์„ธ์…˜์— ์ƒˆ ๊ฐ’ ์ ์šฉ">

907 ์›๊ฒฉ ๋จธ์‹ ์„ ์žฌ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜, [๋„์šฐ๋ฏธ ์ œ๊ฑฐ](#files-and-processes-on-the-remote-machine)์˜ ์ฒ˜์Œ ๋‘ ๋‹จ๊ณ„์ฒ˜๋Ÿผ Desktop์„ ์ข…๋ฃŒํ•˜๊ณ  ๋„์šฐ๋ฏธ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์–ด๋А ๋ฐฉ๋ฒ•์ด๋“  Claude์˜ ์ž‘์—…์„ ์ค‘๋‹จ์‹œํ‚ค๋ฏ€๋กœ ์‹คํ–‰ ์ค‘์ธ ์ž‘์—…์ด ์—†์„ ๋•Œ ์ˆ˜ํ–‰ํ•˜์„ธ์š”.

908 </Step>

909</Steps>

863 910 

864<h4 id="use-your-ssh-configuration-on-macos-and-linux">911<h4 id="use-your-ssh-configuration-on-macos-and-linux">

865 macOS ๋ฐ Linux์—์„œ SSH ๊ตฌ์„ฑ ์‚ฌ์šฉ912 macOS ๋ฐ Linux์—์„œ SSH ๊ตฌ์„ฑ ์‚ฌ์šฉ


892 939 

893**SSH host** ํ•„๋“œ์— `devbox`๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.940**SSH host** ํ•„๋“œ์— `devbox`๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

894 941 

942<h5 id="reach-a-container-on-a-remote-machine">

943 ์›๊ฒฉ ๋จธ์‹ ์˜ ์ปจํ…Œ์ด๋„ˆ์— ์—ฐ๊ฒฐ

944</h5>

945 

946SSH ํฌํŠธ๋ฅผ ๊ฒŒ์‹œํ•˜์ง€ ์•Š๋Š” ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ์„ธ์…˜์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด `ProxyCommand`๋กœ ์ปจํ…Œ์ด๋„ˆ์— ์—ฐ๊ฒฐํ•˜์„ธ์š”. Desktop์€ ์—ฐ๊ฒฐํ•˜๋Š” ํ•ญ๋ชฉ์˜ `RemoteCommand`๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ•ญ๋ชฉ์—์„œ `RemoteCommand`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ, ์„ธ์…˜์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์•„๋‹ˆ๋ผ ํ•ญ๋ชฉ์ด ๋กœ๊ทธ์ธํ•˜๋Š” ๋จธ์‹ ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

947 

948<Steps>

949 <Step title="ํ•ญ๋ชฉ ์ถ”๊ฐ€">

950 `~/.ssh/config`์˜ ๋์—, ๋˜๋Š” ์ฒซ ๋ฒˆ์งธ `Host *` ํ•ญ๋ชฉ์ด ์žˆ๋‹ค๋ฉด ๊ทธ ๋ฐ”๋กœ ์œ„์— ๋‹ค์Œ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. Docker ์ปจํ…Œ์ด๋„ˆ `devbox`, ํ•ด๋‹น ์‚ฌ์šฉ์ž `dev`, ๋จธ์‹  `build.example.com`์„ ์ž์‹ ์˜ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์ด ํ•ญ๋ชฉ์˜ ๋ช…๋ น์€ ์—ฐ๊ฒฐํ•  ๋•Œ๋งˆ๋‹ค ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ SSH ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค:

951 

952 ```text ~/.ssh/config theme={null}

953 Host devbox-container

954 User dev

955 ProxyCommand ssh build.example.com docker exec -i devbox /usr/sbin/sshd -i

956 ```

957 </Step>

958 

959 <Step title="์ปจํ…Œ์ด๋„ˆ ์ค€๋น„">

960 * ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๊ฑฐ๋‚˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค์–ด๋„ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€๋˜๋Š” ํ˜ธ์ŠคํŠธ ํ‚ค์™€ ํ•จ๊ป˜ OpenSSH ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค

961 * `User`์— ์ง€์ •๋œ ๊ณ„์ •์— `authorized_keys` ํŒŒ์ผ๊ณผ ๊ฐ™์€ ๋กœ๊ทธ์ธ ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค

962 * ์ปจํ…Œ์ด๋„ˆ๊ฐ€ [์›๊ฒฉ ๋จธ์‹  ์š”๊ตฌ ์‚ฌํ•ญ](#remote-machine-requirements-for-ssh-sessions)์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค

963 </Step>

964 

965 <Step title="ํ—ˆ์šฉ ๋ชฉ๋ก ํ™•์ธ">

966 ๊ด€๋ฆฌ์ž๊ฐ€ [SSH ํ˜ธ์ŠคํŠธ๋ฅผ ์ œํ•œ](#restrict-which-ssh-hosts-users-can-connect-to)ํ•˜๋Š” ๊ฒฝ์šฐ ์ปดํ“จํ„ฐ์˜ ํ„ฐ๋ฏธ๋„์—์„œ `ssh -G devbox-container`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ๋˜๋Š” `hostname`(์—ฌ๊ธฐ์„œ๋Š” `devbox-container`)์„ `sshHostAllowlist`์—์„œ ํ—ˆ์šฉํ•ด ๋‹ฌ๋ผ๊ณ  ๊ด€๋ฆฌ์ž์—๊ฒŒ ์š”์ฒญํ•˜์„ธ์š”. ๊ด€๋ฆฌ์ž๊ฐ€ ์ด ์ด๋ฆ„์„ ํ—ˆ์šฉํ•˜๋ฉด ํ•ญ๋ชฉ์˜ `ProxyCommand`๊ฐ€ ์—ฐ๊ฒฐํ•˜๋Š” ๋Œ€์ƒ๋„ ๋ฌด์—‡์ด๋“  ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

967 </Step>

968 

969 <Step title="ํ•ญ๋ชฉ์„ ํ…Œ์ŠคํŠธํ•œ ํ›„ ์—ฐ๊ฒฐ">

970 ์ปดํ“จํ„ฐ์˜ ํ„ฐ๋ฏธ๋„์—์„œ `ssh devbox-container`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ณด๊ณ ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , ์•„๋ฌด๊ฒƒ๋„ ๋ฌป์ง€ ์•Š๊ณ  ์ปจํ…Œ์ด๋„ˆ์—์„œ ์…ธ์ด ์—ด๋ฆด ๋•Œ๊นŒ์ง€ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

971 

972 * **`ssh`๊ฐ€ ๋น„๋ฐ€๋ฒˆํ˜ธ, ์•”ํ˜ธ ๋ฌธ๊ตฌ ๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ**: SSH ์—์ด์ „ํŠธ๊ฐ€ ๋ณด์œ ํ•œ ํ‚ค์ฒ˜๋Ÿผ ํ”„๋กฌํ”„ํŠธ ์—†์ด ์ž‘๋™ํ•˜๋Š” ๋กœ๊ทธ์ธ์œผ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค

973 * **`ssh`๊ฐ€ `Cannot execute command-line and remote command.` ๋˜๋Š” `Bad packet length`๋ฅผ ๋ณด๊ณ ํ•˜๋Š” ๊ฒฝ์šฐ**: `build.example.com`์— ๋Œ€ํ•œ ํ•ญ๋ชฉ์—์„œ `RemoteCommand`์™€ `RequestTTY`๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ปดํ“จํ„ฐ์˜ ํ„ฐ๋ฏธ๋„์—์„œ `ssh build.example.com`์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์•„๋‹ˆ๋ผ ํ•ด๋‹น ๋จธ์‹ ์˜ ์…ธ์„ ์—ฝ๋‹ˆ๋‹ค.

974 * **`ssh`๊ฐ€ `Connection closed by UNKNOWN port 65535`๋ฅผ ๋ณด๊ณ ํ•˜๋Š” ๊ฒฝ์šฐ**: ๊ฐ™์€ ํ„ฐ๋ฏธ๋„์—์„œ `ssh build.example.com docker exec devbox /usr/sbin/sshd -t`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

975 * `Missing privilege separation directory: /run/sshd`๊ฐ€ ์ถœ๋ ฅ๋˜๋ฉด ์ปจํ…Œ์ด๋„ˆ์— ํ•ด๋‹น ํด๋”๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

976 * `no hostkeys available`๊ฐ€ ์ถœ๋ ฅ๋˜๊ณ  ์ปจํ…Œ์ด๋„ˆ์— ํ˜ธ์ŠคํŠธ ํ‚ค๊ฐ€ ์žˆ๋‹ค๋ฉด, ์ด ๋ช…๋ น๊ณผ ํ•ญ๋ชฉ์—์„œ `exec` ๋’ค์— `-u root`๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

977 

978 ๊ทธ๋Ÿฐ ๋‹ค์Œ **SSH host** ํ•„๋“œ์— `devbox-container`๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

979 </Step>

980</Steps>

981 

895<h5 id="use-variables-from-your-shell-in-a-proxycommand">982<h5 id="use-variables-from-your-shell-in-a-proxycommand">

896 `ProxyCommand`์—์„œ ์…ธ์˜ ๋ณ€์ˆ˜ ์‚ฌ์šฉ983 `ProxyCommand`์—์„œ ์…ธ์˜ ๋ณ€์ˆ˜ ์‚ฌ์šฉ

897</h5>984</h5>


900 987 

901์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Claude Desktop v2.37337.0 ์ด์ƒ๊ณผ `-0`์„ ํ—ˆ์šฉํ•˜๋Š” `env` ๋ช…๋ น์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ์˜ ํ„ฐ๋ฏธ๋„์—์„œ `env -0`์„ ์‹คํ–‰ํ•˜์—ฌ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.988์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Claude Desktop v2.37337.0 ์ด์ƒ๊ณผ `-0`์„ ํ—ˆ์šฉํ•˜๋Š” `env` ๋ช…๋ น์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ์˜ ํ„ฐ๋ฏธ๋„์—์„œ `env -0`์„ ์‹คํ–‰ํ•˜์—ฌ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

902 989 

990<Note>

991 ์…ธ์ด ์ž„์‹œ AWS ์ž๊ฒฉ ์ฆ๋ช…์„ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ `AWS_*` ๋ณ€์ˆ˜๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ๋Œ€์‹  [AWS CLI์— ํ”„๋กœํ•„์„ ์ œ๊ณต](#use-aws-credentials-in-a-proxycommand)ํ•˜์„ธ์š”.

992</Note>

993 

994<a id="use-aws-credentials-in-a-proxycommand" />

995 

996<h5 id="use-aws-credentials-in-a-proxycommand">

997 `ProxyCommand`์—์„œ AWS ์ž๊ฒฉ ์ฆ๋ช… ์‚ฌ์šฉ

998</h5>

999 

1000์…ธ ์‹œ์ž‘ ํŒŒ์ผ์—์„œ ์ž„์‹œ AWS ์ž๊ฒฉ ์ฆ๋ช…์„ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ, AWS CLI๋ฅผ ์‹คํ–‰ํ•˜๋Š” `ProxyCommand`๊ฐ€ ํ„ฐ๋ฏธ๋„์—์„œ๋Š” ์—ฐ๊ฒฐ๋˜์ง€๋งŒ Desktop์—์„œ๋Š” ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์…ธ์ด `AWS_SESSION_TOKEN`, `AWS_SECURITY_TOKEN` ๋˜๋Š” `AWS_CREDENTIAL_EXPIRATION`์„ ๋‚ด๋ณด๋‚ด๋ฉด Desktop์˜ `ssh`์™€ `ProxyCommand`๋Š” ์…ธ์˜ AWS ์ž๊ฒฉ ์ฆ๋ช…, `AWS_REGION`, `AWS_PROFILE`์„ ๋ฐ›์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

1001 

1002AWS CLI์— ๋ฆฌ์ „์ด๋‚˜ ์ž๊ฒฉ ์ฆ๋ช…์„ ์–ป์„ ๋‹ค๋ฅธ ์†Œ์Šค๊ฐ€ ์—†์œผ๋ฉด `You must specify a region` ๋˜๋Š” `Unable to locate credentials`์™€ ํ•จ๊ป˜ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. Desktop์—์„œ ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด AWS CLI๊ฐ€ `~/.aws/config`์—์„œ ์ฝ๋Š” ํ”„๋กœํ•„์„ ์ œ๊ณตํ•˜์„ธ์š”:

1003 

1004<Steps>

1005 <Step title="๋ฆฌ์ „๊ณผ ์ž๊ฒฉ ์ฆ๋ช… ์†Œ์Šค๊ฐ€ ์žˆ๋Š” ํ”„๋กœํ•„ ์ถ”๊ฐ€">

1006 ๋‹ค์Œ ์˜ˆ์ œ๋Š” ๋„์šฐ๋ฏธ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž๊ฒฉ ์ฆ๋ช…์„ ๊ฐ€์ ธ์˜ค๋Š” `corp`๋ผ๋Š” ํ”„๋กœํ•„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค:

1007 

1008 ```ini ~/.aws/config theme={null}

1009 [profile corp]

1010 region = us-east-1

1011 credential_process = /full/path/to/your-credential-helper

1012 ```

1013 

1014 * **`region`**: ์—ฐ๊ฒฐํ•˜๋Š” ๋จธ์‹ ์˜ AWS ๋ฆฌ์ „์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค

1015 * **`credential_process`**: [AWS๊ฐ€ ๋ฌธ์„œํ™”ํ•œ JSON ํ˜•์‹](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sourcing-external.html)์œผ๋กœ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. AWS CLI๋Š” ์ž๋ฆฌ๋ฅผ ๋น„์šด ๋™์•ˆ์˜ ์žฌ์—ฐ๊ฒฐ์„ ํฌํ•จํ•˜์—ฌ ์—ฐ๊ฒฐํ•  ๋•Œ๋งˆ๋‹ค ์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฏ€๋กœ, ์‚ฌ์šฉ์ž ์ž…๋ ฅ์ด ํ•„์š” ์—†๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์„ ํƒํ•˜์„ธ์š”.

1016 * **IAM Identity Center**: `credential_process` ๋Œ€์‹  ํ”„๋กœํ•„์˜ [IAM Identity Center ์„ค์ •](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html)์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐํ•˜๊ธฐ ์ „์—, ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ๋กœ๊ทธ์ธ์ด ๋งŒ๋ฃŒ๋˜์—ˆ์„ ๋•Œ ๋‹ค์‹œ ํ„ฐ๋ฏธ๋„์—์„œ `aws sso login --profile corp`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

1017 </Step>

1018 

1019 <Step title="ProxyCommand์— ํ”„๋กœํ•„ ์ง€์ •">

1020 ๋‹ค์Œ ์˜ˆ์ œ๋Š” [AWS๊ฐ€ Session Manager์šฉ์œผ๋กœ ๋ฌธ์„œํ™”ํ•œ ๋ช…๋ น](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-enable-ssh-connections.html)์— `--profile`์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค:

1021 

1022 ```text ~/.ssh/config theme={null}

1023 Host i-*

1024 ProxyCommand sh -c "aws ssm start-session --profile corp --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"

1025 ```

1026 </Step>

1027 

1028 <Step title="๋‹ค์‹œ ์—ฐ๊ฒฐ">

1029 ํ„ฐ๋ฏธ๋„์—์„œ ํ˜ธ์ŠคํŠธ๋ฅผ ์ง€์ •ํ•˜์—ฌ `ssh`๋ฅผ ์‹คํ–‰ํ•ด ํ•ญ๋ชฉ์ด ๊ทธ๊ณณ์—์„œ ์—ฌ์ „ํžˆ ์—ฐ๊ฒฐ๋˜๋Š”์ง€ ํ™•์ธํ•œ ๋‹ค์Œ Desktop์—์„œ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

1030 </Step>

1031</Steps>

1032 

903<h5 id="raise-the-ssh-connection-timeout">1033<h5 id="raise-the-ssh-connection-timeout">

904 SSH ์—ฐ๊ฒฐ ํƒ€์ž„์•„์›ƒ ๋Š˜๋ฆฌ๊ธฐ1034 SSH ์—ฐ๊ฒฐ ํƒ€์ž„์•„์›ƒ ๋Š˜๋ฆฌ๊ธฐ

905</h5>1035</h5>


916 1046 

917`ssh`๋Š” ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•ด ์ฒ˜์Œ ์ฐพ์€ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, ์ด ํ•ญ๋ชฉ์„ `ConnectTimeout`์„ ์„ค์ •ํ•˜๋Š” `Host *` ํ•ญ๋ชฉ๋ณด๋‹ค ์œ„์— ๋‘์„ธ์š”. ํ™•์ธํ•˜๋ ค๋ฉด ์ปดํ“จํ„ฐ์˜ ํ„ฐ๋ฏธ๋„์—์„œ `ssh -G devbox`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ์— `connecttimeout 120`์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ฐ’์„ ๋ณ€๊ฒฝํ•œ ํ›„์—๋Š” Desktop์„ ์ข…๋ฃŒํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์—ฝ๋‹ˆ๋‹ค.1047`ssh`๋Š” ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•ด ์ฒ˜์Œ ์ฐพ์€ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, ์ด ํ•ญ๋ชฉ์„ `ConnectTimeout`์„ ์„ค์ •ํ•˜๋Š” `Host *` ํ•ญ๋ชฉ๋ณด๋‹ค ์œ„์— ๋‘์„ธ์š”. ํ™•์ธํ•˜๋ ค๋ฉด ์ปดํ“จํ„ฐ์˜ ํ„ฐ๋ฏธ๋„์—์„œ `ssh -G devbox`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ์— `connecttimeout 120`์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ฐ’์„ ๋ณ€๊ฒฝํ•œ ํ›„์—๋Š” Desktop์„ ์ข…๋ฃŒํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์—ฝ๋‹ˆ๋‹ค.

918 1048 

1049์›๊ฒฉ ๋จธ์‹  ์ž์ฒด๊ฐ€ ํœด๋Œ€ํฐ์—์„œ์˜ ์Šน์ธ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒฝ์šฐ, ์„ค์ •ํ•œ `ConnectTimeout`๊ณผ ๊ด€๊ณ„์—†์ด 45์ดˆ ์ด๋‚ด์— ์Šน์ธํ•˜์„ธ์š”. Desktop์ด `ServerAliveInterval`๊ณผ `ServerAliveCountMax`๋ฅผ ์ง์ ‘ ์„ค์ •ํ•˜๋ฉฐ, ๊ทธ๋Ÿฌ๋ฉด `ssh`๋Š” ์›๊ฒฉ ๋จธ์‹ ์ด ๊ทธ ์‹œ๊ฐ„ ๋™์•ˆ ์•„๋ฌด๊ฒƒ๋„ ๋ณด๋‚ด์ง€ ์•Š๋Š” ๋กœ๊ทธ์ธ์„ ๋‹ซ๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ œํ•œ์€ ๋Š˜๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์ ํ”„ ํ˜ธ์ŠคํŠธ๋‚˜ `ProxyCommand`๊ฐ€ ์‚ฌ์šฉ์ž๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒฝ์šฐ์—๋Š” ์›๊ฒฉ ๋จธ์‹  ํ•ญ๋ชฉ์˜ `ConnectTimeout`์„ ๋Š˜๋ ค ๊ทธ ์‹œ๊ฐ„์„ ํฌํ•จํ•˜์„ธ์š”.

1050 

1051<h5 id="fix-a-match-host-block-that-only-desktop-applies">

1052 Desktop์—์„œ๋งŒ ์ ์šฉ๋˜๋Š” `Match host` ๋ธ”๋ก ์ˆ˜์ •

1053</h5>

1054 

1055ํ„ฐ๋ฏธ๋„์˜ `ssh devbox`๊ฐ€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์„ค์ •์„ Desktop์ด ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, ํ•ญ๋ชฉ์˜ `HostName` ์ค„ ์œ„์— ์žˆ๋Š” `Match host` ๋ธ”๋ก์„ ์ฐพ์•„๋ณด์„ธ์š”. ํ„ฐ๋ฏธ๋„์—์„œ `ssh`๋Š” ๊ทธ ์œ„์น˜์˜ ๋ธ”๋ก์„ `HostName` ์ค„๋ณด๋‹ค ๋จผ์ € ์ฝ์œผ๋ฏ€๋กœ ๋ธ”๋ก์„ `devbox`์™€ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. Desktop์€ `ssh`์— ๋ช…๋ น์ค„๋กœ `HostName` ๊ฐ’์„ ์ „๋‹ฌํ•˜๋ฏ€๋กœ `ssh`๋Š” ๋ธ”๋ก์„ ๊ทธ ๊ฐ’๊ณผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

1056 

1057ํ™•์ธํ•˜๋ ค๋ฉด Desktop์ฒ˜๋Ÿผ ํ•ญ๋ชฉ์˜ `HostName` ๋ฐ `User` ๊ฐ’์„ ๋ช…๋ น์ค„์— ์ง€์ •ํ•˜์—ฌ ์ปดํ“จํ„ฐ์˜ ํ„ฐ๋ฏธ๋„์—์„œ `ssh -G`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

1058 

1059```bash theme={null}

1060ssh -G -o HostName=devbox.internal.example.com -l alice devbox

1061```

1062 

1063์ถœ๋ ฅ์„ `ssh -G devbox`์˜ ์ถœ๋ ฅ๊ณผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. `proxycommand`์™€ ๊ฐ™์€ ๋ธ”๋ก์˜ ์„ค์ •์ด ์ฒซ ๋ฒˆ์งธ ์ถœ๋ ฅ์—๋งŒ ํ‘œ์‹œ๋œ๋‹ค๋ฉด ํ•ด๋‹น ๋ธ”๋ก์€ Desktop์—์„œ๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. Desktop์—์„œ๋„ ์ด ๋ธ”๋ก์„ ๊ฑด๋„ˆ๋›ฐ๊ฒŒ ํ•˜๋ ค๋ฉด `Match` ์ค„์— `!originalhost devbox`๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค:

1064 

1065```text ~/.ssh/config theme={null}

1066Match host *.internal.example.com !originalhost devbox

1067```

1068 

1069ํ™•์ธํ•˜๋ ค๋ฉด ์ฒซ ๋ฒˆ์งธ ๋ช…๋ น์„ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก์˜ ์„ค์ •์ด ๋” ์ด์ƒ ์ถœ๋ ฅ์— ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

1070 

919<h5 id="forwarding-settings-that-desktop-leaves-off">1071<h5 id="forwarding-settings-that-desktop-leaves-off">

920 Desktop์ด ๋„๋Š” ํฌ์›Œ๋”ฉ ์„ค์ •1072 Desktop์ด ๋„๋Š” ํฌ์›Œ๋”ฉ ์„ค์ •

921</h5>1073</h5>


1154 </Step>1306 </Step>

1155 1307 

1156 <Step title="ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ">1308 <Step title="ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ">

1157 ์›๊ฒฉ ๋จธ์‹ ์— ํ•ด๋‹น ์‚ฌ์šฉ์ž๋กœ ๋กœ๊ทธ์ธํ•œ ์ƒํƒœ์—์„œ [`pgrep`](#files-and-processes-on-the-remote-machine)์ด ๋‚˜์—ดํ•˜๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค ID๋กœ `kill`์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.1309 ์›๊ฒฉ ๋จธ์‹ ์— ํ•ด๋‹น ์‚ฌ์šฉ์ž๋กœ ๋กœ๊ทธ์ธํ•œ ์ƒํƒœ์—์„œ [`pgrep`](#files-and-processes-on-the-remote-machine)์ด ๋‚˜์—ดํ•˜๋Š” ๊ฐ Claude Code ํ”„๋กœ์„ธ์Šค์˜ ID๋กœ `kill`์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ชฉ๋ก์—์„œ ์ด ํ”„๋กœ์„ธ์Šค๋“ค์ด ์‚ฌ๋ผ์ง€๋ฉด ๊ฐ `server` ํ”„๋กœ์„ธ์Šค์˜ ID๋กœ `kill`์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. `server` ํ”„๋กœ์„ธ์Šค๋ฅผ ๋จผ์ € ์ข…๋ฃŒํ•˜๋ฉด Claude Code๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ๋ช…๋ น์ด ๊ณ„์† ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1310 

1311 ๊ทธ๋Ÿฐ ๋‹ค์Œ `ps -u "$(id -un)" -f` ๋“ฑ์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ๋‚˜๋จธ์ง€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‚˜์—ดํ•˜๊ณ , Claude Code๊ฐ€ ์‹œ์ž‘ํ•œ ๊ฒƒ์œผ๋กœ ํ™•์ธ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. Claude Code๊ฐ€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์— ๋‚จ๊ฒจ ๋‘” ํ”„๋กœ๊ทธ๋žจ์€ Claude Code๊ฐ€ ์ข…๋ฃŒ๋œ ํ›„์—๋„ `pgrep` ๋ชฉ๋ก์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์€ ์ฑ„ ๊ณ„์† ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1158 </Step>1312 </Step>

1159 1313 

1160 <Step title="ํด๋” ์‚ญ์ œ">1314 <Step title="ํด๋” ์‚ญ์ œ">


1170 1324 

1171์›ŒํฌํŠธ๋ฆฌ๊ฐ€ ์žˆ๋Š” ์„ธ์…˜์„ ๋ณด๊ด€ํ•˜๊ธฐ ์ „์— [์„ธ์…˜์œผ๋กœ ๋ณ‘๋ ฌ ์ž‘์—…](#work-in-parallel-with-sessions)์„ ์ฐธ์กฐํ•˜์„ธ์š”.1325์›ŒํฌํŠธ๋ฆฌ๊ฐ€ ์žˆ๋Š” ์„ธ์…˜์„ ๋ณด๊ด€ํ•˜๊ธฐ ์ „์— [์„ธ์…˜์œผ๋กœ ๋ณ‘๋ ฌ ์ž‘์—…](#work-in-parallel-with-sessions)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

1172 1326 

1327<h5 id="see-which-user-the-processes-run-as">

1328 ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋Š” ์‚ฌ์šฉ์ž ํ™•์ธ

1329</h5>

1330 

1331๋„์šฐ๋ฏธ์™€ Claude Code๋Š” Desktop์ด SSH๋กœ ๋กœ๊ทธ์ธํ•˜๋Š” ์‚ฌ์šฉ์ž๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹œ์ž‘ํ•˜๋Š” ๋ฐ `sudo`๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ์›๊ฒฉ ๋จธ์‹ ์—์„œ [`pgrep`](#files-and-processes-on-the-remote-machine)์ด ๋‚˜์—ดํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ID๋กœ `ps -o user= -p`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

1332 

1333์…ธ ๋ช…๋ น ๋ฐ MCP ์„œ๋ฒ„์™€ ๊ฐ™์ด Claude Code๊ฐ€ ์‹œ์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ๋„ ํ•ด๋‹น ์‚ฌ์šฉ์ž๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ์›๊ฒฉ ๋จธ์‹ ์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ํ•˜๋“ฏ์ด, `sudo` ๊ทœ์น™์„ ํฌํ•จํ•˜์—ฌ ํ•ด๋‹น ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์„ ๊ฒ€ํ† ํ•˜์„ธ์š”.

1334 

1173<h5 id="see-who-connected-to-the-remote-machine">1335<h5 id="see-who-connected-to-the-remote-machine">

1174 ์›๊ฒฉ ๋จธ์‹ ์— ์—ฐ๊ฒฐํ•œ ์‚ฌ์šฉ์ž ํ™•์ธ1336 ์›๊ฒฉ ๋จธ์‹ ์— ์—ฐ๊ฒฐํ•œ ์‚ฌ์šฉ์ž ํ™•์ธ

1175</h5>1337</h5>

1176 1338 

1177์›๊ฒฉ ๋จธ์‹ ์— ๋ˆ„๊ฐ€ ์—ฐ๊ฒฐํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ํ•ด๋‹น ๋จธ์‹ ์—์„œ SSH ์„œ๋ฒ„์˜ ๋กœ๊ทธ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ์—์„œ Desktop์˜ ๋กœ๊ทธ์ธ์€ ํ„ฐ๋ฏธ๋„์˜ ๋กœ๊ทธ์ธ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. macOS ๋˜๋Š” Linux์˜ Desktop์—์„œ๋Š” ์„ธ์…˜๋งˆ๋‹ค๊ฐ€ ์•„๋‹ˆ๋ผ Desktop์ด ์—ฐ๊ฒฐํ•  ๋•Œ๋งˆ๋‹ค ํ•ญ๋ชฉ์ด ํ•˜๋‚˜์”ฉ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.1339์›๊ฒฉ ๋จธ์‹ ์— ๋ˆ„๊ฐ€ ์—ฐ๊ฒฐํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ํ•ด๋‹น ๋จธ์‹ ์—์„œ SSH ์„œ๋ฒ„์˜ ๋กœ๊ทธ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ์—์„œ Desktop์˜ ๋กœ๊ทธ์ธ์€ ํ„ฐ๋ฏธ๋„์˜ ๋กœ๊ทธ์ธ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. macOS ๋˜๋Š” Linux์˜ Desktop์—์„œ๋Š” ์„ธ์…˜๋งˆ๋‹ค๊ฐ€ ์•„๋‹ˆ๋ผ Desktop์ด ์—ฐ๊ฒฐํ•  ๋•Œ๋งˆ๋‹ค ํ•ญ๋ชฉ์ด ํ•˜๋‚˜์”ฉ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.

1178 1340 

1341Claude Code์˜ [๋ฉ”ํŠธ๋ฆญ ๋ฐ ์ด๋ฒคํŠธ](/docs/ko/monitoring-usage#available-metrics-and-events)์—์„œ๋Š” Desktop์˜ SSH ์—ฐ๊ฒฐ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด SSH ์„ธ์…˜์ด ์–ด๋А ์›๊ฒฉ ๋จธ์‹ ์—์„œ ์‹คํ–‰๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด [Desktop SSH ์„ธ์…˜์— ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ ๊ท€์†](/docs/ko/monitoring-usage#attribute-telemetry-to-desktop-ssh-sessions)์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. Desktop ์ž์ฒด์˜ ์—ฐ๊ฒฐ ๊ธฐ๋ก์€ [SSH ๋ฌธ์ œ์— ๋Œ€ํ•œ Desktop ๋กœ๊ทธ ๊ฐ€์ ธ์˜ค๊ธฐ](#get-desktops-logs-for-an-ssh-problem)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

1342 

1343<h4 id="connections-that-close-before-login">

1344 ๋กœ๊ทธ์ธ ์ „์— ๋‹ซํžˆ๋Š” ์—ฐ๊ฒฐ

1345</h4>

1346 

1347SSH ์„œ๋ฒ„ ๋กœ๊ทธ์— ๋กœ๊ทธ์ธ ์ „์— ๋‹ซํžˆ๋Š” ์—ฐ๊ฒฐ์ด ํ‘œ์‹œ๋œ๋‹ค๋ฉด, ์ด๋Š” Desktop์˜ SSH ํฌํŠธ ํ…Œ์ŠคํŠธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Desktop์€ ๋จธ์‹ ์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์ด ์‹คํŒจํ•œ ํ›„ ๋“ฑ์— ๋จธ์‹ ์ด ์‘๋‹ตํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. ํฌํŠธ์— ์—ฐ๊ฒฐ์„ ์—ด๊ณ  ์•„๋ฌด๊ฒƒ๋„ ๋ณด๋‚ด์ง€ ์•Š์€ ์ฑ„ ์ฆ‰์‹œ ๋‹ซ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์˜ ํ…Œ์ŠคํŠธ ๋˜๋Š” ์—ฐ์†๋œ ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: ์•ฝ 2๋ถ„ ๋™์•ˆ 8๋ฒˆ).

1348 

1349์ด๋Ÿฌํ•œ ์—ฐ๊ฒฐ์— ๋Œ€ํ•ด ์ฃผ์†Œ๋ฅผ ์ฐจ๋‹จํ•˜๊ฑฐ๋‚˜ ๊ฑฐ๋ถ€ํ•˜๋Š” ๊ฒƒ์ด ์—†๋‹ค๋ฉด Desktop์˜ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ์•„๋ฌด๊ฒƒ๋„ ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Desktop์ด ์—ฐ๊ฒฐํ•˜๋Š” ์ฃผ์†Œ๊ฐ€ ๊ฑฐ๋ถ€๋˜๊ฑฐ๋‚˜ ์ฐจ๋‹จ๋˜๋Š” ๊ฒฝ์šฐ, [SSH ์„œ๋ฒ„ ์ž์ฒด๊ฐ€ ์ฃผ์†Œ๋ฅผ ๊ฑฐ๋ถ€ํ•˜๋Š”์ง€](#check-whether-the-ssh-server-itself-refuses-the-address)์™€ [fail2ban์ด Desktop์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ง‘๊ณ„ํ•˜๋Š”์ง€](#check-whether-fail2ban-counts-desktops-tests)๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

1350 

1351<h5 id="recognize-a-test-in-the-ssh-serverโ€™s-log">

1352 SSH ์„œ๋ฒ„ ๋กœ๊ทธ์—์„œ ํ…Œ์ŠคํŠธ ์‹๋ณ„

1353</h5>

1354 

1355๋กœ๊ทธ์˜ ์ค„์„ ์„œ๋ฒ„ ๋ฒ„์ „์— ํ•ด๋‹นํ•˜๋Š” ํ–‰์—์„œ, ๊ธฐ๋ณธ `LogLevel`์˜ Linux OpenSSH ์„œ๋ฒ„๊ฐ€ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ๊ธฐ๋กํ•˜๋Š” ์ค„๊ณผ ๋น„๊ตํ•˜์‹ญ์‹œ์˜ค. Desktop์ด ์—ฐ๊ฒฐ์„ ๋‹ซ๊ธฐ ์ „์— ์„œ๋ฒ„์˜ ์ธ์‚ฌ๋ง์ด ๋„์ฐฉํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ์—ด์˜ ์ค„์ด ๋Œ€์‹  ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1356 

1357| OpenSSH ๋ฒ„์ „ | ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ์ค„ | ์ธ์‚ฌ๋ง์ด ๋จผ์ € ๋„์ฐฉํ•œ ๊ฒฝ์šฐ์˜ ์ค„ |

1358| - | - | - |

1359| 6.6\~7.9 | `Did not receive identification string from 203.0.113.7`์ด ํฌํ•จ๋œ ์ค„ | ๊ฐ™์€ ์ค„ |

1360| 8.0\~8.2 | `error: kex_exchange_identification: Connection closed by remote host` | `error: kex_exchange_identification: read: Connection reset by peer` |

1361| 8.3\~9.4 | `error: kex_exchange_identification: Connection closed by remote host` ๋‹ค์Œ์— `Connection closed by 203.0.113.7 port 51234` | `error: kex_exchange_identification: read: Connection reset by peer` ๋‹ค์Œ์— `Connection reset by 203.0.113.7 port 51234` |

1362| 9.5\~10.2 | `Connection closed by 203.0.113.7 port 51234` | `error: kex_exchange_identification: read: Connection reset by peer` ๋‹ค์Œ์— `Connection reset by 203.0.113.7 port 51234` |

1363| 10.3\~10.5 | `Connection closed by 203.0.113.7 port 51234 [preauth]` | `error: kex_exchange_identification: read: Connection reset by peer [preauth]` ๋‹ค์Œ์— `Connection reset by 203.0.113.7 port 51234 [preauth]` |

1364 

1365ํฌํŠธ๋ฅผ ์—ด๊ณ  ๋‹ซ๋Š” ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ๋„ ๊ฐ™์€ ์ค„์„ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ค„์— ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, ๊ทธ๊ฒƒ์ด Desktop์ด ์„ค์น˜๋œ ์ปดํ“จํ„ฐ๊ฐ€ ์—ฐ๊ฒฐํ•˜๋Š” ์ฃผ์†Œ์ธ์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

1366 

13678.0\~8.2์˜ ์ค„์—๋Š” ์ฃผ์†Œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ฃผ์†Œ๋ฅผ ์–ป์œผ๋ ค๋ฉด `sshd_config`์—์„œ `LogLevel VERBOSE`๋ฅผ ์„ค์ •ํ•˜๊ณ  root๋กœ `sshd -T | grep -i loglevel`์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. `loglevel VERBOSE`๊ฐ€ ์ถœ๋ ฅ๋˜๋ฉด SSH ์„œ๋ฒ„๋ฅผ ๋‹ค์‹œ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ…Œ์ŠคํŠธ ์ค„ ์•ž์— `Connection from 203.0.113.7 port 51234`๊ฐ€ ํฌํ•จ๋œ ์ค„์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

1368 

1369<a id="check-whether-the-ssh-server-itself-refuses-the-address" />

1370 

1371<h5 id="check-whether-the-ssh-server-itself-refuses-the-address">

1372 SSH ์„œ๋ฒ„ ์ž์ฒด๊ฐ€ ์ฃผ์†Œ๋ฅผ ๊ฑฐ๋ถ€ํ•˜๋Š”์ง€ ํ™•์ธ

1373</h5>

1374 

1375Desktop์ด ์„ค์น˜๋œ ์—ฌ๋Ÿฌ ์ปดํ“จํ„ฐ๊ฐ€ ๊ณต์œ ํ•˜๋Š” ์ฃผ์†Œ์—์„œ์˜ ์—ฐ๊ฒฐ์ด ๊ฑฐ๋ถ€๋˜๋Š” ๊ฒฝ์šฐ, SSH ์„œ๋ฒ„ ๋กœ๊ทธ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋๋‚˜๋Š” ์ค„์„ ์ฐพ์œผ์‹ญ์‹œ์˜ค.

1376 

1377```text theme={null}

1378drop connection #0 from [203.0.113.7]:51234 on [192.0.2.10]:22 penalty: connections without attempting authentication

1379```

1380 

1381๊ธฐ๋ณธ `LogLevel`์—์„œ OpenSSH 9.8 ์ด์ƒ์€ Desktop์˜ ํ…Œ์ŠคํŠธ์ฒ˜๋Ÿผ ๋กœ๊ทธ์ธ์„ ์‹œ๋„ํ•˜์ง€ ์•Š๊ณ  ๋‹ซํžŒ ์—ฐ๊ฒฐ์— ๋Œ€ํ•ด ์ฃผ์†Œ๋ฅผ ๊ฑฐ๋ถ€ํ•  ๋•Œ ์ด๋Ÿฌํ•œ ์ค„์„ ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์„ค์ •์—์„œ๋Š” ๋ช‡ ๋ฒˆ์˜ ํ…Œ์ŠคํŠธ๋งŒ์œผ๋กœ ์ด๋Ÿฌํ•œ ์ค„์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

1382 

1383๊ฑฐ๋ถ€๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด `sshd_config`์—์„œ `PerSourcePenaltyExemptList`๋ฅผ ์‚ฌ๋žŒ๋“ค์ด ์—ฐ๊ฒฐํ•˜๋Š” ์ฃผ์†Œ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: `PerSourcePenaltyExemptList 203.0.113.7`). ๊ทธ๋Ÿฌ๋ฉด ์„œ๋ฒ„๋Š” ๋กœ๊ทธ์ธ ์‹คํŒจ์— ๋Œ€ํ•œ ํŽ˜๋„ํ‹ฐ๋ฅผ ํฌํ•จํ•˜์—ฌ ํ•ด๋‹น ์ฃผ์†Œ์— ์–ด๋– ํ•œ ํŽ˜๋„ํ‹ฐ๋„ ์ ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ํ™•์ธํ•˜๋ ค๋ฉด root๋กœ `sshd -T | grep -i persourcepenalt`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ชฉ๋ก์ด ์ถœ๋ ฅ๋˜๋ฉด SSH ์„œ๋ฒ„๋ฅผ ๋‹ค์‹œ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

1384 

1385<a id="check-whether-fail2ban-counts-desktops-tests" />

1386 

1387<h5 id="check-whether-fail2ban-counts-desktopโ€™s-tests">

1388 fail2ban์ด Desktop์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ง‘๊ณ„ํ•˜๋Š”์ง€ ํ™•์ธ

1389</h5>

1390 

1391fail2ban 0.10.5 ์ด์ƒ์ด Desktop์ด ์—ฐ๊ฒฐํ•˜๋Š” ์ฃผ์†Œ๋ฅผ ์ฐจ๋‹จํ•œ ๊ฒฝ์šฐ, `jail.conf`, `jail.local` ๋˜๋Š” `jail.d/` ์•„๋ž˜์—์„œ jail์˜ ๋ชจ๋“œ๋ฅผ ์ฐพ์œผ์‹ญ์‹œ์˜ค.

1392 

1393* **๋Œ€๊ด„ํ˜ธ ์•ˆ์— ๋ชจ๋“œ๋ฅผ ์ง€์ •ํ•˜๋Š” `filter` ์ค„**(์˜ˆ: `filter = sshd[mode=aggressive]`): ํ•ด๋‹น ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

1394* **`[mode=%(mode)s]`๊ฐ€ ์žˆ๋Š” ๊ธฐ๋ณธ `filter` ์ค„๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ**: `mode` ์ค„์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ์—†์œผ๋ฉด `normal`์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

1395 

1396๋ชจ๋“œ๊ฐ€ `normal`์ด๋ฉด fail2ban์€ Desktop ํ…Œ์ŠคํŠธ์˜ ์ค„์„ ์ง‘๊ณ„ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ฐจ๋‹จ์˜ ๋‹ค๋ฅธ ์›์ธ์„ ์ฐพ์œผ์‹ญ์‹œ์˜ค.

1397 

1398๋‹ค๋ฅธ ๋ชจ๋“œ์ธ ๊ฒฝ์šฐ ์ž์‹ ์˜ ๋กœ๊ทธ์—์„œ ์ค„์„ ์›๊ฒฉ ๋จธ์‹ ์˜ ํŒŒ์ผ๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ค„์„ ๋‚ ์งœ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ํ†ต์งธ๋กœ ๋ณต์‚ฌํ•˜๊ณ , ํ…Œ์ŠคํŠธ๊ฐ€ ๋‘ ์ค„์„ ๋‚จ๊ธฐ๋Š” ๊ฒฝ์šฐ ๋‘ ์ค„์„ ๋ชจ๋‘ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋จธ์‹ ์—์„œ ํŒŒ์ผ๊ณผ jail์˜ ๋ชจ๋“œ(์˜ˆ: `aggressive`)๋กœ `fail2ban-regex`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

1399 

1400```bash theme={null}

1401fail2ban-regex -o ip lines.log "sshd[mode=aggressive]"

1402```

1403 

1404fail2ban์ด ์ง‘๊ณ„ํ•˜๋Š” ๊ฐ ์‹คํŒจ์— ๋Œ€ํ•ด ๋ช…๋ น์€ `203.0.113.7`์ฒ˜๋Ÿผ ์ฃผ์†Œ๋ฅผ ๋ณ„๋„์˜ ์ค„์— ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ [์ฐจ๋‹จ์„ ๋ฐฉ์ง€](#prevent-a-ban-by-fail2ban)ํ•˜์‹ญ์‹œ์˜ค. ์•„๋ฌด๊ฒƒ๋„ ์ถœ๋ ฅ๋˜์ง€ ์•Š์œผ๋ฉด fail2ban์€ ํ•ด๋‹น ๋ชจ๋“œ์—์„œ ์ด ์ค„๋“ค์„ ์ง‘๊ณ„ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ฐจ๋‹จ์˜ ๋‹ค๋ฅธ ์›์ธ์„ ์ฐพ์œผ์‹ญ์‹œ์˜ค.

1405 

1406<a id="prevent-a-ban-by-fail2ban" />

1407 

1408<h5 id="prevent-a-ban-by-fail2ban">

1409 fail2ban์˜ ์ฐจ๋‹จ ๋ฐฉ์ง€

1410</h5>

1411 

1412fail2ban์ด Desktop์˜ ํ…Œ์ŠคํŠธ ๋•Œ๋ฌธ์— ์ฃผ์†Œ๋ฅผ ์ฐจ๋‹จํ•˜์ง€ ์•Š๋„๋ก ํ•˜๋ ค๋ฉด jail์˜ ๋‘ ์„ค์ • ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์—๋Š” ๋Œ€๊ฐ€๊ฐ€ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

1413 

1414* **`mode`**: jail์ด ์„ค์ •ํ•˜๋Š” ๋ชจ๋“  ๊ณณ, ์ฆ‰ `mode` ์ค„์ด๋‚˜ `filter = sshd[mode=aggressive]` ๊ฐ™์€ ์ค„์˜ ๋Œ€๊ด„ํ˜ธ ์•ˆ์—์„œ `normal`๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธ์„ ์‹œ๋„ํ•˜์ง€ ์•Š๊ณ  ์—ฐ๊ฒฐํ–ˆ๋‹ค๊ฐ€ ๋– ๋‚˜๋Š” ํด๋ผ์ด์–ธํŠธ์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ๋ชจ๋“œ์—์„œ๋งŒ ์ง‘๊ณ„๋˜๋Š” ๋ชจ๋“  ํ•ญ๋ชฉ์„ ํฌ๊ธฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

1415* **`ignoreip`**: ์‚ฌ๋žŒ๋“ค์ด ์—ฐ๊ฒฐํ•˜๋Š” ์ฃผ์†Œ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: `ignoreip = 203.0.113.7`). ๊ทธ๋Ÿฌ๋ฉด fail2ban์€ ๋กœ๊ทธ์ธ ์‹คํŒจ๋ฅผ ํฌํ•จํ•˜์—ฌ ํ•ด๋‹น ์ฃผ์†Œ์—์„œ ์˜ค๋Š” ์–ด๋–ค ๊ฒƒ๋„ ์ง‘๊ณ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

1416 

1179<h4 id="use-mcp-servers-set-up-on-the-remote-machine">1417<h4 id="use-mcp-servers-set-up-on-the-remote-machine">

1180 ์›๊ฒฉ ๋จธ์‹ ์— ์„ค์ •๋œ MCP ์„œ๋ฒ„ ์‚ฌ์šฉ1418 ์›๊ฒฉ ๋จธ์‹ ์— ์„ค์ •๋œ MCP ์„œ๋ฒ„ ์‚ฌ์šฉ

1181</h4>1419</h4>


1682 1920 

1683๊ทธ ์™ธ์˜ ๋ฉ”์‹œ์ง€๋Š” [์›๊ฒฉ ๋จธ์‹  ์š”๊ตฌ ์‚ฌํ•ญ](#remote-machine-requirements-for-ssh-sessions)์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.1921๊ทธ ์™ธ์˜ ๋ฉ”์‹œ์ง€๋Š” [์›๊ฒฉ ๋จธ์‹  ์š”๊ตฌ ์‚ฌํ•ญ](#remote-machine-requirements-for-ssh-sessions)์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

1684 1922 

1923<a id="get-desktops-logs-for-an-ssh-problem" />

1924 

1925<h3 id="get-desktopโ€™s-logs-for-an-ssh-problem">

1926 SSH ๋ฌธ์ œ์— ๋Œ€ํ•œ Desktop ๋กœ๊ทธ ๊ฐ€์ ธ์˜ค๊ธฐ

1927</h3>

1928 

1929Desktop์˜ SSH ์—ฐ๊ฒฐ ๊ธฐ๋ก์ธ `ssh.log`๋Š” **Help** ๋ฉ”๋‰ด์—์„œ ์ €์žฅํ•˜๋Š” Desktop ๋กœ๊ทธ zip ํŒŒ์ผ์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅํ•˜๋ ค๋ฉด **Help > Troubleshooting**์„ ์—ด๊ณ  ์‚ฌ์šฉ ์ค‘์ธ ์‹œ์Šคํ…œ์— ํ•ด๋‹นํ•˜๋Š” ํ•ญ๋ชฉ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค:

1930 

1931* **macOS**: **Show Logs in Finder**

1932* **Windows**: **Show Logs in File Explorer**

1933* **Linux**: **Show Logs in File Manager**

1934 

1935ํŒŒ์ผ์„ ๋ณด๋‚ด๊ธฐ ์ „์— ๋‚ด์šฉ์„ ์‚ดํŽด๋ณด์„ธ์š”. ํ™˜๊ฒฝ์˜ ์ด๋ฆ„๊ณผ ๊ธฐํƒ€ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. `<host>`์™€ `<user>`๋Š” Desktop์ด ๋Œ€์ฒดํ•œ ์ด๋ฆ„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. Desktop์ด ๋ชจ๋“  ์ด๋ฆ„์„ ๋Œ€์ฒดํ•˜์ง€๋Š” ์•Š์œผ๋ฏ€๋กœ SSH ํ˜ธ์ŠคํŠธ ๋˜๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„์ด ์ž‘์„ฑ๋œ ๊ทธ๋Œ€๋กœ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. zip ํŒŒ์ผ์„ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ ๋กœ๊ทธ์— ํ•ด๋‹น ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์ด ์—†์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์–ด๋–ค ํ˜ธ์ŠคํŠธ๊ฐ€ ์–ธ์ œ ์‹คํŒจํ–ˆ๋Š”์ง€ ์•Œ๋ ค ์ฃผ์„ธ์š”.

1936 

1937zip ํŒŒ์ผ์—๋Š” Desktop์ด ์›๊ฒฉ ๋จธ์‹ ์— ์„ค์น˜ํ•˜๋Š” ๋„์šฐ๋ฏธ ํ”„๋กœ๊ทธ๋žจ์˜ ๋กœ๊ทธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋กœ๊ทธ๋„ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ์—ฐ๊ฒฐํ•œ ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” [`~/.claude/remote/run/`](#files-and-processes-on-the-remote-machine) ์•„๋ž˜ ๋„์šฐ๋ฏธ ํด๋”์—์„œ `remote-server.log`๋ฅผ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ๋„ ๋ณด๋‚ด๊ธฐ ์ „์— ๋‚ด์šฉ์„ ์‚ดํŽด๋ณด์„ธ์š”.

1938 

1685<h3 id="app-wonโ€™t-quit">1939<h3 id="app-wonโ€™t-quit">

1686 ์•ฑ์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š์Œ1940 ์•ฑ์ด ์ข…๋ฃŒ๋˜์ง€ ์•Š์Œ

1687</h3>1941</h3>

env-vars.md +3 โˆ’1

Details

225| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | `0`์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ์ƒˆ [์•„ํ‹ฐํŒฉํŠธ](/docs/ko/artifacts#create-an-artifact)๊ฐ€ ๊ฒŒ์‹œ๋  ๋•Œ Claude Code๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ž๋™์œผ๋กœ ์—ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค |225| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | `0`์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ์ƒˆ [์•„ํ‹ฐํŒฉํŠธ](/docs/ko/artifacts#create-an-artifact)๊ฐ€ ๊ฒŒ์‹œ๋  ๋•Œ Claude Code๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ž๋™์œผ๋กœ ์—ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค |

226| `CLAUDE_CODE_ARTIFACT_COMMENTS` | `0`์œผ๋กœ ์„ค์ •ํ•˜๋ฉด Claude๊ฐ€ [์•„ํ‹ฐํŒฉํŠธ์˜ ๋Œ“๊ธ€](/docs/ko/artifacts#collect-comments-on-an-artifact)์„ ์ฝ๊ณ  ๋‹ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`์ด [์•„ํ‹ฐํŒฉํŠธ๋ฅผ ๋ˆ](/docs/ko/artifacts#availability) ๊ฒฝ์šฐ์—๋Š” ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Claude Code v2.1.221 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |226| `CLAUDE_CODE_ARTIFACT_COMMENTS` | `0`์œผ๋กœ ์„ค์ •ํ•˜๋ฉด Claude๊ฐ€ [์•„ํ‹ฐํŒฉํŠธ์˜ ๋Œ“๊ธ€](/docs/ko/artifacts#collect-comments-on-an-artifact)์„ ์ฝ๊ณ  ๋‹ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`์ด [์•„ํ‹ฐํŒฉํŠธ๋ฅผ ๋ˆ](/docs/ko/artifacts#availability) ๊ฒฝ์šฐ์—๋Š” ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Claude Code v2.1.221 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |

227| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | `0`์œผ๋กœ ์„ค์ •ํ•˜๋ฉด Claude๊ฐ€ [์ž์‹ ์—๊ฒŒ ์ „์†ก๋œ ๋Œ“๊ธ€์— ์Šค์Šค๋กœ ๋‹ตํ•˜์ง€](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own) ์•Š์Šต๋‹ˆ๋‹ค. Claude Code v2.1.228 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |227| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | `0`์œผ๋กœ ์„ค์ •ํ•˜๋ฉด Claude๊ฐ€ [์ž์‹ ์—๊ฒŒ ์ „์†ก๋œ ๋Œ“๊ธ€์— ์Šค์Šค๋กœ ๋‹ตํ•˜์ง€](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own) ์•Š์Šต๋‹ˆ๋‹ค. Claude Code v2.1.228 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |

228| `CLAUDE_CODE_ARTIFACT_PUBLISH_EDITS` | `0`์œผ๋กœ ์„ค์ •ํ•˜๋ฉด Claude๊ฐ€ [์•„ํ‹ฐํŒฉํŠธ](/docs/ko/artifacts#update-an-artifact)๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๊ณผ์ •์—์„œ ํ•ด๋‹น ํŒŒ์ผ์— ์ž‘์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  Claude๋Š” ํŒŒ์ผ ํŽธ์ง‘ ๋„๊ตฌ๋กœ ํŒŒ์ผ์„ ํŽธ์ง‘ํ•œ ๋’ค ๋ณ„๋„ ๋‹จ๊ณ„๋กœ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. Claude Code v2.1.300 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |

228| `CLAUDE_CODE_ATTRIBUTION_HEADER` | `0`์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ ๋ฒ„์ „๊ณผ ํ”„๋กฌํ”„ํŠธ ์ง€๋ฌธ์„ ๋‹ด์€ [์ถœ์ฒ˜ ํ‘œ์‹œ ๋ธ”๋ก](/docs/ko/llm-gateway-protocol#system-prompt-attribution-block)์„ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ์‹œ์ž‘ ๋ถ€๋ถ„์—์„œ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. Anthropic API์— ์ง์ ‘ ์—ฐ๊ฒฐํ•  ๋•Œ์˜ ์บ์‹ฑ์€ ์–ด๋А ์ชฝ์ด๋“  ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์ง์ ‘ ์—ฐ๊ฒฐ ๊ตฌ์„ฑ์—์„œ๋Š” `0`์œผ๋กœ ์„ค์ •ํ•˜๋”๋ผ๋„ Claude Code๊ฐ€ [์ž๋™ ๋ชจ๋“œ](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode) ๋ถ„๋ฅ˜๊ธฐ ์š”์ฒญ์— ์ด ๋ธ”๋ก์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ ์šฉ๋˜๋Š” ์—ฐ๊ฒฐ๊ณผ ์ž๊ฒฉ ์ฆ๋ช…์€ [์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ์ถœ์ฒ˜ ํ‘œ์‹œ ๋ธ”๋ก](/docs/ko/llm-gateway-protocol#system-prompt-attribution-block)์—์„œ ํ™•์ธํ•˜์„ธ์š”. v2.1.181 ์ด์ „์—๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๊ธฐ๋ณธ URL๊ณผ Microsoft Foundry ์—ฐ๊ฒฐ์—์„œ ์ด ๋ธ”๋ก์— ์š”์ฒญ๋ณ„ ํ† ํฐ์ด ํฌํ•จ๋˜์—ˆ์œผ๋ฏ€๋กœ, ํ•ด๋‹น ๋ฒ„์ „์—์„œ๋Š” LLM ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์š”์ฒญ ๋ณธ๋ฌธ์„ ๊ธฐ์ค€์œผ๋กœ ์บ์‹œํ•˜๊ฑฐ๋‚˜ ์„œ๋“œํŒŒํ‹ฐ ์ œ๊ณต์ž๋กœ ์š”์ฒญ์„ ์ „๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ, ๋˜๋Š” Microsoft Foundry์— ์ง์ ‘ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ `0`์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค |229| `CLAUDE_CODE_ATTRIBUTION_HEADER` | `0`์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ ๋ฒ„์ „๊ณผ ํ”„๋กฌํ”„ํŠธ ์ง€๋ฌธ์„ ๋‹ด์€ [์ถœ์ฒ˜ ํ‘œ์‹œ ๋ธ”๋ก](/docs/ko/llm-gateway-protocol#system-prompt-attribution-block)์„ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ์‹œ์ž‘ ๋ถ€๋ถ„์—์„œ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. Anthropic API์— ์ง์ ‘ ์—ฐ๊ฒฐํ•  ๋•Œ์˜ ์บ์‹ฑ์€ ์–ด๋А ์ชฝ์ด๋“  ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์ง์ ‘ ์—ฐ๊ฒฐ ๊ตฌ์„ฑ์—์„œ๋Š” `0`์œผ๋กœ ์„ค์ •ํ•˜๋”๋ผ๋„ Claude Code๊ฐ€ [์ž๋™ ๋ชจ๋“œ](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode) ๋ถ„๋ฅ˜๊ธฐ ์š”์ฒญ์— ์ด ๋ธ”๋ก์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ ์šฉ๋˜๋Š” ์—ฐ๊ฒฐ๊ณผ ์ž๊ฒฉ ์ฆ๋ช…์€ [์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ์ถœ์ฒ˜ ํ‘œ์‹œ ๋ธ”๋ก](/docs/ko/llm-gateway-protocol#system-prompt-attribution-block)์—์„œ ํ™•์ธํ•˜์„ธ์š”. v2.1.181 ์ด์ „์—๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๊ธฐ๋ณธ URL๊ณผ Microsoft Foundry ์—ฐ๊ฒฐ์—์„œ ์ด ๋ธ”๋ก์— ์š”์ฒญ๋ณ„ ํ† ํฐ์ด ํฌํ•จ๋˜์—ˆ์œผ๋ฏ€๋กœ, ํ•ด๋‹น ๋ฒ„์ „์—์„œ๋Š” LLM ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์š”์ฒญ ๋ณธ๋ฌธ์„ ๊ธฐ์ค€์œผ๋กœ ์บ์‹œํ•˜๊ฑฐ๋‚˜ ์„œ๋“œํŒŒํ‹ฐ ์ œ๊ณต์ž๋กœ ์š”์ฒญ์„ ์ „๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ, ๋˜๋Š” Microsoft Foundry์— ์ง์ ‘ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ `0`์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค |

229| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | v2.1.283์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE`์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค |230| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | v2.1.283์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE`์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค |

230| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | [์ž๋™ ์••์ถ• ์œˆ๋„์šฐ](/docs/ko/model-config#set-the-auto-compact-window)๋ฅผ `100000`์—์„œ `1000000` ์‚ฌ์ด์˜ ํ† ํฐ ์ˆ˜๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. `500000` ๊ฐ™์€ ์ผ๋ฐ˜ ์ •์ˆ˜๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค: `500k` ๊ฐ™์€ ๊ฐ’์€ `500`์œผ๋กœ ์ฝํ˜€ ์ตœ์†Ÿ๊ฐ’์ธ 100K๋กœ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ์œˆ๋„์šฐ๋Š” ๋ชจ๋ธ์˜ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋กœ๋„ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. `/autocompact` ๋ช…๋ น, `--autocompact` ํ”Œ๋ž˜๊ทธ, `autoCompactWindow` ์„ค์ •๋ณด๋‹ค ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ƒํƒœ์ค„์˜ `used_percentage`๋Š” ํ•ญ์ƒ ๋ชจ๋ธ์˜ ์ „์ฒด ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ธก์ •ํ•˜๋ฏ€๋กœ, ์ด ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋ฉด ํ•ด๋‹น ๋ฐฑ๋ถ„์œจ์€ ๋” ์ด์ƒ ์••์ถ•์ด ์‹คํ–‰๋  ์‹œ์ ์„ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค |231| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | [์ž๋™ ์••์ถ• ์œˆ๋„์šฐ](/docs/ko/model-config#set-the-auto-compact-window)๋ฅผ `100000`์—์„œ `1000000` ์‚ฌ์ด์˜ ํ† ํฐ ์ˆ˜๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. `500000` ๊ฐ™์€ ์ผ๋ฐ˜ ์ •์ˆ˜๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค: `500k` ๊ฐ™์€ ๊ฐ’์€ `500`์œผ๋กœ ์ฝํ˜€ ์ตœ์†Ÿ๊ฐ’์ธ 100K๋กœ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ์œˆ๋„์šฐ๋Š” ๋ชจ๋ธ์˜ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋กœ๋„ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. `/autocompact` ๋ช…๋ น, `--autocompact` ํ”Œ๋ž˜๊ทธ, `autoCompactWindow` ์„ค์ •๋ณด๋‹ค ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ƒํƒœ์ค„์˜ `used_percentage`๋Š” ํ•ญ์ƒ ๋ชจ๋ธ์˜ ์ „์ฒด ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ธก์ •ํ•˜๋ฏ€๋กœ, ์ด ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋ฉด ํ•ด๋‹น ๋ฐฑ๋ถ„์œจ์€ ๋” ์ด์ƒ ์••์ถ•์ด ์‹คํ–‰๋  ์‹œ์ ์„ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค |


332| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | [์œ ํœด ์••์ถ•](/docs/ko/settings-reference#idlecompaction)์ด ๋Œ€ํ™”์— ์ ์šฉ๋˜๋Š” ์ปจํ…์ŠคํŠธ ํฌ๊ธฐ(ํ† ํฐ)์ž…๋‹ˆ๋‹ค(๊ธฐ๋ณธ๊ฐ’: `200000`). ์–‘์˜ ์ •์ˆ˜๋ฅผ ํ—ˆ์šฉํ•˜๋ฉฐ ๊ทธ ์™ธ์˜ ๊ฐ’์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. `100000` ๋ฏธ๋งŒ์˜ ๊ฐ’์€ ์ตœ์ € ์ž„๊ณ„๊ฐ’์ธ `100000`์œผ๋กœ ์˜ฌ๋ ค์ง‘๋‹ˆ๋‹ค. ์œ ํœด ์••์ถ•์€ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๋Š” ๋Œ€ํ™”์— ๋Œ€ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ผœ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„๋ ค๋ฉด `idleCompaction`์„ `false`๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. Claude Code v2.1.290 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |333| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | [์œ ํœด ์••์ถ•](/docs/ko/settings-reference#idlecompaction)์ด ๋Œ€ํ™”์— ์ ์šฉ๋˜๋Š” ์ปจํ…์ŠคํŠธ ํฌ๊ธฐ(ํ† ํฐ)์ž…๋‹ˆ๋‹ค(๊ธฐ๋ณธ๊ฐ’: `200000`). ์–‘์˜ ์ •์ˆ˜๋ฅผ ํ—ˆ์šฉํ•˜๋ฉฐ ๊ทธ ์™ธ์˜ ๊ฐ’์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. `100000` ๋ฏธ๋งŒ์˜ ๊ฐ’์€ ์ตœ์ € ์ž„๊ณ„๊ฐ’์ธ `100000`์œผ๋กœ ์˜ฌ๋ ค์ง‘๋‹ˆ๋‹ค. ์œ ํœด ์••์ถ•์€ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๋Š” ๋Œ€ํ™”์— ๋Œ€ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ผœ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„๋ ค๋ฉด `idleCompaction`์„ `false`๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. Claude Code v2.1.290 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |

333| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Agent ๋„๊ตฌ๊ฐ€ ์ถ”๊ฐ€ ์ƒ์„ฑ์„ ๊ฑฐ๋ถ€ํ•˜๊ธฐ ์ „๊นŒ์ง€ ํ•œ ์„ธ์…˜์—์„œ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” [์„œ๋ธŒ์—์ด์ „ํŠธ](/docs/ko/sub-agents#concurrent-subagent-limit) ์ˆ˜์ž…๋‹ˆ๋‹ค(๊ธฐ๋ณธ๊ฐ’: 20). ์ˆซ์ž๋กœ๋งŒ ๋œ ์–‘์˜ ์ •์ˆ˜๋ฅผ ํ—ˆ์šฉํ•˜๋ฉฐ ๊ทธ ๋ฐ–์˜ ๊ฐ’์€ ๋ฌด์‹œ๋˜๋ฏ€๋กœ, ์ด ๋ณ€์ˆ˜๋กœ ์ƒํ•œ์„ ์กฐ์ •ํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. Claude Code v2.1.217 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |334| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Agent ๋„๊ตฌ๊ฐ€ ์ถ”๊ฐ€ ์ƒ์„ฑ์„ ๊ฑฐ๋ถ€ํ•˜๊ธฐ ์ „๊นŒ์ง€ ํ•œ ์„ธ์…˜์—์„œ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” [์„œ๋ธŒ์—์ด์ „ํŠธ](/docs/ko/sub-agents#concurrent-subagent-limit) ์ˆ˜์ž…๋‹ˆ๋‹ค(๊ธฐ๋ณธ๊ฐ’: 20). ์ˆซ์ž๋กœ๋งŒ ๋œ ์–‘์˜ ์ •์ˆ˜๋ฅผ ํ—ˆ์šฉํ•˜๋ฉฐ ๊ทธ ๋ฐ–์˜ ๊ฐ’์€ ๋ฌด์‹œ๋˜๋ฏ€๋กœ, ์ด ๋ณ€์ˆ˜๋กœ ์ƒํ•œ์„ ์กฐ์ •ํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. Claude Code v2.1.217 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |

334| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Claude Code๊ฐ€ ํ™œ์„ฑ ๋ชจ๋ธ์— ๋Œ€ํ•ด ๊ฐ€์ •ํ•˜๋Š” ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ํฌ๊ธฐ๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. v2.1.193๋ถ€ํ„ฐ๋Š” Claude Code๊ฐ€ ๋ชจ๋ธ ID๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ์ ์šฉ ๋ฐฉ์‹์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. [๊ฒŒ์ดํŠธ์›จ์ด ๋˜๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๋ชจ๋ธ ID์˜ ์œˆ๋„์šฐ ์ˆ˜์ •](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)์„ ์ฐธ์กฐํ•˜์„ธ์š”. `ANTHROPIC_BASE_URL`์„ ํ†ตํ•ด ๋ผ์šฐํŒ…ํ•˜๋Š” ๋ชจ๋ธ์˜ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๊ฐ€ ํ•ด๋‹น ์ด๋ฆ„์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ œ๊ณต ํฌ๊ธฐ์™€ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค |335| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Claude Code๊ฐ€ ํ™œ์„ฑ ๋ชจ๋ธ์— ๋Œ€ํ•ด ๊ฐ€์ •ํ•˜๋Š” ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ํฌ๊ธฐ๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. v2.1.193๋ถ€ํ„ฐ๋Š” Claude Code๊ฐ€ ๋ชจ๋ธ ID๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ์ ์šฉ ๋ฐฉ์‹์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. [๊ฒŒ์ดํŠธ์›จ์ด ๋˜๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๋ชจ๋ธ ID์˜ ์œˆ๋„์šฐ ์ˆ˜์ •](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)์„ ์ฐธ์กฐํ•˜์„ธ์š”. `ANTHROPIC_BASE_URL`์„ ํ†ตํ•ด ๋ผ์šฐํŒ…ํ•˜๋Š” ๋ชจ๋ธ์˜ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๊ฐ€ ํ•ด๋‹น ์ด๋ฆ„์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ œ๊ณต ํฌ๊ธฐ์™€ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค |

335| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Claude Code๊ฐ€ ๋ชจ๋ธ์— ๋ณด๋‚ด๋Š” ๊ฐ MCP ๋„๊ตฌ ์„ค๋ช…๊ณผ ๊ฐ MCP ์„œ๋ฒ„ ์ง€์นจ์˜ ์ตœ๋Œ€ ๊ธธ์ด(๋ฌธ์ž ์ˆ˜)์ž…๋‹ˆ๋‹ค. ์„ค์ •ํ•œ ๊ฐ’์€ ๋‘ ๊ฐ€์ง€ [๊ธฐ๋ณธ ์ œํ•œ](/docs/ko/mcp#for-mcp-server-authors)์ธ 4096๊ณผ, Claude๊ฐ€ ๋„๊ตฌ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ๋กœ๋“œํ•˜๋Š” ๋„๊ตฌ์˜ ์„ค๋ช…์— ์ ์šฉ๋˜๋Š” 16384๋ฅผ ๋ชจ๋‘ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ๋” ๊ธด ํ…์ŠคํŠธ๋ฅผ ์ž˜๋ผ๋ƒ…๋‹ˆ๋‹ค. ์ˆซ์ž๋กœ๋งŒ ๋œ ์–‘์˜ ์ •์ˆ˜๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์™ธ ๊ฐ’์€ ๋ฌด์‹œ๋˜๊ณ  ๊ธฐ๋ณธ๊ฐ’์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. Claude Code v2.1.280 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |336| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Claude Code๊ฐ€ ๋ชจ๋ธ์— ๋ณด๋‚ด๋Š” MCP ๋„๊ตฌ ์„ค๋ช… ๋ฐ MCP ์„œ๋ฒ„ ์ง€์นจ์˜ ์ตœ๋Œ€ ๊ธธ์ด(๋ฌธ์ž ์ˆ˜)์ž…๋‹ˆ๋‹ค. ์„ค์ •ํ•œ ๊ฐ’์€ ๋‘ ๊ฐ€์ง€ [๊ธฐ๋ณธ ์ œํ•œ](/docs/ko/mcp#for-mcp-server-authors), ์ฆ‰ 4096๊ณผ Claude๊ฐ€ ๋„๊ตฌ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ๋กœ๋“œํ•˜๋Š” ๋„๊ตฌ ์„ค๋ช…์— ๋Œ€ํ•œ 16384๋ฅผ ๋ชจ๋‘ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. ์ˆซ์ž๋งŒ์œผ๋กœ ๋œ ์–‘์˜ ์ •์ˆ˜๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋ฐ–์˜ ๊ฐ’์€ ๋ฌด์‹œ๋˜๊ณ  ๊ธฐ๋ณธ๊ฐ’์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. Claude Code v2.1.280 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |

336| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | ๋Œ€๋ถ€๋ถ„์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ์ตœ๋Œ€ ์ถœ๋ ฅ ํ† ํฐ ์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’๊ณผ ์ƒํ•œ์€ ๋ชจ๋ธ๋งˆ๋‹ค ๋‹ค๋ฆ…๋‹ˆ๋‹ค. [์ตœ๋Œ€ ์ถœ๋ ฅ ํ† ํฐ](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison)์„ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ชจ๋ธ์˜ ์ƒํ•œ์„ ์ดˆ๊ณผํ•˜๋Š” ๊ฐ’์€ Claude Code๊ฐ€ ์ƒํ•œ์œผ๋กœ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค. Claude Code๊ฐ€ ์•Œ๋ ค์ง„ ๋ชจ๋ธ๋กœ ํ™•์ธํ•  ์ˆ˜ ์—†๋Š” ๋ชจ๋ธ ID์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’์€ 32000์ด๊ณ  ์ƒํ•œ์€ 128000์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ’์„ ๋Š˜๋ฆฌ๋ฉด [์ž๋™ ์••์ถ•](/docs/ko/costs#reduce-token-usage)์ด ํŠธ๋ฆฌ๊ฑฐ๋˜๊ธฐ ์ „์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ํšจ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๊ฐ€ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค |337| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | ๋Œ€๋ถ€๋ถ„์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ์ตœ๋Œ€ ์ถœ๋ ฅ ํ† ํฐ ์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’๊ณผ ์ƒํ•œ์€ ๋ชจ๋ธ๋งˆ๋‹ค ๋‹ค๋ฆ…๋‹ˆ๋‹ค. [์ตœ๋Œ€ ์ถœ๋ ฅ ํ† ํฐ](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison)์„ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ชจ๋ธ์˜ ์ƒํ•œ์„ ์ดˆ๊ณผํ•˜๋Š” ๊ฐ’์€ Claude Code๊ฐ€ ์ƒํ•œ์œผ๋กœ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค. Claude Code๊ฐ€ ์•Œ๋ ค์ง„ ๋ชจ๋ธ๋กœ ํ™•์ธํ•  ์ˆ˜ ์—†๋Š” ๋ชจ๋ธ ID์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’์€ 32000์ด๊ณ  ์ƒํ•œ์€ 128000์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ’์„ ๋Š˜๋ฆฌ๋ฉด [์ž๋™ ์••์ถ•](/docs/ko/costs#reduce-token-usage)์ด ํŠธ๋ฆฌ๊ฑฐ๋˜๊ธฐ ์ „์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ํšจ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๊ฐ€ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค |

337| `CLAUDE_CODE_MAX_RETRIES` | ์‹คํŒจํ•œ API ์š”์ฒญ์˜ ์žฌ์‹œ๋„ ํšŸ์ˆ˜๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ๊ฐ’: 10). v2.1.186๋ถ€ํ„ฐ ์ƒํ•œ์€ 15์ž…๋‹ˆ๋‹ค. v2.1.199๋ถ€ํ„ฐ `CLAUDE_CODE_RETRY_WATCHDOG`๊ฐ€ ๊ธฐ๋ณธ๊ฐ’์„ ๋Š˜๋ฆฌ๊ณ  ์ƒํ•œ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๋” ๊ธด ์žฅ์• ๋ฅผ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ๋ฌด์ธ ์„ธ์…˜์—๋Š” ๋Œ€์‹  `CLAUDE_CODE_RETRY_WATCHDOG`๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค |338| `CLAUDE_CODE_MAX_RETRIES` | ์‹คํŒจํ•œ API ์š”์ฒญ์˜ ์žฌ์‹œ๋„ ํšŸ์ˆ˜๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ๊ฐ’: 10). v2.1.186๋ถ€ํ„ฐ ์ƒํ•œ์€ 15์ž…๋‹ˆ๋‹ค. v2.1.199๋ถ€ํ„ฐ `CLAUDE_CODE_RETRY_WATCHDOG`๊ฐ€ ๊ธฐ๋ณธ๊ฐ’์„ ๋Š˜๋ฆฌ๊ณ  ์ƒํ•œ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๋” ๊ธด ์žฅ์• ๋ฅผ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ๋ฌด์ธ ์„ธ์…˜์—๋Š” ๋Œ€์‹  `CLAUDE_CODE_RETRY_WATCHDOG`๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค |

338| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | v2.1.224์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฉฐ ์ด์ œ ์•„๋ฌด ์ž‘์—…๋„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ํ•œ ์„ธ์…˜์—์„œ Claude๊ฐ€ Agent ๋„๊ตฌ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” [์„œ๋ธŒ์—์ด์ „ํŠธ](/docs/ko/sub-agents)์˜ ์ด์ˆ˜๋ฅผ ์ œํ•œํ–ˆ์œผ๋ฉฐ(๊ธฐ๋ณธ๊ฐ’: 200), ์ƒํ•œ์„ ๋„˜์–ด ์ƒ์„ฑํ•˜๋ฉด `Subagent spawn limit reached`์™€ ํ•จ๊ป˜ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค. [๋™์‹œ ์„œ๋ธŒ์—์ด์ „ํŠธ ์ œํ•œ](/docs/ko/sub-agents#concurrent-subagent-limit)๊ณผ [๊นŠ์ด ์ œํ•œ](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)์€ ์—ฌ์ „ํžˆ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค |339| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | v2.1.224์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฉฐ ์ด์ œ ์•„๋ฌด ์ž‘์—…๋„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ํ•œ ์„ธ์…˜์—์„œ Claude๊ฐ€ Agent ๋„๊ตฌ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” [์„œ๋ธŒ์—์ด์ „ํŠธ](/docs/ko/sub-agents)์˜ ์ด์ˆ˜๋ฅผ ์ œํ•œํ–ˆ์œผ๋ฉฐ(๊ธฐ๋ณธ๊ฐ’: 200), ์ƒํ•œ์„ ๋„˜์–ด ์ƒ์„ฑํ•˜๋ฉด `Subagent spawn limit reached`์™€ ํ•จ๊ป˜ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค. [๋™์‹œ ์„œ๋ธŒ์—์ด์ „ํŠธ ์ œํ•œ](/docs/ko/sub-agents#concurrent-subagent-limit)๊ณผ [๊นŠ์ด ์ œํ•œ](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)์€ ์—ฌ์ „ํžˆ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค |


598* [`/skill-doctor`](/docs/ko/skills#find-unused-skills) ์‹คํ–‰ ๋˜๋Š” `/plugin` **Stats** ํƒญ์—์„œ ํ•ด๋‹น ๋ณด๊ณ ์„œ ์—ด๊ธฐ599* [`/skill-doctor`](/docs/ko/skills#find-unused-skills) ์‹คํ–‰ ๋˜๋Š” `/plugin` **Stats** ํƒญ์—์„œ ํ•ด๋‹น ๋ณด๊ณ ์„œ ์—ด๊ธฐ

599* claude.ai ๊ณ„์ •์—์„œ ํ™œ์„ฑํ™”๋œ [์Šคํ‚ฌ](/docs/ko/skills#where-synced-skills-load) ๋ฐ [ํ”Œ๋Ÿฌ๊ทธ์ธ](/docs/ko/plugins/loading#synced-plugins)์„ ํ„ฐ๋ฏธ๋„ ์„ธ์…˜์— ๋™๊ธฐํ™”600* claude.ai ๊ณ„์ •์—์„œ ํ™œ์„ฑํ™”๋œ [์Šคํ‚ฌ](/docs/ko/skills#where-synced-skills-load) ๋ฐ [ํ”Œ๋Ÿฌ๊ทธ์ธ](/docs/ko/plugins/loading#synced-plugins)์„ ํ„ฐ๋ฏธ๋„ ์„ธ์…˜์— ๋™๊ธฐํ™”

600* [You should know mod](/docs/ko/interactive-mode#you-should-know-suggestions) ์ผœ๊ธฐ601* [You should know mod](/docs/ko/interactive-mode#you-should-know-suggestions) ์ผœ๊ธฐ

602* VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์˜ ์ฑ„ํŒ… ํŒจ๋„์—์„œ [mod](/docs/ko/plugins/mods/overview#where-mods-run)๊ฐ€ ๊ทธ๋ฆฌ๋Š” ๋‚ด์šฉ ๋ณด๊ธฐ. mod์˜ ํ›…์€ ๊ณ„์† ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค

601* [advisor ๋„๊ตฌ](/docs/ko/advisor#requirements) ์‚ฌ์šฉ603* [advisor ๋„๊ตฌ](/docs/ko/advisor#requirements) ์‚ฌ์šฉ

602* [์•„ํ‹ฐํŒฉํŠธ์˜ ๋Œ“๊ธ€](/docs/ko/artifacts#collect-comments-on-an-artifact) ์ฝ๊ธฐ ๋˜๋Š” ๋‹ต๊ธ€ ๋‹ฌ๊ธฐ604* [์•„ํ‹ฐํŒฉํŠธ์˜ ๋Œ“๊ธ€](/docs/ko/artifacts#collect-comments-on-an-artifact) ์ฝ๊ธฐ ๋˜๋Š” ๋‹ต๊ธ€ ๋‹ฌ๊ธฐ

603* Claude๊ฐ€ [๋‹ค๋ฅธ ์กฐ์ง์˜ ๊ณต๊ฐœ ์•„ํ‹ฐํŒฉํŠธ](/docs/ko/artifacts#read-an-artifact-shared-with-you)๋ฅผ ์ฝ๋„๋ก ํ•˜๊ธฐ605* Claude๊ฐ€ [๋‹ค๋ฅธ ์กฐ์ง์˜ ๊ณต๊ฐœ ์•„ํ‹ฐํŒฉํŠธ](/docs/ko/artifacts#read-an-artifact-shared-with-you)๋ฅผ ์ฝ๋„๋ก ํ•˜๊ธฐ

errors.md +202 โˆ’10

Details

72| `Claude.ai login was rejected โ€” run /login, then /remote-control` | [์ธ์ฆ](#remote-control-couldnt-refresh-your-login) |72| `Claude.ai login was rejected โ€” run /login, then /remote-control` | [์ธ์ฆ](#remote-control-couldnt-refresh-your-login) |

73| `OAuth token unavailable โ€” run /login to restore Remote Control` | [์ธ์ฆ](#remote-control-couldnt-refresh-your-login) |73| `OAuth token unavailable โ€” run /login to restore Remote Control` | [์ธ์ฆ](#remote-control-couldnt-refresh-your-login) |

74| `Signed out of Claude โ€” run /login, then /remote-control` | [์ธ์ฆ](#remote-control-couldnt-refresh-your-login) |74| `Signed out of Claude โ€” run /login, then /remote-control` | [์ธ์ฆ](#remote-control-couldnt-refresh-your-login) |

75| `Remote Control could not renew this computer's connection` | [์ธ์ฆ](#remote-control-could-not-renew-this-computers-connection) |

75| `signed-in claude.ai account or organization changed on this machine` | [์ธ์ฆ](#remote-control-stopped-because-the-signed-in-account-changed) |76| `signed-in claude.ai account or organization changed on this machine` | [์ธ์ฆ](#remote-control-stopped-because-the-signed-in-account-changed) |

76| `Remote Control stopped โ€” the app running this session is now signed in to a different Claude account` | [์ธ์ฆ](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |77| `Remote Control stopped โ€” the app running this session is now signed in to a different Claude account` | [์ธ์ฆ](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |

77| `Remote Control stopped โ€” the app running this session is signed out of Claude` | [์ธ์ฆ](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |78| `Remote Control stopped โ€” the app running this session is signed out of Claude` | [์ธ์ฆ](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |


153| `Request too large` | [์š”์ฒญ ์˜ค๋ฅ˜](#request-too-large) |154| `Request too large` | [์š”์ฒญ ์˜ค๋ฅ˜](#request-too-large) |

154| `Request too large for the API's 32MB request limit` | [์š”์ฒญ ์˜ค๋ฅ˜](#request-too-large) |155| `Request too large for the API's 32MB request limit` | [์š”์ฒญ ์˜ค๋ฅ˜](#request-too-large) |

155| `Image was too large` | [์š”์ฒญ ์˜ค๋ฅ˜](#image-was-too-large) |156| `Image was too large` | [์š”์ฒญ ์˜ค๋ฅ˜](#image-was-too-large) |

157| `API Error: an image in the conversation could not be processed and was removed` | [์š”์ฒญ ์˜ค๋ฅ˜](#image-was-too-large) |

156| `Unable to resize image` | [์š”์ฒญ ์˜ค๋ฅ˜](#unable-to-resize-image) |158| `Unable to resize image` | [์š”์ฒญ ์˜ค๋ฅ˜](#unable-to-resize-image) |

157| `Request rejected as unprocessable by the model` | [์š”์ฒญ ์˜ค๋ฅ˜](#request-rejected-as-unprocessable-by-the-model) |159| `Request rejected as unprocessable by the model` | [์š”์ฒญ ์˜ค๋ฅ˜](#request-rejected-as-unprocessable-by-the-model) |

158| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [์š”์ฒญ ์˜ค๋ฅ˜](#pdf-errors) |160| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [์š”์ฒญ ์˜ค๋ฅ˜](#pdf-errors) |


179| `Effort '<level>' isn't available with thinking turned off on this model` | [์š”์ฒญ ์˜ค๋ฅ˜](#effort-isnt-available-with-thinking-turned-off) |181| `Effort '<level>' isn't available with thinking turned off on this model` | [์š”์ฒญ ์˜ค๋ฅ˜](#effort-isnt-available-with-thinking-turned-off) |

180| `effort '<level>' is not supported when thinking is disabled` | [์š”์ฒญ ์˜ค๋ฅ˜](#effort-isnt-available-with-thinking-turned-off) |182| `effort '<level>' is not supported when thinking is disabled` | [์š”์ฒญ ์˜ค๋ฅ˜](#effort-isnt-available-with-thinking-turned-off) |

181| `max_tokens must be greater than thinking.budget_tokens` | [์š”์ฒญ ์˜ค๋ฅ˜](#thinking-budget-exceeds-output-limit) |183| `max_tokens must be greater than thinking.budget_tokens` | [์š”์ฒญ ์˜ค๋ฅ˜](#thinking-budget-exceeds-output-limit) |

184| `Claude's response exceeded the ... output token maximum` | [์š”์ฒญ ์˜ค๋ฅ˜](#response-exceeded-the-output-token-maximum) |

182| `API Error: 400 due to tool use concurrency issues` | [์š”์ฒญ ์˜ค๋ฅ˜](#tool-use-or-thinking-block-mismatch) |185| `API Error: 400 due to tool use concurrency issues` | [์š”์ฒญ ์˜ค๋ฅ˜](#tool-use-or-thinking-block-mismatch) |

183| `API Error: 400 orphaned tool_result in conversation history` | [์š”์ฒญ ์˜ค๋ฅ˜](#tool-use-or-thinking-block-mismatch) |186| `API Error: 400 orphaned tool_result in conversation history` | [์š”์ฒญ ์˜ค๋ฅ˜](#tool-use-or-thinking-block-mismatch) |

184| `API Error: 400 duplicate tool_use ID in conversation history` | [์š”์ฒญ ์˜ค๋ฅ˜](#tool-use-or-thinking-block-mismatch) |187| `API Error: 400 duplicate tool_use ID in conversation history` | [์š”์ฒญ ์˜ค๋ฅ˜](#tool-use-or-thinking-block-mismatch) |


199| `The connection dropped while downloading the update` | [์„ค์น˜ ๋ฐ ๋กœ๊ทธ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ](/docs/ko/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |202| `The connection dropped while downloading the update` | [์„ค์น˜ ๋ฐ ๋กœ๊ทธ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ](/docs/ko/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

200| `Download timed out: exceeded the total deadline` | [์„ค์น˜ ๋ฐ ๋กœ๊ทธ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ](/docs/ko/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |203| `Download timed out: exceeded the total deadline` | [์„ค์น˜ ๋ฐ ๋กœ๊ทธ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ](/docs/ko/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

201| `--bg and --print conflict` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#conflict-between-bg-and-print) |204| `--bg and --print conflict` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#conflict-between-bg-and-print) |

205| `Couldn't tell whether --bg is a flag or text here, so nothing was started` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#couldnt-tell-whether-bg-is-a-flag-or-text) |

202| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#conflict-between-a-system-prompt-flag-and-its-file-form) |206| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#conflict-between-a-system-prompt-flag-and-its-file-form) |

203| `Cloud sessions cannot be created from a --restricted session` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#cloud-sessions-cannot-be-created-from-a-restricted-session) |207| `Cloud sessions cannot be created from a --restricted session` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#cloud-sessions-cannot-be-created-from-a-restricted-session) |

204| `Cloud sessions are disabled by your organization's policy` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#cloud-sessions-are-disabled-by-your-organizations-policy) |208| `Cloud sessions are disabled by your organization's policy` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#cloud-sessions-are-disabled-by-your-organizations-policy) |


217| `couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#directory-couldnt-be-resolved-to-a-real-location) |221| `couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#directory-couldnt-be-resolved-to-a-real-location) |

218| `Error: Workspace not trusted` when starting Remote Control | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#workspace-not-trusted-when-starting-remote-control) |222| `Error: Workspace not trusted` when starting Remote Control | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#workspace-not-trusted-when-starting-remote-control) |

219| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#not-carried-over-to-the-sessions-remote-control-starts) |223| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#not-carried-over-to-the-sessions-remote-control-starts) |

224| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#sandbox-is-not-supported-by-claude-remote-control) |

220| `` `claude import` is not yet available in this build `` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#claude-import-is-not-yet-available-in-this-build) |225| `` `claude import` is not yet available in this build `` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#claude-import-is-not-yet-available-in-this-build) |

221| `Could not read Claude Code config` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#could-not-read-claude-code-config) |226| `Could not read Claude Code config` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#could-not-read-claude-code-config) |

222| `Could not import <server>: <reason>` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#could-not-import-a-server-from-claude-desktop) |227| `Could not import <server>: <reason>` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#could-not-import-a-server-from-claude-desktop) |


233| `Shell command failed for pattern "..."`, from `/security-review` or any skill that injects dynamic context | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#security-review-fails-without-origin-head) |238| `Shell command failed for pattern "..."`, from `/security-review` or any skill that injects dynamic context | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#security-review-fails-without-origin-head) |

234| `Shell command permission check failed for pattern "..."`, from a skill that injects dynamic context | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#security-review-fails-without-origin-head) |239| `Shell command permission check failed for pattern "..."`, from a skill that injects dynamic context | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#security-review-fails-without-origin-head) |

235| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#security-review-fails-without-origin-head) |240| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#security-review-fails-without-origin-head) |

241| `No shell command in <name> was run, because the <tool> tool does not accept one of them` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#no-shell-command-was-run) |

236| `Input must be provided either through stdin or as a prompt argument when using --print` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#input-must-be-provided-when-using-print) |242| `Input must be provided either through stdin or as a prompt argument when using --print` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#input-must-be-provided-when-using-print) |

237| `Claude Code can't read the keyboard here: stdin is not a terminal` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#claude-code-cant-read-the-keyboard-here) |243| `Claude Code can't read the keyboard here: stdin is not a terminal` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#claude-code-cant-read-the-keyboard-here) |

238| `Error: Input contained only whitespace` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#input-contained-only-whitespace) |244| `Error: Input contained only whitespace` | [๋ช…๋ น์ค„ ์˜ค๋ฅ˜](#input-contained-only-whitespace) |


367| `Claude Code exited after an unrecoverable interface error (...)` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#exited-after-an-unrecoverable-interface-error) |373| `Claude Code exited after an unrecoverable interface error (...)` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#exited-after-an-unrecoverable-interface-error) |

368| `Agent descriptions are over the 15.0k-token limit` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#agent-descriptions-are-over-the-15000-token-limit) |374| `Agent descriptions are over the 15.0k-token limit` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#agent-descriptions-are-over-the-15000-token-limit) |

369| `hook needs quotes around a path with a space` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#hook-needs-quotes-around-a-path-with-a-space) |375| `hook needs quotes around a path with a space` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#hook-needs-quotes-around-a-path-with-a-space) |

376| `Instruction file not loaded` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#instruction-file-not-loaded) |

370| `Not loaded: rename <path>, then restart โ€” its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |377| `Not loaded: rename <path>, then restart โ€” its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |

371| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#skill-or-command-name-refused) |378| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#skill-or-command-name-refused) |

372| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#workspace-has-not-been-trusted) |379| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#workspace-has-not-been-trusted) |


377| `Your organization's managed settings allow Claude Code to use: <providers>` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#managed-settings-dont-allow-this-api-provider) |384| `Your organization's managed settings allow Claude Code to use: <providers>` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#managed-settings-dont-allow-this-api-provider) |

378| `Your organization's managed settings allow Claude Code to use no API provider at all` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#managed-settings-dont-allow-this-api-provider) |385| `Your organization's managed settings allow Claude Code to use no API provider at all` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#managed-settings-dont-allow-this-api-provider) |

379| `MCP server <name> is blocked by enterprise managed policy` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#mcp-server-is-blocked-by-enterprise-managed-policy) |386| `MCP server <name> is blocked by enterprise managed policy` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#mcp-server-is-blocked-by-enterprise-managed-policy) |

387| `"<name>" is a reserved MCP server name and was not loaded` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#mcp-server-name-is-reserved) |

380| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#managed-settings-document-could-not-be-parsed) |388| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#managed-settings-document-could-not-be-parsed) |

381| `Managed settings drop-in directory could not be read` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#managed-settings-document-could-not-be-parsed) |389| `Managed settings drop-in directory could not be read` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#managed-settings-document-could-not-be-parsed) |

382| `Unable to read managed policy settings` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#unable-to-read-managed-policy-settings) |390| `Unable to read managed policy settings` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#unable-to-read-managed-policy-settings) |

391| `Managed settings contain invalid entries, including PreToolUse/PermissionRequest hooks that are NOT loaded; fix or remove each entry:` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#managed-settings-hooks-not-loaded) |

383| `otelHeadersHelper failed; telemetry is not being exported. See /status: ...` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#otelheadershelper-failed) |392| `otelHeadersHelper failed; telemetry is not being exported. See /status: ...` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#otelheadershelper-failed) |

384| `"crossSessionInbound" must be one of "accept", "hold", "refuse"` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#crosssessioninbound-must-be-one-of-accept-hold-refuse) |393| `"crossSessionInbound" must be one of "accept", "hold", "refuse"` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#crosssessioninbound-must-be-one-of-accept-hold-refuse) |

385| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |394| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |


389| `... has a wildcard before the rest of the command` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#has-a-wildcard-before-the-rest-of-the-command) |398| `... has a wildcard before the rest of the command` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#has-a-wildcard-before-the-rest-of-the-command) |

390| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#denying-bash-also-turns-off-the-powershell-tool) |399| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#denying-bash-also-turns-off-the-powershell-tool) |

391| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#the-200k-limit-isnt-enforced) |400| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#the-200k-limit-isnt-enforced) |

401| `Model "<model>" isn't recognized ยท context assumed to be 200k tokens` | [๊ฒŒ์ดํŠธ์›จ์ด ๋˜๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๋ชจ๋ธ ID์˜ ์œˆ๋„์šฐ ์ˆ˜์ •](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

402| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [๊ฒŒ์ดํŠธ์›จ์ด ๋˜๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๋ชจ๋ธ ID์˜ ์œˆ๋„์šฐ ์ˆ˜์ •](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

392| `[claude-code:unrecognized_model]` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#unrecognized-model-id-on-a-request) |403| `[claude-code:unrecognized_model]` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#unrecognized-model-id-on-a-request) |

404| `is ignored โ€” managed settings set allowManagedReadPathsOnly` / `is ignored โ€” managed settings set allowManagedDomainsOnly` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |

393| `Stale sandbox mask files left by a killed session` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#stale-sandbox-mask-files-left-by-a-killed-session) |405| `Stale sandbox mask files left by a killed session` | [๊ตฌ์„ฑ ๊ฒฝ๊ณ ](#stale-sandbox-mask-files-left-by-a-killed-session) |

394| ์‘๋‹ต ํ’ˆ์งˆ์ด ํ‰์†Œ๋ณด๋‹ค ๋‚ฎ์•„ ๋ณด์ž„ | [์‘๋‹ต ํ’ˆ์งˆ](#responses-seem-lower-quality-than-usual) |406| ์‘๋‹ต ํ’ˆ์งˆ์ด ํ‰์†Œ๋ณด๋‹ค ๋‚ฎ์•„ ๋ณด์ž„ | [์‘๋‹ต ํ’ˆ์งˆ](#responses-seem-lower-quality-than-usual) |

395 407 


1209 1221 

1210v2.1.238 ์ด์ „์—๋Š” ํ˜„์žฌ `Signed out of Claude`๋กœ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ Claude Code๊ฐ€ `JWT refresh failed: no OAuth token โ€” run /login`์œผ๋กœ ๋ณด๊ณ ํ–ˆ์œผ๋ฉฐ, ๋กœ๊ทธ์ธ ๊ฐฑ์‹  ์š”์ฒญ ํ•˜๋‚˜์— ์‘๋‹ต์ด ์—†์œผ๋ฉด ์ฆ‰์‹œ `Claude.ai login expired โ€” run /login to restore Remote Control`๊ณผ ํ•จ๊ป˜ Remote Control์„ ์ค‘์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.1222v2.1.238 ์ด์ „์—๋Š” ํ˜„์žฌ `Signed out of Claude`๋กœ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ Claude Code๊ฐ€ `JWT refresh failed: no OAuth token โ€” run /login`์œผ๋กœ ๋ณด๊ณ ํ–ˆ์œผ๋ฉฐ, ๋กœ๊ทธ์ธ ๊ฐฑ์‹  ์š”์ฒญ ํ•˜๋‚˜์— ์‘๋‹ต์ด ์—†์œผ๋ฉด ์ฆ‰์‹œ `Claude.ai login expired โ€” run /login to restore Remote Control`๊ณผ ํ•จ๊ป˜ Remote Control์„ ์ค‘์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.

1211 1223 

1224<h3 id="remote-control-could-not-renew-this-computers-connection">

1225 Remote Control could not renew this computer's connection

1226</h3>

1227 

1228์ด ๊ฒฝ๊ณ ๋Š” ์„œ๋ฒ„๊ฐ€ claude.ai ๋กœ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ์˜ ์ž๊ฒฉ ์ฆ๋ช…์ด ๋งŒ๋ฃŒ๋˜๊ธฐ ์ „์— ๊ฐฑ์‹ ํ•  ์ˆ˜ ์—†์„ ๋•Œ [`claude remote-control`](/docs/ko/remote-control#start-a-remote-control-session)์„ ์‹คํ–‰ ์ค‘์ธ ํ„ฐ๋ฏธ๋„์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๊ฒฝ๊ณ ์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์žฅ์€ ํ˜„์žฌ ์ž๊ฒฉ ์ฆ๋ช…์ด ์–ผ๋งˆ๋‚˜ ๋” ์œ ํšจํ•œ์ง€, ๋˜๋Š” ์ด๋ฏธ ๋งŒ๋ฃŒ๋˜์—ˆ๋Š”์ง€๋ฅผ ์•Œ๋ ค ์ค๋‹ˆ๋‹ค.

1229 

1230```text theme={null}

1231Remote Control could not renew this computer's connection: claude.ai did not accept the sign-in it uses. Run `claude /login` to sign in again. The connection keeps working for about 26 hours; if it still cannot sign in then, it stops.

1232```

1233 

1234**ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:**

1235 

1236* ๊ฒฝ๊ณ ์—์„œ `claude /login`์„ ์‹คํ–‰ํ•˜๋ผ๊ณ  ์•ˆ๋‚ดํ•˜๋ฉด, ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ ์ค‘์ธ ์ปดํ“จํ„ฐ์—์„œ ๋‹ค๋ฅธ ํ„ฐ๋ฏธ๋„์„ ์—ด๊ณ  `claude /login`์„ ์‹คํ–‰ํ•œ ํ›„ claude.ai ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค

1237* ์—ฐ๊ฒฐ์˜ ์ž๊ฒฉ ์ฆ๋ช…์ด ๋งŒ๋ฃŒ๋œ ํ›„์—๋„ ์„œ๋ฒ„๊ฐ€ ๋กœ๊ทธ์ธํ•˜์ง€ ๋ชปํ•˜๋ฉด, `Poll: Authentication failed (401)`์ด ํฌํ•จ๋œ ์˜ค๋ฅ˜๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค. ๊ฒฝ๊ณ ์˜ ๋‘ ๋ฒˆ์งธ ๋ฌธ์žฅ์— ์•ˆ๋‚ด๋œ ๋Œ€๋กœ ๋‹ค์‹œ ๋กœ๊ทธ์ธํ•œ ํ›„, ์„œ๋ฒ„๊ฐ€ ์ค‘์ง€๋œ ํ„ฐ๋ฏธ๋„์—์„œ `claude remote-control`์„ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

1238 

1212<h3 id="remote-control-stopped-because-the-signed-in-account-changed">1239<h3 id="remote-control-stopped-because-the-signed-in-account-changed">

1213 ๋กœ๊ทธ์ธ๋œ ๊ณ„์ •์ด ๋ณ€๊ฒฝ๋˜์–ด Remote Control์ด ์ค‘์ง€๋จ1240 ๋กœ๊ทธ์ธ๋œ ๊ณ„์ •์ด ๋ณ€๊ฒฝ๋˜์–ด Remote Control์ด ์ค‘์ง€๋จ

1214</h3>1241</h3>


2279* `/mcp disable <name>`์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” MCP ์„œ๋ฒ„๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ ์ปจํ…์ŠคํŠธ์—์„œ ๋„๊ตฌ ์ •์˜๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.2306* `/mcp disable <name>`์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” MCP ์„œ๋ฒ„๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ ์ปจํ…์ŠคํŠธ์—์„œ ๋„๊ตฌ ์ •์˜๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

2280* ํฐ `CLAUDE.md` ๋ฉ”๋ชจ๋ฆฌ ํŒŒ์ผ์„ ์ •๋ฆฌํ•˜๊ฑฐ๋‚˜, ์ง€์‹œ์‚ฌํ•ญ์„ ๊ด€๋ จ์ด ์žˆ์„ ๋•Œ๋งŒ ๋กœ๋“œ๋˜๋Š” [๊ฒฝ๋กœ ๋ฒ”์œ„ ๊ทœ์น™](/docs/ko/memory#path-specific-rules)์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.2307* ํฐ `CLAUDE.md` ๋ฉ”๋ชจ๋ฆฌ ํŒŒ์ผ์„ ์ •๋ฆฌํ•˜๊ฑฐ๋‚˜, ์ง€์‹œ์‚ฌํ•ญ์„ ๊ด€๋ จ์ด ์žˆ์„ ๋•Œ๋งŒ ๋กœ๋“œ๋˜๋Š” [๊ฒฝ๋กœ ๋ฒ”์œ„ ๊ทœ์น™](/docs/ko/memory#path-specific-rules)์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

2281* ์ž๋™ ์••์ถ•์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ผœ์ ธ ์žˆ์œผ๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. `/config`์—์„œ ๋˜๋Š” [`DISABLE_AUTO_COMPACT`](/docs/ko/env-vars)๋กœ ๋ˆ ๊ฒฝ์šฐ ๋‹ค์‹œ ์ผญ๋‹ˆ๋‹ค. ๋ˆ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋ฉด ์œˆ๋„์šฐ๊ฐ€ ์ฑ„์›Œ์ง€๊ธฐ ์ „์— `/compact`๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.2308* ์ž๋™ ์••์ถ•์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ผœ์ ธ ์žˆ์œผ๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. `/config`์—์„œ ๋˜๋Š” [`DISABLE_AUTO_COMPACT`](/docs/ko/env-vars)๋กœ ๋ˆ ๊ฒฝ์šฐ ๋‹ค์‹œ ์ผญ๋‹ˆ๋‹ค. ๋ˆ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋ฉด ์œˆ๋„์šฐ๊ฐ€ ์ฑ„์›Œ์ง€๊ธฐ ์ „์— `/compact`๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

2309* ๋” ๋งŽ์€ ํ† ํฐ์„ ํ—ˆ์šฉํ•˜๋Š” ๋ชจ๋ธ์—์„œ 200K ํ† ํฐ ๊ทผ์ฒ˜์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚œ๋‹ค๋ฉด, ํ•œ ๊ฐ€์ง€ ์›์ธ์€ Claude Code๊ฐ€ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ชจ๋ธ ID์ž…๋‹ˆ๋‹ค. Claude Code๋Š” ๊ทธ๋Ÿฐ ID์— ๋Œ€ํ•ด 200K ์œˆ๋„์šฐ๋ฅผ ๊ฐ€์ •ํ•˜๋ฏ€๋กœ, ๊ทธ ์ง€์ ์„ ๋„˜์–ด ๊ณ„์† ์ž‘์—…ํ•˜๋ ค๋ฉด [๋ชจ๋ธ์˜ ์‹ค์ œ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id).

2282 2310 

2283[์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ํƒ์ƒ‰](/docs/ko/context-window)์—์„œ ์ปจํ…์ŠคํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ฑ„์›Œ์ง€๋Š”์ง€์— ๋Œ€ํ•œ ๋Œ€ํ™”ํ˜• ๋ณด๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.2311[์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ํƒ์ƒ‰](/docs/ko/context-window)์—์„œ ์ปจํ…์ŠคํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ฑ„์›Œ์ง€๋Š”์ง€์— ๋Œ€ํ•œ ๋Œ€ํ™”ํ˜• ๋ณด๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

2284 2312 


2340```text theme={null}2368```text theme={null}

2341Image was too large. Double press esc to go back and try again with a smaller image.2369Image was too large. Double press esc to go back and try again with a smaller image.

2342API Error: 400 ... image dimensions exceed max allowed size2370API Error: 400 ... image dimensions exceed max allowed size

2371API Error: an image in the conversation could not be processed and was removed.

2343```2372```

2344 2373 

2345Claude Code๋Š” ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ์ด๋ฏธ์ง€๋ฅผ ํ…์ŠคํŠธ ์ž๋ฆฌ ํ‘œ์‹œ์ž๋กœ ๋ฐ”๊พธ๊ณ  ์žฌ์‹œ๋„ํ•˜๋ฏ€๋กœ ํ›„์† ๋ฉ”์‹œ์ง€๋Š” ์„ฑ๊ณตํ•ฉ๋‹ˆ๋‹ค. v2.1.142 ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ๋ถ™์—ฌ๋„ฃ์€ ์ด๋ฏธ์ง€๊ฐ€ ๋Œ€ํ™”์— ๋‚จ์•„ ํ›„์† ๋ชจ๋“  ๋ฉ”์‹œ์ง€์—์„œ ๋™์ผํ•œ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฒ„์ „์—์„œ ๋ณต๊ตฌํ•˜๋ ค๋ฉด Esc๋ฅผ ๋‘ ๋ฒˆ ๋ˆ„๋ฅด๊ณ  ์ด๋ฏธ์ง€๊ฐ€ ์ถ”๊ฐ€๋œ ํ„ด ์ด์ „์œผ๋กœ ๋˜๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.2374`could not be processed and was removed` ์ค„์€ ํฌ๊ธฐ ๋˜๋Š” ํ•ด์ƒ๋„ ํ•œ๋„๋ฅผ ์ดˆ๊ณผํ•œ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ API๊ฐ€ ๋Œ€ํ™”์˜ ์ด๋ฏธ์ง€๋ฅผ ๊ฑฐ๋ถ€ํ–ˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

2375 

2376์ด๋Ÿฌํ•œ ์˜ค๋ฅ˜ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๊ณ„์† ๋ฐ˜๋ณต๋˜๋ฉด Claude Code๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ ์ด๋ฏธ์ง€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐ˜๋ณต๋  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค:

2377 

2378* v2.1.299 ์ด์ „์—๋Š” ์ด๋ฏธ์ง€๊ฐ€ ๋งŽ์€ ๊ธด ๋Œ€ํ™”์—์„œ Claude Code๊ฐ€ ํ•œ๋„๋ฅผ ์ดˆ๊ณผํ•œ ์ด๋ฏธ์ง€ ๋Œ€์‹  ๋งˆ์ง€๋ง‰์œผ๋กœ ์ฒจ๋ถ€ํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด `was removed` ์ค„์ด ๋งค ํ„ด๋งˆ๋‹ค ๋ฐ˜๋ณต๋˜์—ˆ๊ณ  Claude๋Š” ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

2379* v2.1.299 ์ด์ „์—๋Š” VS Code, Desktop ์•ฑ, Agent SDK์—์„œ Claude๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ ์ฒจ๋ถ€ํ•œ ์ด๋ฏธ์ง€์— ๋‹ค๋ฅธ ์ฒจ๋ถ€ ์ด๋ฏธ์ง€์™€ ๊ฐ™์€ ํฌ๊ธฐ ์กฐ์ •์ด ์ ์šฉ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด๋ฏธ์ง€๋Š” ์›๋ณธ ํฌ๊ธฐ ๊ทธ๋Œ€๋กœ API์— ์ „๋‹ฌ๋˜์–ด ๊ธด ๋Œ€ํ™”์—์„œ ์ด๋ฏธ์ง€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐ˜๋ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2380* v2.1.166 ์ด์ „์—๋Š” ๋ถ™์—ฌ๋„ฃ์€ ์ด๋ฏธ์ง€๊ฐ€ ๋Œ€ํ™”์— ๋‚จ์•„ ์ดํ›„ ๋ชจ๋“  ๋ฉ”์‹œ์ง€์—์„œ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐ˜๋ณต๋  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค

2346 2381 

2347**ํ•  ์ผ:**2382**ํ•  ์ผ:**

2348 2383 


2800* [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/ko/env-vars)๋ฅผ ์‚ฌ๊ณ  ์˜ˆ์‚ฐ๋ณด๋‹ค ๋†’๊ฒŒ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.2835* [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/ko/env-vars)๋ฅผ ์‚ฌ๊ณ  ์˜ˆ์‚ฐ๋ณด๋‹ค ๋†’๊ฒŒ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.

2801* ์˜ˆ์‚ฐ์ด ์ถœ๋ ฅ ๊ธธ์ด์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹์€ [ํ™•์žฅ ์‚ฌ๊ณ ](/docs/ko/model-config#extended-thinking)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.2836* ์˜ˆ์‚ฐ์ด ์ถœ๋ ฅ ๊ธธ์ด์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹์€ [ํ™•์žฅ ์‚ฌ๊ณ ](/docs/ko/model-config#extended-thinking)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

2802 2837 

2838<h3 id="response-exceeded-the-output-token-maximum">

2839 Response exceeded the output token maximum

2840</h3>

2841 

2842Claude์˜ ์‘๋‹ต์ด ์š”์ฒญ์—์„œ ํ—ˆ์šฉํ•œ ์ตœ๋Œ€ ์ถœ๋ ฅ ํ† ํฐ ์ˆ˜์— ๋„๋‹ฌํ•˜์—ฌ ๊ทธ ์ง€์ ์—์„œ ์ž˜๋ ธ์Šต๋‹ˆ๋‹ค:

2843 

2844```text theme={null}

2845API Error: Claude's response exceeded the ... output token maximum. To configure this behavior, set the CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable.

2846API Error: Claude's response exceeded the 64000 output token maximum for a request sent without streaming. The CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable cannot raise this limit.

2847```

2848 

2849`a request sent without streaming`์ด ํ‘œ์‹œ๋˜๋Š” ํ˜•์‹์€ ์ŠคํŠธ๋ฆฌ๋ฐ ์š”์ฒญ์ด ์‹คํŒจํ•˜์—ฌ Claude Code๊ฐ€ ์ŠคํŠธ๋ฆฌ๋ฐ ์—†์ด ๋‹ค์‹œ ๋ณด๋ƒˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋ฉฐ, ์ด ๊ฒฝ์šฐ ์‘๋‹ต์€ 64,000 ์ถœ๋ ฅ ํ† ํฐ์œผ๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. v2.1.299 ์ด์ „์—๋Š” ์ด๋ ‡๊ฒŒ ๋‹ค์‹œ ๋ณด๋‚ธ ์š”์ฒญ์—์„œ ์‘๋‹ต์ด ์ž˜๋ฆฌ๋ฉด ์ด ๋ฉ”์‹œ์ง€ ์—†์ด ์‘๋‹ต์ด ์™„๋ฃŒ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ํ„ด์ด ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2850 

2851**ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:**

2852 

2853* ์‘๋‹ต์ด ์ž˜๋ฆฌ๊ธฐ ์ „์— Claude๊ฐ€ ์ผ๋ถ€ ํ…์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค๋ฉด ๋Œ€ํ™”ํ˜• ์„ธ์…˜์—์„œ `continue`๋ผ๊ณ  ๋‹ตํ•˜์—ฌ ๋‚˜๋จธ์ง€๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ํ…์ŠคํŠธ๋Š” ๋Œ€ํ™”์— ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

2854* ๋ฉ”์‹œ์ง€์— `CLAUDE_CODE_MAX_OUTPUT_TOKENS`๋ฅผ ์„ค์ •ํ•˜๋ผ๊ณ  ํ‘œ์‹œ๋˜๋ฉด, ๊ฐ’์˜ ์ƒํ•œ์ด ์–ด๋–ป๊ฒŒ ์ ์šฉ๋˜๋Š”์ง€๋Š” [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/ko/env-vars)๋ฅผ, ์„ค์ • ์œ„์น˜๋Š” [ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •](/docs/ko/env-vars#set-environment-variables)์„ ์ฐธ์กฐํ•˜์„ธ์š”

2855* ๊ฐ ์‘๋‹ต์„ ํ•œ๋„ ๋‚ด๋กœ ์œ ์ง€ํ•˜๋ ค๋ฉด ์‘๋‹ต๋‹น ํŒŒ์ผ ํ•˜๋‚˜๋‚˜ ์„น์…˜ ํ•˜๋‚˜์ฒ˜๋Ÿผ ๋” ์ž‘์€ ๋‹จ์œ„๋กœ ์ถœ๋ ฅ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค

2856 

2803<h3 id="tool-use-or-thinking-block-mismatch">2857<h3 id="tool-use-or-thinking-block-mismatch">

2804 ๋„๊ตฌ ์‚ฌ์šฉ ๋˜๋Š” thinking ๋ธ”๋ก ๋ถˆ์ผ์น˜2858 ๋„๊ตฌ ์‚ฌ์šฉ ๋˜๋Š” thinking ๋ธ”๋ก ๋ถˆ์ผ์น˜

2805</h3>2859</h3>


2936๋ชจ๋ธ์˜ ์•ˆ์ „ ์กฐ์น˜๊ฐ€ ๋Œ€ํ™”์˜ ๋‚ด์šฉ์„ ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ์ฃผ์ œ๋กœ ํ”Œ๋ž˜๊ทธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€๋Š” ์š”์ฒญ์„ ํ”Œ๋ž˜๊ทธํ•œ ๋ชจ๋ธ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค:2990๋ชจ๋ธ์˜ ์•ˆ์ „ ์กฐ์น˜๊ฐ€ ๋Œ€ํ™”์˜ ๋‚ด์šฉ์„ ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ์ฃผ์ œ๋กœ ํ”Œ๋ž˜๊ทธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€๋Š” ์š”์ฒญ์„ ํ”Œ๋ž˜๊ทธํ•œ ๋ชจ๋ธ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค:

2937 2991 

2938```text theme={null}2992```text theme={null}

2939API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Apply to the Cyber Verification Program to reduce these interruptions. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude2993API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude

2940```2994```

2941 2995 

2942๋ฉ”์‹œ์ง€์— `` Details: `[reasoning_extraction]` `` ์ค„์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด [์•ˆ์ „ ์กฐ์น˜๊ฐ€ Claude์˜ ์ถ”๋ก ์— ๋Œ€ํ•œ ์š”์ฒญ์„ ํ”Œ๋ž˜๊ทธํ–ˆ์Šต๋‹ˆ๋‹ค](#safeguards-flagged-a-request-for-claudes-reasoning)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.2996๋ฉ”์‹œ์ง€์— `` Details: `[reasoning_extraction]` `` ์ค„์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด [์•ˆ์ „ ์กฐ์น˜๊ฐ€ Claude์˜ ์ถ”๋ก ์— ๋Œ€ํ•œ ์š”์ฒญ์„ ํ”Œ๋ž˜๊ทธํ–ˆ์Šต๋‹ˆ๋‹ค](#safeguards-flagged-a-request-for-claudes-reasoning)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.


2945 2999 

2946[Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud์˜ Agent Platform](/docs/ko/google-vertex-ai) ๋ฐ [Microsoft Foundry](/docs/ko/microsoft-foundry)์—์„œ๋Š” ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋Œ€์‹  [์‚ฌ์šฉ ์ •์ฑ… ๊ฑฐ๋ถ€](#usage-policy-refusal) ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.3000[Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud์˜ Agent Platform](/docs/ko/google-vertex-ai) ๋ฐ [Microsoft Foundry](/docs/ko/microsoft-foundry)์—์„œ๋Š” ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋Œ€์‹  [์‚ฌ์šฉ ์ •์ฑ… ๊ฑฐ๋ถ€](#usage-policy-refusal) ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

2947 3001 

2948์•ˆ์ „ ์กฐ์น˜ ์ž์ฒด๋Š” ์„œ๋ฒ„ ์ธก์—์„œ ๋™์ž‘ํ•˜๋ฉฐ v2.1.203 ์ด์ „๋ถ€ํ„ฐ ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ดํ›„์˜ ํด๋ผ์ด์–ธํŠธ ๋ฆด๋ฆฌ์Šค๋Š” ๋ฉ”์‹œ์ง€์˜ ๋ฌธ๊ตฌ๋งŒ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

2949v2.1.203๋ถ€ํ„ฐ v2.1.218๊นŒ์ง€๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ `<model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center:` ๋’ค์— ๋™์ผํ•œ ๋„์›€๋ง ์„ผํ„ฐ ๋งํฌ๊ฐ€ ๋ถ™๋Š” ํ˜•ํƒœ์˜€์œผ๋ฉฐ, ๋Œ€ํ™”ํ˜• ์„ธ์…˜์—์„œ๋Š” `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.`๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2950v2.1.203 ์ด์ „์—๋Š” `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:` ๋’ค์— ๋ฉด์ œ ์–‘์‹ ๋งํฌ๊ฐ€ ๋ถ™๋Š” ํ˜•ํƒœ์˜€์Šต๋‹ˆ๋‹ค.

2951 

2952**ํ•  ์ผ:**3002**ํ•  ์ผ:**

2953 3003 

2954* ์ž‘์—…์— ์ด ๋‚ด์šฉ์ด ํ•„์š”ํ•˜๋ฉด [์‚ฌ์ด๋ฒ„ ๊ฒ€์ฆ ํ”„๋กœ๊ทธ๋žจ](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)์„ ํ†ตํ•ด ์•ก์„ธ์Šค๋ฅผ ์‹ ์ฒญํ•ฉ๋‹ˆ๋‹ค.3004* ์ž‘์—…์— ์ด ๋‚ด์šฉ์ด ํ•„์š”ํ•˜๋ฉด [์‚ฌ์ด๋ฒ„ ๊ฒ€์ฆ ํ”„๋กœ๊ทธ๋žจ](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)์„ ํ†ตํ•ด ์•ก์„ธ์Šค๋ฅผ ์‹ ์ฒญํ•ฉ๋‹ˆ๋‹ค.

2955* ์š”์ฒญ์ด ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ์ฃผ์ œ์™€ ๊ด€๋ จ์ด ์—†์—ˆ๋‹ค๋ฉด `/feedback`์„ ์‹คํ–‰ํ•˜์—ฌ ์˜คํƒ์„ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.3005* ์š”์ฒญ์ด ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ์ฃผ์ œ์™€ ๊ด€๋ จ์ด ์—†์—ˆ๋‹ค๋ฉด `/feedback`์„ ์‹คํ–‰ํ•˜์—ฌ ์˜คํƒ์„ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

2956* ๊ฐ™์€ ์„ธ์…˜์—์„œ ๊ณ„์† ์ž‘์—…ํ•˜๋ ค๋ฉด Esc๋ฅผ ๋‘ ๋ฒˆ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ `/rewind`๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ”Œ๋ž˜๊ทธ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•œ ํ„ด ์ด์ „์˜ ์ฒดํฌํฌ์ธํŠธ๋กœ ๋˜๋Œ์•„๊ฐ„ ๋‹ค์Œ ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•ฉ๋‹ˆ๋‹ค. [์ฒดํฌํฌ์ธํŠธ](/docs/ko/checkpointing)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.3006* ๊ฐ™์€ ์„ธ์…˜์—์„œ ๊ณ„์† ์ž‘์—…ํ•˜๋ ค๋ฉด Esc๋ฅผ ๋‘ ๋ฒˆ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ `/rewind`๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ”Œ๋ž˜๊ทธ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•œ ํ„ด ์ด์ „์˜ ์ฒดํฌํฌ์ธํŠธ๋กœ ๋˜๋Œ์•„๊ฐ„ ๋‹ค์Œ ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•ฉ๋‹ˆ๋‹ค. [์ฒดํฌํฌ์ธํŠธ](/docs/ko/checkpointing)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

2957 3007 

3008ํ‘œ์‹œ๋œ ๋ฉ”์‹œ์ง€์˜ ๋ฌธ๊ตฌ๊ฐ€ ๋Œ€์‹  ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์™€ ๊ฐ™๋‹ค๋ฉด, ์ด์ „ Claude Code ๋ฒ„์ „์—์„œ ๋ฐœ์ƒํ•œ ๋™์ผํ•œ ํ”Œ๋ž˜๊ทธ์ž…๋‹ˆ๋‹ค.

3009 

3010* v2.1.219๋ถ€ํ„ฐ v2.1.296๊นŒ์ง€๋Š” ๋ฉ”์‹œ์ง€์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์žฅ ์•ž์— `Apply to the Cyber Verification Program to reduce these interruptions.`๊ฐ€ ํฌํ•จ๋  ์ˆ˜๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค

3011* v2.1.203๋ถ€ํ„ฐ v2.1.218๊นŒ์ง€๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ `<model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center:`์˜€์œผ๋ฉฐ ๋’ค์— ๋™์ผํ•œ ๋„์›€๋ง ์„ผํ„ฐ ๋งํฌ๊ฐ€ ์ด์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ™”ํ˜• ์„ธ์…˜์—์„œ๋Š” `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.`์ด ์ด์–ด์กŒ์Šต๋‹ˆ๋‹ค

3012* v2.1.203 ์ด์ „์—๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:`์˜€์œผ๋ฉฐ ๋’ค์— ์˜ˆ์™ธ ์‹ ์ฒญ ์–‘์‹ ๋งํฌ๊ฐ€ ์ด์–ด์กŒ์Šต๋‹ˆ๋‹ค

3013 

2958<h3 id="safeguards-flagged-a-request-for-claudes-reasoning">3014<h3 id="safeguards-flagged-a-request-for-claudes-reasoning">

2959 ์•ˆ์ „ ์กฐ์น˜๊ฐ€ Claude์˜ ์ถ”๋ก ์— ๋Œ€ํ•œ ์š”์ฒญ์„ ํ”Œ๋ž˜๊ทธํ–ˆ์Šต๋‹ˆ๋‹ค3015 ์•ˆ์ „ ์กฐ์น˜๊ฐ€ Claude์˜ ์ถ”๋ก ์— ๋Œ€ํ•œ ์š”์ฒญ์„ ํ”Œ๋ž˜๊ทธํ–ˆ์Šต๋‹ˆ๋‹ค

2960</h3>3016</h3>


3012* `-p` ๋˜๋Š” `--print`๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. `--bg`๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ์œ„์น˜ ์ธ์ˆ˜๋กœ ๋ฐ›์œผ๋ฏ€๋กœ `claude --bg "<task>"`๋งŒ์œผ๋กœ ์™„์ „ํ•œ ๋ช…๋ น์ด ๋ฉ๋‹ˆ๋‹ค. [์…ธ์—์„œ ์ƒˆ ์—์ด์ „ํŠธ Dispatchํ•˜๊ธฐ](/docs/ko/agent-view#from-your-shell)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.3068* `-p` ๋˜๋Š” `--print`๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. `--bg`๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ์œ„์น˜ ์ธ์ˆ˜๋กœ ๋ฐ›์œผ๋ฏ€๋กœ `claude --bg "<task>"`๋งŒ์œผ๋กœ ์™„์ „ํ•œ ๋ช…๋ น์ด ๋ฉ๋‹ˆ๋‹ค. [์…ธ์—์„œ ์ƒˆ ์—์ด์ „ํŠธ Dispatchํ•˜๊ธฐ](/docs/ko/agent-view#from-your-shell)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

3013* ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์„ ๋งŒ๋“œ๋Š” ๋Œ€์‹  ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋น„๋Œ€ํ™”ํ˜•์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋ ค๋ฉด `--bg`๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  `claude -p "<task>"`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค3069* ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜์„ ๋งŒ๋“œ๋Š” ๋Œ€์‹  ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋น„๋Œ€ํ™”ํ˜•์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋ ค๋ฉด `--bg`๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  `claude -p "<task>"`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค

3014 3070 

3071<h3 id="couldnt-tell-whether-bg-is-a-flag-or-text">

3072 Couldn't tell whether `--bg` is a flag or text

3073</h3>

3074 

3075`claude`๋ฅผ ์‹คํ–‰ํ•  ๋•Œ `--bg` ๋˜๋Š” `--background`๋ฅผ Claude Code๊ฐ€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”Œ๋ž˜๊ทธ์ธ์ง€ ํ…์ŠคํŠธ์ธ์ง€ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์—†๋Š” ์œ„์น˜์— ๋„ฃ์€ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ ์•„๋ฌด๊ฒƒ๋„ ์‹œ์ž‘ํ•˜์ง€ ์•Š๊ณ  ๋‹ค์Œ ์ค„์„ ์ถœ๋ ฅํ•œ ๋’ค ์ข…๋ฃŒ ์ฝ”๋“œ 1๋กœ ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค:

3076 

3077```text theme={null}

3078Couldn't tell whether --bg is a flag or text here, so nothing was started. To start a background session put it first: claude --bg <prompt>

3079```

3080 

3081`--background`๋ฅผ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ์—๋Š” ์ด ์ค„์— `--background`๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

3082 

3083**ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:**

3084 

3085* [๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜](/docs/ko/agent-view#from-your-shell)์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ์…ธ์—์„œ ํ”Œ๋ž˜๊ทธ๋ฅผ ๋งจ ์•ž์— ๋‘๊ณ  ๋ช…๋ น์„ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค: `claude --bg --name nightly-audit "<task>"`

3086 

3015<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">3087<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">

3016 ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ํ”Œ๋ž˜๊ทธ์™€ ํŒŒ์ผ ํ˜•์‹ ๊ฐ„์˜ ์ถฉ๋Œ3088 ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ํ”Œ๋ž˜๊ทธ์™€ ํŒŒ์ผ ํ˜•์‹ ๊ฐ„์˜ ์ถฉ๋Œ

3017</h3>3089</h3>


3296 3368 

3297v2.1.248 ์ด์ „์—๋Š” ์ „์—ญ ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋จผ์ € ์˜ค๋ฉด `claude remote-control`์ด ์ž์ฒด ํ”Œ๋ž˜๊ทธ๋ฅผ ๋ฐ›์ง€ ์•Š์•˜์œผ๋ฉฐ, ๋ช…๋ น์ด `unknown option` ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.3369v2.1.248 ์ด์ „์—๋Š” ์ „์—ญ ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋จผ์ € ์˜ค๋ฉด `claude remote-control`์ด ์ž์ฒด ํ”Œ๋ž˜๊ทธ๋ฅผ ๋ฐ›์ง€ ์•Š์•˜์œผ๋ฉฐ, ๋ช…๋ น์ด `unknown option` ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.

3298 3370 

3371<h3 id="sandbox-is-not-supported-by-claude-remote-control">

3372 `--sandbox` or `--no-sandbox` is not supported by claude remote-control

3373</h3>

3374 

3375์ด ์˜ค๋ฅ˜๋Š” [Remote Control](/docs/ko/remote-control) ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๋ช…๋ น์ด `remote-control` ๋’ค์— `--sandbox` ๋˜๋Š” `--no-sandbox`๋ฅผ ์ „๋‹ฌํ•˜๋Š”๋ฐ, `claude remote-control`์ด ๋‘ ํ”Œ๋ž˜๊ทธ๋ฅผ ๋ชจ๋‘ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ์‹œ์ž‘ํ•˜์ง€ ์•Š๊ณ  ์ฝ”๋“œ 1๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค:

3376 

3377```text theme={null}

3378Error: --sandbox is not supported by claude remote-control. The flag had no effect and was removed. To sandbox sessions, set sandbox.enabled to true in settings.

3379Error: --no-sandbox is not supported by claude remote-control. The flag had no effect and was removed. Remove it from the command.

3380```

3381 

3382**ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:**

3383 

3384* ์„œ๋ฒ„๋ฅผ ๋Œ€์‹  ์‹œ์ž‘ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋‚˜ ์„œ๋น„์Šค ์ •์˜๋ฅผ ํฌํ•จํ•ด ๋ช…๋ น์—์„œ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ œ๊ฑฐํ•œ ๋‹ค์Œ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค

3385* ์„œ๋ฒ„๊ฐ€ ์‹œ์ž‘ํ•˜๋Š” ์„ธ์…˜์„ ์ƒŒ๋“œ๋ฐ•์Šค์—์„œ ์‹คํ–‰ํ•˜๋ ค๋ฉด [์„ค์ • ํŒŒ์ผ](/docs/ko/settings#where-settings-live)์—์„œ [`sandbox.enabled`](/docs/ko/settings-reference#sandbox-enabled)๋ฅผ `true`๋กœ ์„ค์ •ํ•ด [์ƒŒ๋“œ๋ฐ•์‹ฑ](/docs/ko/sandboxing)์„ ์ผญ๋‹ˆ๋‹ค

3386 

3387๋‘ ํ”Œ๋ž˜๊ทธ ๋ชจ๋‘ v2.1.300์—์„œ `claude remote-control`์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฏ€๋กœ, ์ด์ „ ๋ฒ„์ „์šฉ์œผ๋กœ ์ž‘์„ฑ๋œ ๋ช…๋ น์—๋Š” ์—ฌ์ „ํžˆ ํ”Œ๋ž˜๊ทธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3388 

3299<h3 id="claude-import-is-not-yet-available-in-this-build">3389<h3 id="claude-import-is-not-yet-available-in-this-build">

3300 ์ด ๋นŒ๋“œ์—์„œ๋Š” ์•„์ง claude import๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ3390 ์ด ๋นŒ๋“œ์—์„œ๋Š” ์•„์ง claude import๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ

3301</h3>3391</h3>


3542* ์„œ๋ฒ„ ์ธก HEAD๊ฐ€ ์•„๋ฌด๋„ ํ‘ธ์‹œํ•˜์ง€ ์•Š์€ ๋ธŒ๋žœ์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์›๊ฒฉ3632* ์„œ๋ฒ„ ์ธก HEAD๊ฐ€ ์•„๋ฌด๋„ ํ‘ธ์‹œํ•˜์ง€ ์•Š์€ ๋ธŒ๋žœ์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์›๊ฒฉ

3543* `origin` ์›๊ฒฉ์ด ์—†๊ฑฐ๋‚˜ ํ•œ ๋ฒˆ๋„ fetchํ•˜์ง€ ์•Š์€ ์ €์žฅ์†Œ3633* `origin` ์›๊ฒฉ์ด ์—†๊ฑฐ๋‚˜ ํ•œ ๋ฒˆ๋„ fetchํ•˜์ง€ ์•Š์€ ์ €์žฅ์†Œ

3544 3634 

3545Claude Code๋Š” [๋™์  ์ปจํ…์ŠคํŠธ๋ฅผ ์ฃผ์ž…ํ•˜๋Š”](/docs/ko/skills#when-an-injected-command-fails) ๋ชจ๋“  ์Šคํ‚ฌ์— ๋Œ€ํ•ด ๊ฐ™์€ ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•˜๋ฉฐ, ์ฃผ์ž…๋œ ๋ช…๋ น์ด ์‹คํŒจํ•˜๋ฉด ํ•ด๋‹น ์Šคํ‚ฌ ํ˜ธ์ถœ์ด ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์ด ์‹คํ–‰๋˜๊ธฐ๋„ ์ „์— ๋ฐœ์ƒํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ์œ ์‚ฌํ•œ ๋ฌธ์ž์—ด์ด ์žˆ์Šต๋‹ˆ๋‹ค:3635Claude Code๋Š” [๋™์  ์ปจํ…์ŠคํŠธ๋ฅผ ์ฃผ์ž…ํ•˜๋Š”](/docs/ko/skills#when-an-injected-command-fails) ๋ชจ๋“  ์Šคํ‚ฌ์— ๋Œ€ํ•ด ๊ฐ™์€ ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•˜๋ฉฐ, ์ฃผ์ž…๋œ ๋ช…๋ น์ด ์‹คํŒจํ•˜๋ฉด ํ•ด๋‹น ์Šคํ‚ฌ ํ˜ธ์ถœ์ด ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.

3636 

3637๊ด€๋ จ ๋ฉ”์‹œ์ง€๋Š” ๋ช…๋ น์ด ์‹คํ–‰๋˜๊ธฐ๋„ ์ „์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค:

3546 3638 

3547* `Shell command permission check failed for pattern "..."`: ๋ช…๋ น์˜ ๊ถŒํ•œ ๊ฒ€์‚ฌ๊ฐ€ ๋ช…๋ น์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. [์ฃผ์ž…๋œ ๋ช…๋ น์˜ ๊ถŒํ•œ ๊ฒ€์‚ฌ](/docs/ko/skills#permission-checks-on-injected-commands)์—์„œ ๊ฐ ๊ถŒํ•œ ๋ชจ๋“œ์—์„œ ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ์ค‘๋‹จ์„ ์ผ์œผํ‚ค๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  `allowed-tools`๋กœ ๋ช…๋ น์„ ์‚ฌ์ „ ์Šน์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค3639* `Shell command permission check failed for pattern "..."`: ๋ช…๋ น์˜ ๊ถŒํ•œ ๊ฒ€์‚ฌ๊ฐ€ ์ด๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. [์ฃผ์ž…๋œ ๋ช…๋ น์˜ ๊ถŒํ•œ ๊ฒ€์‚ฌ](/docs/ko/skills#permission-checks-on-injected-commands)์—์„œ ๊ฐ ๊ถŒํ•œ ๋ชจ๋“œ์—์„œ ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ์ค‘๋‹จ์„ ์ผ์œผํ‚ค๋Š”์ง€์™€ `allowed-tools`๋กœ ๋ช…๋ น์„ ์‚ฌ์ „ ์Šน์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค

3548* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: ์Šคํ‚ฌ์˜ frontmatter๊ฐ€ bash๊ฐ€ ์—†๋Š” ์‹œ์Šคํ…œ์—์„œ bash๋ฅผ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. Git for Windows๋ฅผ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ frontmatter๋ฅผ `shell: powershell`๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. [์ฃผ์ž…๋œ ๋ช…๋ น์ด ์‹คํ–‰๋˜๋Š” ๋ฐฉ์‹](/docs/ko/skills#how-injected-commands-run)์„ ์ฐธ์กฐํ•˜์„ธ์š”3640* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: ์Šคํ‚ฌ์˜ frontmatter๊ฐ€ bash๊ฐ€ ์—†๋Š” ๋จธ์‹ ์—์„œ bash๋ฅผ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. Git for Windows๋ฅผ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ frontmatter๋ฅผ `shell: powershell`๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. [์ฃผ์ž…๋œ ๋ช…๋ น์˜ ์‹คํ–‰ ๋ฐฉ์‹](/docs/ko/skills#how-injected-commands-run)์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค

3641* `No shell command in <name> was run`: ํŒŒ์ผ์˜ `!` ๋ช…๋ น ์ค‘ ํ•˜๋‚˜์— ํƒญ์ด๋‚˜ ์ค„ ๋ฐ”๊ฟˆ ์ด์™ธ์˜ ์›์‹œ ์ œ์–ด ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์–ด ์–ด๋–ค ๋ช…๋ น๋„ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. [ํ•ด๋‹น ๋ฌธ์ž๋ฅผ ์ฐพ์•„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•](#no-shell-command-was-run)์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค

3549 3642 

3550**ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:**3643**ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:**

3551 3644 


3553* ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋ฉด `git fetch origin`์„ ์‹คํ–‰ํ•œ ๋‹ค์Œ `git remote set-head origin --auto`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ ์›๊ฒฉ์— ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ฌป์Šต๋‹ˆ๋‹ค. ์›๊ฒฉ์ด ๋น„์–ด ์žˆ๊ฑฐ๋‚˜ HEAD๊ฐ€ ์•„๋ฌด๋„ ํ‘ธ์‹œํ•˜์ง€ ์•Š์€ ๋ธŒ๋žœ์น˜๋ฅผ ๊ฐ€๋ฆฌ์ผœ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ ์•Œ๋ฆฌ์ง€ ์•Š์œผ๋ฉด `error: Cannot determine remote HEAD`๋กœ ์‹คํŒจํ•˜๋ฏ€๋กœ, ๋Œ€์‹  ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํด๋ก ์ด ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋ฅผ fetchํ•˜์ง€ ์•Š์œผ๋ฉด `error: Not a valid ref`๋กœ ์‹คํŒจํ•˜๋ฏ€๋กœ, ๋จผ์ € ์œ„์™€ ๊ฐ™์ด refspec์„ ๋„“ํž™๋‹ˆ๋‹ค.3646* ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋ฉด `git fetch origin`์„ ์‹คํ–‰ํ•œ ๋‹ค์Œ `git remote set-head origin --auto`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ ์›๊ฒฉ์— ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ฌป์Šต๋‹ˆ๋‹ค. ์›๊ฒฉ์ด ๋น„์–ด ์žˆ๊ฑฐ๋‚˜ HEAD๊ฐ€ ์•„๋ฌด๋„ ํ‘ธ์‹œํ•˜์ง€ ์•Š์€ ๋ธŒ๋žœ์น˜๋ฅผ ๊ฐ€๋ฆฌ์ผœ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ ์•Œ๋ฆฌ์ง€ ์•Š์œผ๋ฉด `error: Cannot determine remote HEAD`๋กœ ์‹คํŒจํ•˜๋ฏ€๋กœ, ๋Œ€์‹  ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํด๋ก ์ด ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋ฅผ fetchํ•˜์ง€ ์•Š์œผ๋ฉด `error: Not a valid ref`๋กœ ์‹คํŒจํ•˜๋ฏ€๋กœ, ๋จผ์ € ์œ„์™€ ๊ฐ™์ด refspec์„ ๋„“ํž™๋‹ˆ๋‹ค.

3554* ์ €์žฅ์†Œ์— ์›๊ฒฉ์ด ์—†์œผ๋ฉด `git remote add origin <url>`๋กœ ์›๊ฒฉ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ref๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— fetchํ•ฉ๋‹ˆ๋‹ค. ์›๊ฒฉ์ด ๋น„์–ด ์žˆ์œผ๋ฉด ๋จผ์ € `git push -u origin HEAD`๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ํ‘ธ์‹œํ•˜๊ณ  set-head ๋ช…๋ น์— ํ•ด๋‹น ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด `origin/HEAD`๊ฐ€ ๋ฐฉ๊ธˆ ํ‘ธ์‹œํ•œ ๋ธŒ๋žœ์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฏ€๋กœ, ๋ธŒ๋žœ์น˜๊ฐ€ ๊ทธ๋กœ๋ถ€ํ„ฐ ๊ฐˆ๋ผ์งˆ ๋•Œ๊นŒ์ง€ `/security-review`๋Š” ๋นˆ diff๋ฅผ ๋ณด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.3647* ์ €์žฅ์†Œ์— ์›๊ฒฉ์ด ์—†์œผ๋ฉด `git remote add origin <url>`๋กœ ์›๊ฒฉ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ref๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— fetchํ•ฉ๋‹ˆ๋‹ค. ์›๊ฒฉ์ด ๋น„์–ด ์žˆ์œผ๋ฉด ๋จผ์ € `git push -u origin HEAD`๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ํ‘ธ์‹œํ•˜๊ณ  set-head ๋ช…๋ น์— ํ•ด๋‹น ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด `origin/HEAD`๊ฐ€ ๋ฐฉ๊ธˆ ํ‘ธ์‹œํ•œ ๋ธŒ๋žœ์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฏ€๋กœ, ๋ธŒ๋žœ์น˜๊ฐ€ ๊ทธ๋กœ๋ถ€ํ„ฐ ๊ฐˆ๋ผ์งˆ ๋•Œ๊นŒ์ง€ `/security-review`๋Š” ๋นˆ diff๋ฅผ ๋ณด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

3555 3648 

3649<h3 id="no-shell-command-was-run">

3650 No shell command in a skill or command was run

3651</h3>

3652 

3653์Šคํ‚ฌ ๋˜๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๋ช…๋ น ํŒŒ์ผ์˜ `` !`<command>` `` [๋™์  ์ปจํ…์ŠคํŠธ ๋ช…๋ น](/docs/ko/skills#inject-dynamic-context) ์ค‘ ํ•˜๋‚˜์— ํƒญ์ด๋‚˜ ์ค„ ๋ฐ”๊ฟˆ ์ด์™ธ์˜ ์›์‹œ ์ œ์–ด ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Claude Code๋Š” ํŒŒ์ผ์˜ ๋ช…๋ น์ด ํ•˜๋‚˜๋ผ๋„ ์‹คํ–‰๋˜๊ธฐ ์ „์— ํ˜ธ์ถœ ์ „์ฒด๋ฅผ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

3654 

3655๋ฉ”์‹œ์ง€์—๋Š” ๋ช…๋ น์„ ์‹คํ–‰ํ–ˆ์„ ์…ธ ๋„๊ตฌ(Bash ๋˜๋Š” PowerShell)๊ฐ€ ํ‘œ์‹œ๋˜๊ณ , ๊ฑฐ๋ถ€๋œ ๋ช…๋ น์œผ๋กœ ๋๋‚ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฌธ์ž๋Š” ๊ฐ๊ฐ `๏ฟฝ`๋กœ ๋Œ€์ฒด๋˜์–ด ์œ„์น˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

3656 

3657```text theme={null}

3658No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as ๏ฟฝ below: remove them from the skill or command file, or from the arguments or options substituted into it.

3659build.sh --target๏ฟฝdist

3660```

3661 

3662**ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:**

3663 

3664* ๋ฉ”์‹œ์ง€ ๋์— ์ธ์šฉ๋œ ๋ช…๋ น์—์„œ ๊ฐ `๏ฟฝ`๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฌธ์ž๋ฅผ ์Šคํ‚ฌ ๋˜๋Š” ๋ช…๋ น ํŒŒ์ผ์—์„œ, ๋˜๋Š” ํŒŒ์ผ์— ๋Œ€์ž…๋œ ์ธ์ˆ˜๋‚˜ ์˜ต์…˜์—์„œ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

3665 

3556<h3 id="input-must-be-provided-when-using-print">3666<h3 id="input-must-be-provided-when-using-print">

3557 `--print` ์‚ฌ์šฉ ์‹œ ์ž…๋ ฅ์„ ์ œ๊ณตํ•ด์•ผ ํ•จ3667 `--print` ์‚ฌ์šฉ ์‹œ ์ž…๋ ฅ์„ ์ œ๊ณตํ•ด์•ผ ํ•จ

3558</h3>3668</h3>


3694 3804 

3695* **๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ**: Claude Code๋Š” ์ €์žฅ์†Œ์˜ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์™€ ๋น„๊ตํ–ˆ์œผ๋ฉฐ, ์œ„ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ „๋‹ฌํ•˜๋„๋ก ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค3805* **๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ**: Claude Code๋Š” ์ €์žฅ์†Œ์˜ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์™€ ๋น„๊ตํ–ˆ์œผ๋ฉฐ, ์œ„ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ „๋‹ฌํ•˜๋„๋ก ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค

3696* **ํด๋ก ์— ์ด๋ฏธ ์žˆ๋Š” ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ ์ „๋‹ฌํ•œ ๊ฒฝ์šฐ**: ํžŒํŠธ๋Š” ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``์ž…๋‹ˆ๋‹ค3806* **ํด๋ก ์— ์ด๋ฏธ ์žˆ๋Š” ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ ์ „๋‹ฌํ•œ ๊ฒฝ์šฐ**: ํžŒํŠธ๋Š” ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``์ž…๋‹ˆ๋‹ค

3697* **ํด๋ก ์— ์—†๋˜ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ ์ „๋‹ฌํ•œ ๊ฒฝ์šฐ**: Claude Code๋Š” ๋น„๊ตํ•˜๊ธฐ ์ „์— origin์—์„œ ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋ฅผ fetchํ–ˆ์Šต๋‹ˆ๋‹ค. ํžŒํŠธ๋Š” ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``์ž…๋‹ˆ๋‹ค. Claude Code๊ฐ€ ํด๋ก ์ด shallow์ธ์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์—†์œผ๋ฉด ๋Œ€์‹  `git fetch --unshallow origin`์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. v2.1.221 ์ด์ „์—๋Š” fetch๋œ ๋ชจ๋“  ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•ด ํžŒํŠธ๊ฐ€ `git fetch --unshallow origin`์„ ์ œ์•ˆํ–ˆ๋Š”๋ฐ, ์™„์ „ํ•œ ํด๋ก ์—์„œ๋Š” ์ด ๋ช…๋ น์ด `fatal: --unshallow on a complete repository does not make sense`๋กœ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.3807* **ํด๋ก ์— ์—†๋˜ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ ์ „๋‹ฌํ•œ ๊ฒฝ์šฐ**: Claude Code๋Š” ๋น„๊ตํ•˜๊ธฐ ์ „์— origin์—์„œ ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋ฅผ fetchํ–ˆ์Šต๋‹ˆ๋‹ค. ํžŒํŠธ๋Š” ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``์ž…๋‹ˆ๋‹ค. Claude Code๊ฐ€ ํด๋ก ์ด shallow์ธ์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์—†์œผ๋ฉด ๋Œ€์‹  `git fetch --unshallow origin`์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. v2.1.221 ์ด์ „์—๋Š” fetchํ•œ ๋ชจ๋“  ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•ด ํžŒํŠธ๊ฐ€ `git fetch --unshallow origin`์„ ์ œ์•ˆํ–ˆ์œผ๋ฉฐ, ์™„์ „ํ•œ ํด๋ก ์—์„œ๋Š” ์ด ๋ช…๋ น์ด `fatal: --unshallow on a complete repository does not make sense`๋กœ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

3698 3808 

3699**ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:**3809**ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:**

3700 3810 


5499 5609 

5500* ์•Œ๋ฆผ์ด ๋ช…์‹œํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ›…์˜ `command`์—์„œ ๊ฒฝ๋กœ๋ฅผ ํฐ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์œผ์„ธ์š”. JSON ํŒŒ์ผ์—์„œ๋Š” `"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/check.py\""`์ฒ˜๋Ÿผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.5610* ์•Œ๋ฆผ์ด ๋ช…์‹œํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ›…์˜ `command`์—์„œ ๊ฒฝ๋กœ๋ฅผ ํฐ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์œผ์„ธ์š”. JSON ํŒŒ์ผ์—์„œ๋Š” `"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/check.py\""`์ฒ˜๋Ÿผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

5501 5611 

5612<h3 id="instruction-file-not-loaded">

5613 ์ง€์นจ ํŒŒ์ผ์ด ๋กœ๋“œ๋˜์ง€ ์•Š์Œ

5614</h3>

5615 

5616๋Œ€ํ™”ํ˜• ์„ธ์…˜์˜ ๋Œ€ํ™” ๋ณด๊ธฐ์— ๋‚˜ํƒ€๋‚˜๋Š” ์ด ์•Œ๋ฆผ์€ ์กด์žฌํ•˜๋Š” [๋ฉ”๋ชจ๋ฆฌ ํŒŒ์ผ](/docs/ko/memory#how-claude-md-files-load)์ด ๋กœ๋“œ๋˜์ง€ ์•Š์•˜๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์ฝ๊ธฐ ์ œํ•œ์ด ์ ์šฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

5617 

5618```text theme={null}

5619Instruction file not loaded (a Read deny rule covers it):

5620path: .claude/rules/shared.md

5621```

5622 

5623๊ด„ํ˜ธ ์•ˆ์˜ ๋‚ด์šฉ์€ ์ด์œ ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

5624 

5625* **`a Read deny rule covers it`**: `Read` [๊ฑฐ๋ถ€ ๊ทœ์น™](/docs/ko/permissions#read-and-edit)์ด ์ž‘์„ฑ๋œ ๊ทธ๋Œ€๋กœ์˜ ํŒŒ์ผ ๊ฒฝ๋กœ ๋˜๋Š” ํ•ด๋‹น ํŒŒ์ผ์˜ ๋งํฌ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์œ„์น˜์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค

5626* **`it's read from outside your working directories, where reads are blocked`**: [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)๊ฐ€ ์ผœ์ ธ ์žˆ๋Š” ๋™์•ˆ ํŒŒ์ผ์ด [์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ](/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories) ์™ธ๋ถ€๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค

5627* **`where it leads couldn't be worked out`**: ์˜ˆ๋ฅผ ๋“ค์–ด ํŒŒ์ผ์ด ์ง์ ‘ ๋˜๋Š” ๋‹ค๋ฅธ ๋งํฌ๋ฅผ ํ†ตํ•ด ์ž๊ธฐ ์ž์‹ ์„ ๋‹ค์‹œ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋งํฌ์ธ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค

5628 

5629Claude๊ฐ€ ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ํŒŒ์ผ๋กœ ์ž‘์—…ํ•  ๋•Œ ํ•ด๋‹น ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ž์ฒด์˜ ๋ฉ”๋ชจ๋ฆฌ ํŒŒ์ผ์„ ๋กœ๋“œํ•  ์ˆ˜ ์—†์œผ๋ฉด, ํ„ด ์ค‘์— ๊ฐ™์€ ์ค„์ด ๋Œ€ํ™”์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์ค„์— ๋ช…์‹œ๋œ ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ํŒŒ์ผ์ด ๋ณด๋ฅ˜๋˜๋ฉด ๋งˆ์ง€๋ง‰ ์ค„์— `and 3 more instruction files not loaded`์ฒ˜๋Ÿผ ๋‚˜๋จธ์ง€ ๊ฐœ์ˆ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

5630 

5631**ํ•  ์ผ:**

5632 

5633* ์ œํ•œ์ด ์˜๋„๋œ ๊ฒƒ์ด๋ผ๋ฉด ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์€ ํ•ด๋‹น ํŒŒ์ผ์˜ ์ง€์นจ ์—†์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

5634* `a Read deny rule covers it` ๋•Œ๋ฌธ์— ๋ณด๋ฅ˜๋œ ํŒŒ์ผ์„ ๋กœ๋“œํ•˜๋ ค๋ฉด [ํ•ด๋‹น ๊ทœ์น™์„ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ๋ฒ”์œ„๋ฅผ ์ขํžˆ์„ธ์š”](/docs/ko/permissions#manage-permissions). ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ƒˆ ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜์„ธ์š”.

5635* `it's read from outside your working directories, where reads are blocked` ๋•Œ๋ฌธ์— ๋ณด๋ฅ˜๋œ ํŒŒ์ผ์„ ๋กœ๋“œํ•˜๋ ค๋ฉด ํŒŒ์ผ ๋˜๋Š” ๋งํฌ ๋Œ€์ƒ์„ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์œผ๋กœ ์˜ฎ๊ธฐ์„ธ์š”. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ƒˆ ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜์„ธ์š”.

5636* `where it leads couldn't be worked out` ๋•Œ๋ฌธ์— ๋ณด๋ฅ˜๋œ ํŒŒ์ผ์„ ๋กœ๋“œํ•˜๋ ค๋ฉด ํŒŒ์ผ์ด ์ž๊ธฐ ์ž์‹ ์„ ๋‹ค์‹œ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋งํฌ์ธ์ง€ ํ™•์ธํ•˜์„ธ์š”. ๊ทธ๋ ‡๋‹ค๋ฉด ๋งํฌ๊ฐ€ ์กด์žฌํ•˜๋Š” ํŒŒ์ผ์„ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ•˜๊ฑฐ๋‚˜ ๊ทธ ์ž๋ฆฌ์— ์ผ๋ฐ˜ ํŒŒ์ผ์„ ๋‘์„ธ์š”. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ƒˆ ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜์„ธ์š”.

5637 

5638v2.1.292 ์ด์ „์—๋Š” ์•Œ๋ฆผ์ด ๊ฐ™์€ ์ค„์—์„œ ์ด์œ  ๋’ค ๋๋ถ€๋ถ„์— ํŒŒ์ผ์„ ๋ช…์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

5639 

5502<h3 id="a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved">5640<h3 id="a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved">

5503 ์Šคํ‚ฌ, ๋ช…๋ น ๋˜๋Š” ์›Œํฌํ”Œ๋กœ๊ฐ€ ๋กœ๋“œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค(์ด๋ฆ„์ด ์˜ˆ์•ฝ๋จ)5641 ์Šคํ‚ฌ, ๋ช…๋ น ๋˜๋Š” ์›Œํฌํ”Œ๋กœ๊ฐ€ ๋กœ๋“œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค(์ด๋ฆ„์ด ์˜ˆ์•ฝ๋จ)

5504</h3>5642</h3>


5683 5821 

5684v2.1.257 ์ด์ „์—๋Š” `/mcp`์˜ **Reconnect** ๋ฐ ๋‹ค์‹œ ํ™œ์„ฑํ™”๋กœ ์„ธ์…˜ ์ค‘ ์ •์ฑ… ์—…๋ฐ์ดํŠธ๊ฐ€ ์ฐจ๋‹จํ•œ ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.5822v2.1.257 ์ด์ „์—๋Š” `/mcp`์˜ **Reconnect** ๋ฐ ๋‹ค์‹œ ํ™œ์„ฑํ™”๋กœ ์„ธ์…˜ ์ค‘ ์ •์ฑ… ์—…๋ฐ์ดํŠธ๊ฐ€ ์ฐจ๋‹จํ•œ ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

5685 5823 

5824<h3 id="mcp-server-name-is-reserved">

5825 MCP ์„œ๋ฒ„ ์ด๋ฆ„์ด ์˜ˆ์•ฝ๋จ

5826</h3>

5827 

5828์ด ๋ฉ”์‹œ์ง€๋Š” MCP ์„œ๋ฒ„ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ช…์‹œํ•˜๋ฉฐ, ํ•ด๋‹น ์„œ๋ฒ„์˜ ์ด๋ฆ„์€ ๊ธฐ๋ณธ ์ œ๊ณต ์„œ๋ฒ„์˜ ์ด๋ฆ„์ฒ˜๋Ÿผ Claude Code๊ฐ€ ์˜ˆ์•ฝํ•œ ์ด๋ฆ„ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค:

5829 

5830```text theme={null}

5831"workspace" is a reserved MCP server name and was not loaded

5832```

5833 

5834**ํ•  ์ผ:**

5835 

5836* ์„œ๋ฒ„๋ฅผ ์ •์˜ํ•œ ๊ณณ์—์„œ ์„œ๋ฒ„ ์ด๋ฆ„์„ ๋ฐ”๊พธ์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด `workspace`๋ฅผ `my-workspace`๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

5837* ํ”ผํ•ด์•ผ ํ•  ๋‹ค๋ฅธ ์˜ˆ์•ฝ๋œ ์ด๋ฆ„์€ [MCP ๊ตฌ์„ฑ ๊ฒฝ๊ณ ](/docs/ko/mcp#configuration-warnings)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

5838 

5686<h3 id="managed-settings-document-could-not-be-parsed">5839<h3 id="managed-settings-document-could-not-be-parsed">

5687 ๊ด€๋ฆฌํ˜• ์„ค์ • ๋ฌธ์„œ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•  ์ˆ˜ ์—†์Œ5840 ๊ด€๋ฆฌํ˜• ์„ค์ • ๋ฌธ์„œ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•  ์ˆ˜ ์—†์Œ

5688</h3>5841</h3>


5737 5890 

5738v2.1.285 ์ด์ „์—๋Š” claude.ai ๋˜๋Š” Claude Console ์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ ๋กœ๊ทธ์ธํ•œ ์„ธ์…˜๋งŒ ์ด ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์ข…๋ฃŒ๋˜์—ˆ์œผ๋ฉฐ, ์šด์˜ ์ฒด์ œ๊ฐ€ ๊ฑฐ๋ถ€ํ•œ ์ฝ๊ธฐ๋„ ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐœ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.5891v2.1.285 ์ด์ „์—๋Š” claude.ai ๋˜๋Š” Claude Console ์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ ๋กœ๊ทธ์ธํ•œ ์„ธ์…˜๋งŒ ์ด ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์ข…๋ฃŒ๋˜์—ˆ์œผ๋ฉฐ, ์šด์˜ ์ฒด์ œ๊ฐ€ ๊ฑฐ๋ถ€ํ•œ ์ฝ๊ธฐ๋„ ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐœ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

5739 5892 

5893<h3 id="managed-settings-hooks-not-loaded">

5894 Managed settings contain invalid entries, including PreToolUse/PermissionRequest hooks that are NOT loaded

5895</h3>

5896 

5897`-p` ์‹คํ–‰์—์„œ ์ถœ๋ ฅ๋˜๋Š” ์ด stderr ๋ธ”๋ก์€ [๊ด€๋ฆฌํ˜• ์„ค์ •](/docs/ko/managed-settings) ์†Œ์Šค์— Claude Code๊ฐ€ ๋กœ๋“œํ•  ์ˆ˜ ์—†๋Š” ํ›… ํ•ญ๋ชฉ์ด ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ํ›…์€ ์‹คํ–‰๋˜์ง€ ์•Š์œผ๋ฉฐ, ์–ด๋–ค ์ค„์—์„œ ์†Œ์Šค์˜ `hooks` ํ•„๋“œ๊ฐ€ ๋ฌด์‹œ๋œ ๊ฒƒ์œผ๋กœ ๋‚˜์—ด๋˜๋ฉด ํ•ด๋‹น ์†Œ์Šค์˜ ํ›…์€ ํ•˜๋‚˜๋„ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

5898 

5899๊ฐ ์ค„์€ ์†Œ์Šค, ํ•„๋“œ(์žˆ๋Š” ๊ฒฝ์šฐ), ๊ทธ๋ฆฌ๊ณ  ์•Œ ์ˆ˜ ์—†๋Š” ํ›… `type`์ด๋‚˜ `hooks` ํ‚ค ์™ธ๋ถ€์— ์„ ์–ธ๋œ ํ›… ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค:

5900 

5901```text theme={null}

5902Managed settings contain invalid entries, including PreToolUse/PermissionRequest hooks that are NOT loaded; fix or remove each entry:

5903 <source> (<field>): <message>

5904```

5905 

5906**ํ•  ์ผ:**

5907 

5908* ์†Œ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ ๋ธ”๋ก์— ๋‚˜์—ด๋œ ๊ฐ ํ•ญ๋ชฉ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜์„ธ์š”. [ํ›… ๊ตฌ์„ฑ](/docs/ko/hooks#configuration)์—์„œ Claude Code๊ฐ€ `hooks` ์•„๋ž˜์— ๊ธฐ๋Œ€ํ•˜๋Š” ํ˜•ํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5909* ์ค„์˜ ์†Œ์Šค๊ฐ€ `parent managed settings`์ด๋ฉด Claude Code๋ฅผ ์‹คํ–‰ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ•ด๋‹น ํ•ญ๋ชฉ์„ [์ƒ์œ„ ์„ค์ •](/docs/ko/managed-settings#parent-settings-from-embedding-hosts)์œผ๋กœ ์ „๋‹ฌํ•œ ๊ฒƒ์ด๋ฏ€๋กœ, ํ•ด๋‹น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ณด๊ณ ํ•˜์„ธ์š”.

5910* ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ ๋ธ”๋ก์„ ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋ณด๋‚ด์„ธ์š”.

5911 

5912v2.1.300 ์ด์ „์—๋Š” `-p` ์‹คํ–‰์—์„œ ์ด ๊ฒฝ์šฐ๊ฐ€ `Managed settings failed to load; policies from the failed source are NOT in effect:` ํ—ค๋” ์•„๋ž˜์— ๋‚˜์—ด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

5913 

5740<h3 id="otelheadershelper-failed">5914<h3 id="otelheadershelper-failed">

5741 otelHeadersHelper ์‹คํŒจ5915 otelHeadersHelper ์‹คํŒจ

5742</h3>5916</h3>


5955 6129 

5956v2.1.233 ์ด์ „์—๋Š” Claude Code๊ฐ€ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ชจ๋ธ ID๋กœ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ์ค„์„ ๊ธฐ๋กํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.6130v2.1.233 ์ด์ „์—๋Š” Claude Code๊ฐ€ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ชจ๋ธ ID๋กœ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ์ค„์„ ๊ธฐ๋กํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

5957 6131 

6132<h3 id="sandbox-allow-entries-are-ignored-under-a-managed-lock">

6133 ๊ด€๋ฆฌํ˜• ์ž ๊ธˆ์—์„œ ์ƒŒ๋“œ๋ฐ•์Šค ํ—ˆ์šฉ ํ•ญ๋ชฉ์ด ๋ฌด์‹œ๋จ

6134</h3>

6135 

6136`/status` ๋ฐ `claude doctor`์˜ ์ด ๊ฒฝ๊ณ ๋Š” ๊ด€๋ฆฌํ˜• ์„ค์ •์ด [`allowManagedReadPathsOnly`](/docs/ko/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) ๋˜๋Š” [`allowManagedDomainsOnly`](/docs/ko/settings-reference#sandbox-network-allowmanageddomainsonly)๋ฅผ ์„ค์ •ํ–ˆ์œผ๋ฏ€๋กœ, ๊ฒฝ๊ณ ๊ฐ€ ๋ช…์‹œํ•œ ํŒŒ์ผ์˜ [`allowRead`](/docs/ko/settings-reference#sandbox-filesystem-allowread) ๋˜๋Š” [`allowedDomains`](/docs/ko/settings-reference#sandbox-network-alloweddomains) ํ•ญ๋ชฉ์ด ์ ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค:

6137 

6138```text wrap theme={null}

6139sandbox.filesystem.allowRead is ignored โ€” managed settings set allowManagedReadPathsOnly, so only allowRead paths from managed settings are honored. The 3 entries in /home/you/.claude/settings.json will NOT apply (see https://code.claude.com/docs/en/settings#sandbox-settings).

6140```

6141 

6142๋„คํŠธ์›Œํฌ ์ž ๊ธˆ์˜ ๊ฒฝ์šฐ ๊ฒฝ๊ณ ๋Š” `sandbox.network.allowedDomains`์™€ `allowManagedDomainsOnly`๋ฅผ ๋ช…์‹œํ•˜๊ณ , `only allowed domains (and WebFetch domain rules) from managed settings are honored`๋ผ๊ณ  ์•Œ๋ฆฝ๋‹ˆ๋‹ค.

6143 

6144**ํ•  ์ผ:**

6145 

6146* ์ด ๊ฒฝ๊ณ ์— ๋Œ€ํ•ด ์กฐ์น˜ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

6147* ํ•ด๋‹น ๊ฒฝ๋กœ๋‚˜ ๋„๋ฉ”์ธ์ด ํ•„์š”ํ•˜๊ณ  ์กฐ์ง์˜ ๊ด€๋ฆฌํ˜• ์„ค์ •์ด ์ž ๊ธˆ์„ ์„ค์ •ํ•œ ๊ฒฝ์šฐ ๊ด€๋ฆฌ์ž์—๊ฒŒ ํ•ด๋‹น ์„ค์ •์— ์ถ”๊ฐ€ํ•˜๋„๋ก ์š”์ฒญํ•˜์„ธ์š”. ๋ช…์‹œ๋œ ํŒŒ์ผ์—์„œ ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•˜๊ธฐ ์ „๊นŒ์ง€ ๊ฒฝ๊ณ ๋Š” ๊ณ„์† ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

6148* ๊ฒฝ๊ณ ๋ฅผ ์—†์• ๋ ค๋ฉด ๋ช…์‹œ๋œ ํŒŒ์ผ์—์„œ ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•˜์„ธ์š”. ํ”„๋กœ์ ํŠธ์˜ `.claude/settings.json`์ฒ˜๋Ÿผ ๊ณต์œ ํ•˜๋Š” ํŒŒ์ผ์˜ ๊ฒฝ์šฐ, ์ž ๊ธˆ์ด ์—†๋Š” ํŒ€์›์„ ์œ„ํ•ด ํ•ญ๋ชฉ์„ ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜๋„๋ก ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6149 

5958<h3 id="stale-sandbox-mask-files-left-by-a-killed-session">6150<h3 id="stale-sandbox-mask-files-left-by-a-killed-session">

5959 ๊ฐ•์ œ ์ข…๋ฃŒ๋œ ์„ธ์…˜์ด ๋‚จ๊ธด ์˜ค๋ž˜๋œ ์ƒŒ๋“œ๋ฐ•์Šค ๋งˆ์Šคํฌ ํŒŒ์ผ6151 ๊ฐ•์ œ ์ข…๋ฃŒ๋œ ์„ธ์…˜์ด ๋‚จ๊ธด ์˜ค๋ž˜๋œ ์ƒŒ๋“œ๋ฐ•์Šค ๋งˆ์Šคํฌ ํŒŒ์ผ

5960</h3>6152</h3>

Details

57 </Step>57 </Step>

58 58 

59 <Step title="Code Review ํ™œ์„ฑํ™”">59 <Step title="Code Review ํ™œ์„ฑํ™”">

60 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)๋กœ ์ด๋™ํ•˜์—ฌ github.com๊ณผ ๋™์ผํ•œ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ GHES ์ €์žฅ์†Œ์— ๋Œ€ํ•ด [Code Review](/docs/ko/code-review#set-up-code-review)๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.60 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)๋กœ ์ด๋™ํ•˜์—ฌ github.com๊ณผ ๋™์ผํ•œ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ GHES ์ €์žฅ์†Œ์— ๋Œ€ํ•ด [Code Review](/docs/ko/code-review-setup)๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

61 </Step>61 </Step>

62</Steps>62</Steps>

63 63 

interactive-mode.md +2 โˆ’0

Details

222| `T{char}` | ํ˜„์žฌ ์ค„์—์„œ ์ด์ „ ๋ฌธ์ž ๋ฐœ์ƒ ๋ฐ”๋กœ ๋’ค๋กœ ์ ํ”„ |222| `T{char}` | ํ˜„์žฌ ์ค„์—์„œ ์ด์ „ ๋ฌธ์ž ๋ฐœ์ƒ ๋ฐ”๋กœ ๋’ค๋กœ ์ ํ”„ |

223| `;` | ๋งˆ์ง€๋ง‰ f/F/t/T ๋ชจ์…˜ ๋ฐ˜๋ณต |223| `;` | ๋งˆ์ง€๋ง‰ f/F/t/T ๋ชจ์…˜ ๋ฐ˜๋ณต |

224| `,` | ๋งˆ์ง€๋ง‰ f/F/t/T ๋ชจ์…˜์„ ์—ญ์ˆœ์œผ๋กœ ๋ฐ˜๋ณต |224| `,` | ๋งˆ์ง€๋ง‰ f/F/t/T ๋ชจ์…˜์„ ์—ญ์ˆœ์œผ๋กœ ๋ฐ˜๋ณต |

225| `%` | ์ผ์น˜ํ•˜๋Š” `()`, `[]` ๋˜๋Š” `{}` ๊ด„ํ˜ธ๋กœ ์ ํ”„ํ•ฉ๋‹ˆ๋‹ค. ์ปค์„œ๊ฐ€ ๊ด„ํ˜ธ ์œ„์— ์žˆ์ง€ ์•Š์œผ๋ฉด ํ˜„์žฌ ์ค„์˜ ๋‹ค์Œ ๊ด„ํ˜ธ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. Claude Code v2.1.301 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |

225| `/` | ์—ญ๋ฐฉํ–ฅ ํžˆ์Šคํ† ๋ฆฌ ๊ฒ€์ƒ‰์„ ์—ด๊ธฐ, `Ctrl+R`๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๋นˆ ๊ฒ€์ƒ‰ ํ”„๋กฌํ”„ํŠธ๋Š” ํžŒํŠธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค: `Esc`๋ฅผ ๋ˆ„๋ฅธ ํ›„ `i`๋ฅผ ๋ˆ„๋ฅธ ํ›„ `/`๋ฅผ ๋ˆŒ๋Ÿฌ ๋ช…๋ น์–ด ๋ฉ”๋‰ด๋ฅผ ๋Œ€์‹  ์—ด๊ธฐ |226| `/` | ์—ญ๋ฐฉํ–ฅ ํžˆ์Šคํ† ๋ฆฌ ๊ฒ€์ƒ‰์„ ์—ด๊ธฐ, `Ctrl+R`๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๋นˆ ๊ฒ€์ƒ‰ ํ”„๋กฌํ”„ํŠธ๋Š” ํžŒํŠธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค: `Esc`๋ฅผ ๋ˆ„๋ฅธ ํ›„ `i`๋ฅผ ๋ˆ„๋ฅธ ํ›„ `/`๋ฅผ ๋ˆŒ๋Ÿฌ ๋ช…๋ น์–ด ๋ฉ”๋‰ด๋ฅผ ๋Œ€์‹  ์—ด๊ธฐ |

226 227 

227<Note>228<Note>


243| `dj`/`dk` | ํ˜„์žฌ ์ค„๊ณผ ์•„๋ž˜ ๋˜๋Š” ์œ„์˜ ์ค„ ์‚ญ์ œ |244| `dj`/`dk` | ํ˜„์žฌ ์ค„๊ณผ ์•„๋ž˜ ๋˜๋Š” ์œ„์˜ ์ค„ ์‚ญ์ œ |

244| `dgg`/`dG` | ํ˜„์žฌ ์ค„์—์„œ ์ฒซ ๋ฒˆ์งธ ๋˜๋Š” ๋งˆ์ง€๋ง‰ ์ค„๊นŒ์ง€ ์‚ญ์ œ |245| `dgg`/`dG` | ํ˜„์žฌ ์ค„์—์„œ ์ฒซ ๋ฒˆ์งธ ๋˜๋Š” ๋งˆ์ง€๋ง‰ ์ค„๊นŒ์ง€ ์‚ญ์ œ |

245| `d0`/`c0`/`y0` | ์ปค์„œ์—์„œ ์ค„์˜ ์‹œ์ž‘๊นŒ์ง€ ์‚ญ์ œ, ๋ณ€๊ฒฝ ๋˜๋Š” ์•ผ์•™ํฌํ•ฉ๋‹ˆ๋‹ค. Claude Code v2.1.281 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |246| `d0`/`c0`/`y0` | ์ปค์„œ์—์„œ ์ค„์˜ ์‹œ์ž‘๊นŒ์ง€ ์‚ญ์ œ, ๋ณ€๊ฒฝ ๋˜๋Š” ์•ผ์•™ํฌํ•ฉ๋‹ˆ๋‹ค. Claude Code v2.1.281 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |

247| `d%`/`c%`/`y%` | ์ปค์„œ์—์„œ `%`๊ฐ€ ์ ํ”„ํ•˜๋Š” ๊ด„ํ˜ธ๊นŒ์ง€ ์‚ญ์ œ, ๋ณ€๊ฒฝ ๋˜๋Š” ์–‘ํฌํ•ฉ๋‹ˆ๋‹ค. Claude Code v2.1.301 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค |

246| `cc` | ์ค„ ๋ณ€๊ฒฝ |248| `cc` | ์ค„ ๋ณ€๊ฒฝ |

247| `C` | ์ค„์˜ ๋๊นŒ์ง€ ๋ณ€๊ฒฝ |249| `C` | ์ค„์˜ ๋๊นŒ์ง€ ๋ณ€๊ฒฝ |

248| `cw`/`ce`/`cb` | ๋‹จ์–ด ๋ณ€๊ฒฝ/๋๊นŒ์ง€/๋’ค๋กœ |250| `cw`/`ce`/`cb` | ๋‹จ์–ด ๋ณ€๊ฒฝ/๋๊นŒ์ง€/๋’ค๋กœ |

mcp.md +1 โˆ’1

Details

1632 1632 

1633v2.1.296 ์ด์ „์—๋Š” ๋” ์งง์€ ์ œํ•œ์ด 2,048์ž์˜€์œผ๋ฉฐ, v2.1.295 ์ด์ „์—๋Š” ๋„๊ตฌ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ๋กœ๋“œ๋˜๋Š” ์„ค๋ช…์„ ํฌํ•จํ•œ ๋ชจ๋“  ๋„๊ตฌ ์„ค๋ช…์— ์ด ์ œํ•œ์ด ์ ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.1633v2.1.296 ์ด์ „์—๋Š” ๋” ์งง์€ ์ œํ•œ์ด 2,048์ž์˜€์œผ๋ฉฐ, v2.1.295 ์ด์ „์—๋Š” ๋„๊ตฌ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ๋กœ๋“œ๋˜๋Š” ์„ค๋ช…์„ ํฌํ•จํ•œ ๋ชจ๋“  ๋„๊ตฌ ์„ค๋ช…์— ์ด ์ œํ•œ์ด ์ ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

1634 1634 

1635์„ธ์…˜์˜ ๋ชจ๋“  MCP ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ œํ•œ์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](/docs/ko/env-vars#variables)๋ฅผ ๋ฌธ์ž ์ˆ˜๋กœ ์„ค์ •ํ•˜์„ธ์š”. ์„ค์ •ํ•œ ์ˆซ์ž๋Š” ๋‘ ์ œํ•œ์„ ๋ชจ๋‘ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด `8192`๋Š” ๋” ์งง์€ ์ œํ•œ์„ ๋†’์ด๊ณ  ๋” ๊ธด ์ œํ•œ์„ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค. ์ด ๋ณ€์ˆ˜๋Š” Claude Code v2.1.280 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.1635Anthropic์ด `api.anthropic.com`์—์„œ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ์ผ๋ถ€ MCP ์„œ๋ฒ„์˜ ์„ค๋ช…๊ณผ ์ง€์นจ์€ ์ž˜๋ฆฌ์ง€ ์•Š๊ณ  ์ „์ฒด๊ฐ€ Claude์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์˜ ๋‹ค๋ฅธ MCP ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ œํ•œ์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](/docs/ko/env-vars#variables)๋ฅผ ๋ฌธ์ž ์ˆ˜๋กœ ์„ค์ •ํ•˜์„ธ์š”. ์„ค์ •ํ•œ ์ˆซ์ž๋Š” ๋‘ ์ œํ•œ์„ ๋ชจ๋‘ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด `8192`๋Š” ๋” ์งง์€ ์ œํ•œ์„ ๋†’์ด๊ณ  ๋” ๊ธด ์ œํ•œ์„ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค. ์ด ๋ณ€์ˆ˜๋Š” Claude Code v2.1.280 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

1636 1636 

1637<h4 id="per-tool-alwaysload">1637<h4 id="per-tool-alwaysload">

1638 ๋„๊ตฌ๋ฅผ ๋ฏธ๋ฆฌ ๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ์—ฐ๊ธฐ๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋„๋ก ํ‘œ์‹œ1638 ๋„๊ตฌ๋ฅผ ๋ฏธ๋ฆฌ ๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ์—ฐ๊ธฐ๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋„๋ก ํ‘œ์‹œ

mcp-quickstart.md +2 โˆ’0

Details

378 ```powershell theme={null}378 ```powershell theme={null}

379 $env:MCP_TIMEOUT = "60000"; claude379 $env:MCP_TIMEOUT = "60000"; claude

380 ```380 ```

381 

382 v2.1.299 ์ด์ „์—๋Š” ์‹คํ–‰ ์ค‘์ธ HTTP ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ผ๋ถ€ ์—ฐ๊ฒฐ์ด `MCP_TIMEOUT`๊ณผ ๊ด€๊ณ„์—†์ด ์‹œ์ž‘ ์‹œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฒ„์ „ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ œํ•œ์„ ๋Š˜๋ฆฐ ํ›„์—๋„ ์‹คํ–‰ ์ค‘์ธ HTTP ์„œ๋ฒ„๊ฐ€ ์—ฌ์ „ํžˆ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋˜๋ฉด [Claude Code๋ฅผ ์—…๋ฐ์ดํŠธ](/docs/ko/setup#update-claude-code)ํ•ฉ๋‹ˆ๋‹ค.

381 </Accordion>383 </Accordion>

382 384 

383 <Accordion title="Server already exists">385 <Accordion title="Server already exists">

memory.md +1 โˆ’0

Details

648๋””๋ฒ„๊น…ํ•˜๋ ค๋ฉด:648๋””๋ฒ„๊น…ํ•˜๋ ค๋ฉด:

649 649 

650* `/context`๋ฅผ ์‹คํ–‰ํ•˜๊ณ  **Memory files** ์•„๋ž˜์˜ ๋ชฉ๋ก์„ ํ™•์ธํ•˜์—ฌ ์‹œ์ž‘ ์‹œ ๋กœ๋“œ๋˜์–ด์•ผ ํ•˜๋Š” CLAUDE.md ๋ฐ CLAUDE.local.md ํŒŒ์ผ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์ด ์—ฌ๊ธฐ์— ์—†์œผ๋ฉด Claude๊ฐ€ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. `/memory`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ์—ด๊ณ  ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค.650* `/context`๋ฅผ ์‹คํ–‰ํ•˜๊ณ  **Memory files** ์•„๋ž˜์˜ ๋ชฉ๋ก์„ ํ™•์ธํ•˜์—ฌ ์‹œ์ž‘ ์‹œ ๋กœ๋“œ๋˜์–ด์•ผ ํ•˜๋Š” CLAUDE.md ๋ฐ CLAUDE.local.md ํŒŒ์ผ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์ด ์—ฌ๊ธฐ์— ์—†์œผ๋ฉด Claude๊ฐ€ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. `/memory`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ์—ด๊ณ  ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค.

651* `Instruction file not loaded` ์•Œ๋ฆผ์ด ํ‘œ์‹œ๋˜๋ฉด [๊ทธ ์˜๋ฏธ์™€ ๋Œ€์ฒ˜ ๋ฐฉ๋ฒ•](/docs/ko/errors#instruction-file-not-loaded)์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

651* ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” `CLAUDE.md`๋Š” ์‹œ์ž‘ ์‹œ๊ฐ€ ์•„๋‹ˆ๋ผ ํ•„์š”ํ•  ๋•Œ ๋กœ๋“œ๋˜๋ฏ€๋กœ **Memory files** ์•„๋ž˜์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋กœ๋“œ๋˜๋ฉด ํ•ด๋‹น ๊ฒฝ๋กœ๊ฐ€ ํฌํ•จ๋œ `Loaded` ์ค„์ด ํ„ฐ๋ฏธ๋„์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ํŒŒ์ผ์„ ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด Claude์—๊ฒŒ ์ž‘์„ฑ์„ ์š”์ฒญํ•˜์ง€ ๋ง๊ณ  ์…ธ์—์„œ ์ง์ ‘ ์ƒ์„ฑํ•œ ๋‹ค์Œ, Claude์—๊ฒŒ ํ•ด๋‹น ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ํŒŒ์ผ์„ ์ฝ๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.652* ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” `CLAUDE.md`๋Š” ์‹œ์ž‘ ์‹œ๊ฐ€ ์•„๋‹ˆ๋ผ ํ•„์š”ํ•  ๋•Œ ๋กœ๋“œ๋˜๋ฏ€๋กœ **Memory files** ์•„๋ž˜์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋กœ๋“œ๋˜๋ฉด ํ•ด๋‹น ๊ฒฝ๋กœ๊ฐ€ ํฌํ•จ๋œ `Loaded` ์ค„์ด ํ„ฐ๋ฏธ๋„์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ํŒŒ์ผ์„ ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด Claude์—๊ฒŒ ์ž‘์„ฑ์„ ์š”์ฒญํ•˜์ง€ ๋ง๊ณ  ์…ธ์—์„œ ์ง์ ‘ ์ƒ์„ฑํ•œ ๋‹ค์Œ, Claude์—๊ฒŒ ํ•ด๋‹น ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ํŒŒ์ผ์„ ์ฝ๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

652* ๊ด€๋ จ CLAUDE.md๊ฐ€ ์„ธ์…˜์— ๋Œ€ํ•ด ๋กœ๋“œ๋˜๋Š” ์œ„์น˜์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค([CLAUDE.md ํŒŒ์ผ์„ ์–ด๋””์— ๋ฐฐ์น˜ํ• ์ง€ ์„ ํƒ](#choose-where-to-put-claude-md-files) ์ฐธ์กฐ).653* ๊ด€๋ จ CLAUDE.md๊ฐ€ ์„ธ์…˜์— ๋Œ€ํ•ด ๋กœ๋“œ๋˜๋Š” ์œ„์น˜์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค([CLAUDE.md ํŒŒ์ผ์„ ์–ด๋””์— ๋ฐฐ์น˜ํ• ์ง€ ์„ ํƒ](#choose-where-to-put-claude-md-files) ์ฐธ์กฐ).

653* ์ง€์‹œ์‚ฌํ•ญ์„ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. "2์นธ ๋“ค์—ฌ์“ฐ๊ธฐ ์‚ฌ์šฉ"์ด "์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ํฌ๋งทํŒ…"๋ณด๋‹ค ๋” ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.654* ์ง€์‹œ์‚ฌํ•ญ์„ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. "2์นธ ๋“ค์—ฌ์“ฐ๊ธฐ ์‚ฌ์šฉ"์ด "์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ํฌ๋งทํŒ…"๋ณด๋‹ค ๋” ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

model-config.md +20 โˆ’0

Details

895 ๊ฒŒ์ดํŠธ์›จ์ด ๋˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๋ชจ๋ธ ID์˜ ์œˆ๋„์šฐ ์ˆ˜์ •895 ๊ฒŒ์ดํŠธ์›จ์ด ๋˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๋ชจ๋ธ ID์˜ ์œˆ๋„์šฐ ์ˆ˜์ •

896</h3>896</h3>

897 897 

898๋‹ค์Œ ์‹œ์ž‘ ๊ฒฝ๊ณ  ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด Claude Code๊ฐ€ ์„ธ์…˜์˜ ๋ชจ๋ธ ID๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋ฉฐ, ์ด ๊ฒฝ์šฐ Claude Code๋Š” ๋ชจ๋ธ์˜ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ 200K ํ† ํฐ์œผ๋กœ ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

899 

900```text theme={null}

901โš  Model "my-gateway-opus" isn't recognized ยท context assumed to be 200k tokens ยท ...

902Claude Code doesn't recognize the model "my-gateway-opus", so it assumes a context window of 200k tokens. Update Claude Code, or see https://code.claude.com/docs/en/model-config#correct-the-window-for-a-gateway-or-custom-model-id to set the window.

903```

904 

905Claude Code๋Š” ๊ฐ€์ •๋œ 200K์—์„œ ๋Œ€ํ™”๋ฅผ [์ž๋™ ์••์ถ•](#default-auto-compact-thresholds)ํ•˜๋ฏ€๋กœ, ๋ชจ๋ธ์˜ ์‹ค์ œ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๊ฐ€ 200K๋ผ๋ฉด ์ˆ˜์ •ํ•  ๊ฒƒ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋‹ค์Œ ๋ฐฉ๋ฒ• ์ค‘ ID์— ๋งž๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ Claude Code์— ์‹ค์ œ ์œˆ๋„์šฐ๋ฅผ ์•Œ๋ ค ์ฃผ์‹ญ์‹œ์˜ค.

906 

907* **์‚ฌ์šฉ ์ค‘์ธ Claude Code ๋ฒ„์ „๋ณด๋‹ค ์ƒˆ๋กœ์šด ๋ชจ๋ธ**: ์…ธ์—์„œ `claude update`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ ํ›„ Claude Code๊ฐ€ ID๋ฅผ ์ธ์‹ํ•˜๋ฉด ๋‹ค๋ฅธ ๊ตฌ์„ฑ์€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

908* **Claude Code๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๋ชจ๋ธ์— ๋Œ€ํ•œ ๊ฒŒ์ดํŠธ์›จ์ด ๋˜๋Š” ๊ณต๊ธ‰์ž์˜ ์ด๋ฆ„**: Anthropic ๋ชจ๋ธ ID๋ฅผ ์‚ฌ์šฉ์ž์˜ ID์— ๋งคํ•‘ํ•˜๋Š” [`modelOverrides`](#override-model-ids-per-version) ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: `"claude-opus-4-8": "my-gateway-opus"`). ๋Œ€์‹  `behavesAs`๋ฅผ ํ•ด๋‹น ๋ชจ๋ธ๋กœ ์„ค์ •ํ•œ [`modelPicker`](/docs/ko/settings-reference#fields-for-modelpicker) ํ–‰์— ID๋ฅผ ๋‚˜์—ดํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋А ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋“  Claude Code๋Š” ํ•ด๋‹น ID๋ฅผ ๊ทธ ๋ชจ๋ธ๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.

909* **1M ์œˆ๋„์šฐ๊ฐ€ ์žˆ๋Š” ๋ชจ๋ธ**: ๋ชจ๋ธ์„ ์„ค์ •ํ•˜๋Š” ์œ„์น˜์—์„œ ID์— `[1m]`์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ์…ธ์—์„œ `claude --model 'my-gateway-opus[1m]'`). [1M ์ปจํ…์ŠคํŠธ๋ฅผ ๋ˆ](#turn-off-1m-context) ๊ฒฝ์šฐ์—๋Š” ์ ‘๋ฏธ์‚ฌ ์œ ๋ฌด์™€ ๊ด€๊ณ„์—†์ด ๋™์ผํ•œ ์œˆ๋„์šฐ๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

910* **๊ธฐํƒ€ ์œˆ๋„์šฐ**: Claude Code๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/ko/env-vars)๋ฅผ ํ† ํฐ ๋‹จ์œ„์˜ ์œˆ๋„์šฐ ํฌ๊ธฐ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: `CLAUDE_CODE_MAX_CONTEXT_TOKENS=400000`). `claude-`๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๊ณ  `[1m]` ์ ‘๋ฏธ์‚ฌ๊ฐ€ ์—†๋Š” ์ธ์‹๋˜์ง€ ์•Š์€ ID์˜ ๊ฒฝ์šฐ ์ด ๋ณ€์ˆ˜๋Š” ๋‹จ๋…์œผ๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ์™ธ์˜ ID์˜ ๊ฒฝ์šฐ ๋จผ์ € [์ ์šฉ๋˜๋Š” ID](#which-ids-claude_code_max_context_tokens-applies-to)๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

911 

912Claude Code๊ฐ€ ID๋ฅผ ์ธ์‹ํ•˜๊ฑฐ๋‚˜ ์ง€์ •ํ•œ ์œˆ๋„์šฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด, ํ•ด๋‹น ID๋กœ ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ๋•Œ ๋” ์ด์ƒ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

913 

914<h4 id="which-ids-claude_code_max_context_tokens-applies-to">

915 `CLAUDE_CODE_MAX_CONTEXT_TOKENS`๊ฐ€ ์ ์šฉ๋˜๋Š” ID

916</h4>

917 

898[LLM ๊ฒŒ์ดํŠธ์›จ์ด](/docs/ko/llm-gateway) ๋˜๋Š” ๊ธฐํƒ€ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐฐํฌ์—์„œ Claude Code๋Š” ๋ชจ๋ธ ID๊ฐ€ ๋ชจ๋ธ์˜ ์‹ค์ œ ์œˆ๋„์šฐ์™€ ๋‹ค๋ฅธ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋ฅผ ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(ID๊ฐ€ Claude ๋ชจ๋ธ๋กœ ํ™•์ธ๋˜๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด). [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/ko/env-vars)๋ฅผ Claude Code๊ฐ€ ๋Œ€์‹  ๊ฐ€์ •ํ•ด์•ผ ํ•˜๋Š” ์œˆ๋„์šฐ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.918[LLM ๊ฒŒ์ดํŠธ์›จ์ด](/docs/ko/llm-gateway) ๋˜๋Š” ๊ธฐํƒ€ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐฐํฌ์—์„œ Claude Code๋Š” ๋ชจ๋ธ ID๊ฐ€ ๋ชจ๋ธ์˜ ์‹ค์ œ ์œˆ๋„์šฐ์™€ ๋‹ค๋ฅธ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋ฅผ ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(ID๊ฐ€ Claude ๋ชจ๋ธ๋กœ ํ™•์ธ๋˜๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด). [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/ko/env-vars)๋ฅผ Claude Code๊ฐ€ ๋Œ€์‹  ๊ฐ€์ •ํ•ด์•ผ ํ•˜๋Š” ์œˆ๋„์šฐ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

899 919 

900๋ณ€์ˆ˜๊ฐ€ ์ ์šฉ๋˜๋Š” ๋ฐฉ์‹์€ ID์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. Claude Code๋Š” ID๊ฐ€ `claude-`๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š์„ ๋•Œ(๋Œ€์†Œ๋ฌธ์ž ๊ด€๊ณ„์—†์ด) ๋˜๋Š” Google Cloud์˜ Agent Platform์—์„œ ์‚ฌ์šฉ๋˜๋Š” `@YYYYMMDD` ๋‚ ์งœ์™€ ๊ฐ™์ด Claude Code๊ฐ€ ID๋ฅผ ์ฝ์„ ๋•Œ ์ œ๊ฑฐํ•˜๋Š” ์ ‘๋ฏธ์‚ฌ๋ฅผ ๊ฐ€์งˆ ๋•Œ ID๋ฅผ ๊ณต๊ธ‰์ž ๋˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ์ฒ ์ž๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. v2.1.259 ์ด์ „์—๋Š” Claude Code๊ฐ€ ์ œ๊ฑฐ๋œ ์ ‘๋ฏธ์‚ฌ๋ฅผ ๊ณ„์‚ฐํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ๋‚ ์งœ ์ ‘๋ฏธ์‚ฌ๊ฐ€ ์žˆ๋Š” ์ธ์‹๋˜์ง€ ์•Š์€ `claude-` ID๋Š” ๋ฒ ์–ด `claude-` ์ด๋ฆ„์œผ๋กœ ์ทจ๊ธ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.920๋ณ€์ˆ˜๊ฐ€ ์ ์šฉ๋˜๋Š” ๋ฐฉ์‹์€ ID์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. Claude Code๋Š” ID๊ฐ€ `claude-`๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š์„ ๋•Œ(๋Œ€์†Œ๋ฌธ์ž ๊ด€๊ณ„์—†์ด) ๋˜๋Š” Google Cloud์˜ Agent Platform์—์„œ ์‚ฌ์šฉ๋˜๋Š” `@YYYYMMDD` ๋‚ ์งœ์™€ ๊ฐ™์ด Claude Code๊ฐ€ ID๋ฅผ ์ฝ์„ ๋•Œ ์ œ๊ฑฐํ•˜๋Š” ์ ‘๋ฏธ์‚ฌ๋ฅผ ๊ฐ€์งˆ ๋•Œ ID๋ฅผ ๊ณต๊ธ‰์ž ๋˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ์ฒ ์ž๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. v2.1.259 ์ด์ „์—๋Š” Claude Code๊ฐ€ ์ œ๊ฑฐ๋œ ์ ‘๋ฏธ์‚ฌ๋ฅผ ๊ณ„์‚ฐํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ๋‚ ์งœ ์ ‘๋ฏธ์‚ฌ๊ฐ€ ์žˆ๋Š” ์ธ์‹๋˜์ง€ ์•Š์€ `claude-` ID๋Š” ๋ฒ ์–ด `claude-` ์ด๋ฆ„์œผ๋กœ ์ทจ๊ธ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

monitoring-usage.md +5 โˆ’1

Details

6 6 

7> Claude Code์— ๋Œ€ํ•œ OpenTelemetry๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.7> Claude Code์— ๋Œ€ํ•œ OpenTelemetry๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

8 8 

9OpenTelemetry(OTel)๋ฅผ ํ†ตํ•ด ์›๊ฒฉ ์ธก์ • ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋‚ด ์กฐ์ง ์ „์ฒด์—์„œ Claude Code ์‚ฌ์šฉ, ๋น„์šฉ ๋ฐ ๋„๊ตฌ ํ™œ๋™์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ํ‘œ์ค€ ๋ฉ”ํŠธ๋ฆญ ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ๋ฉ”ํŠธ๋ฆญ์„ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋กœ ๋‚ด๋ณด๋‚ด๊ณ , ๋กœ๊ทธ/์ด๋ฒคํŠธ ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ด๋ฒคํŠธ๋ฅผ ๋‚ด๋ณด๋‚ด๋ฉฐ, ์„ ํƒ์ ์œผ๋กœ [์ถ”์  ํ”„๋กœํ† ์ฝœ](#traces-beta)์„ ํ†ตํ•ด ๋ถ„์‚ฐ ์ถ”์ ์„ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.9OpenTelemetry(OTel)๋ฅผ ํ†ตํ•ด ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋‚ด ์กฐ์ง ์ „์ฒด์—์„œ Claude Code ์‚ฌ์šฉ, ๋น„์šฉ ๋ฐ ๋„๊ตฌ ํ™œ๋™์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ํ‘œ์ค€ ๋ฉ”ํŠธ๋ฆญ ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ๋ฉ”ํŠธ๋ฆญ์„ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋กœ ๋‚ด๋ณด๋‚ด๊ณ , ๋กœ๊ทธ/์ด๋ฒคํŠธ ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ด๋ฒคํŠธ๋ฅผ ๋‚ด๋ณด๋‚ด๋ฉฐ, ์„ ํƒ์ ์œผ๋กœ [OpenTelemetry๋ฅผ ํ†ตํ•œ ๋ถ„์‚ฐ ์ถ”์ ](#traces-beta)์„ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

10 

11<Note>

12 Claude API ๋˜๋Š” Managed Agents์˜ ๊ฒฝ์šฐ [Claude API์šฉ OpenTelemetry](https://platform.claude.com/docs/en/manage-claude/opentelemetry)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

13</Note>

10 14 

11<h2 id="quick-start">15<h2 id="quick-start">

12 ๋น ๋ฅธ ์‹œ์ž‘16 ๋น ๋ฅธ ์‹œ์ž‘

Details

48* **์ปค๋ฎค๋‹ˆํ‹ฐ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ด๋ฆ„**: `claude-community`, `claude-plugins-community`, `healthcare`. ๊ณต์‹ ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ๊ทœ์น™ ์•„๋ž˜ ์˜ˆ์•ฝ๋จ.48* **์ปค๋ฎค๋‹ˆํ‹ฐ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ด๋ฆ„**: `claude-community`, `claude-plugins-community`, `healthcare`. ๊ณต์‹ ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ๊ทœ์น™ ์•„๋ž˜ ์˜ˆ์•ฝ๋จ.

49* **ํ”Œ๋Ÿฌ๊ทธ์ธ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„**: `anthropic-plugin-directory`, `claude-plugin-directory`. ๊ณต์‹ ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ๊ทœ์น™ ์•„๋ž˜ ์˜ˆ์•ฝ๋จ.49* **ํ”Œ๋Ÿฌ๊ทธ์ธ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„**: `anthropic-plugin-directory`, `claude-plugin-directory`. ๊ณต์‹ ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ๊ทœ์น™ ์•„๋ž˜ ์˜ˆ์•ฝ๋จ.

50* **๊ณต์‹ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ์‚ฌ์นญํ•˜๋Š” ์ด๋ฆ„**: `official-claude-plugins` ๋˜๋Š” `claude-plugins-v2`์™€ ๊ฐ™์€ ์ด๋ฆ„, ๊ทธ๋ฆฌ๊ณ  ๋น„ASCII ๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜๋Š” ๋ชจ๋“  ์ด๋ฆ„. ์˜ค๋ฅ˜๋Š” `Marketplace name impersonates an official Anthropic/Claude marketplace`์ž…๋‹ˆ๋‹ค. ์ด๋ฆ„์˜ ์ œ์–ด ๋˜๋Š” ์–‘๋ฐฉํ–ฅ ์„œ์‹ ๋ฌธ์ž๋„ `Marketplace name cannot contain control or bidirectional-formatting characters`๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด๋ฆ„์œผ๋กœ ์ด๋ฏธ ๋“ฑ๋ก๋œ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋Š” ํ•ด๋‹น ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ํ•จ๊ป˜ ๋กœ๋“œ๋ฅผ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.50* **๊ณต์‹ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ์‚ฌ์นญํ•˜๋Š” ์ด๋ฆ„**: `official-claude-plugins` ๋˜๋Š” `claude-plugins-v2`์™€ ๊ฐ™์€ ์ด๋ฆ„, ๊ทธ๋ฆฌ๊ณ  ๋น„ASCII ๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜๋Š” ๋ชจ๋“  ์ด๋ฆ„. ์˜ค๋ฅ˜๋Š” `Marketplace name impersonates an official Anthropic/Claude marketplace`์ž…๋‹ˆ๋‹ค. ์ด๋ฆ„์˜ ์ œ์–ด ๋˜๋Š” ์–‘๋ฐฉํ–ฅ ์„œ์‹ ๋ฌธ์ž๋„ `Marketplace name cannot contain control or bidirectional-formatting characters`๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด๋ฆ„์œผ๋กœ ์ด๋ฏธ ๋“ฑ๋ก๋œ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋Š” ํ•ด๋‹น ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ํ•จ๊ป˜ ๋กœ๋“œ๋ฅผ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.

51* <span id="reserved-name-spellings" />**์˜ˆ์•ฝ๋œ ์ด๋ฆ„์˜ ๋‹ค๋ฅธ ์ฒ ์ž**: ์˜ˆ์•ฝ๋œ ์ด๋ฆ„๊ณผ ํ›„ํ–‰ ์ ์œผ๋กœ๋งŒ ๋‹ค๋ฅด๊ฑฐ๋‚˜ ํ•˜์ดํ”ˆ ๋Œ€์‹  ๋‹ค๋ฅธ ๊ธฐํ˜ธ(์–ธ๋”์Šค์ฝ”์–ด ์ œ์™ธ)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„์ด๋ฏ€๋กœ `claude.code.plugins`๋Š” `claude-code-plugins`๋กœ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ถ”๊ฐ€๋Š” [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/ko/errors#marketplace-name-is-another-spelling-of-a-reserved-name)์œผ๋กœ ์‹คํŒจํ•˜๊ณ , ํ•˜๋‚˜ ์•„๋ž˜์— ๋“ฑ๋ก๋œ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋Š” ๋กœ๋“œ๋ฅผ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ™•์ธ์—๋Š” Claude Code v2.1.280 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.51* <span id="reserved-name-spellings" />**์˜ˆ์•ฝ๋œ ์ด๋ฆ„์˜ ๋‹ค๋ฅธ ์ฒ ์ž**: ์˜ˆ์•ฝ๋œ ์ด๋ฆ„๊ณผ ํ›„ํ–‰ ์ ์œผ๋กœ๋งŒ ๋‹ค๋ฅด๊ฑฐ๋‚˜ ํ•˜์ดํ”ˆ ๋Œ€์‹  ๋‹ค๋ฅธ ๊ธฐํ˜ธ(์–ธ๋”์Šค์ฝ”์–ด ์ œ์™ธ)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„์ด๋ฏ€๋กœ `claude.code.plugins`๋Š” `claude-code-plugins`๋กœ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ถ”๊ฐ€๋Š” [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/ko/errors#marketplace-name-is-another-spelling-of-a-reserved-name)์œผ๋กœ ์‹คํŒจํ•˜๊ณ , ์ด๋Ÿฌํ•œ ์ด๋ฆ„์œผ๋กœ ์ด๋ฏธ ๋“ฑ๋ก๋œ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋Š” ๋” ์ด์ƒ ๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ํ™•์ธ์—๋Š” Claude Code v2.1.280 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

52* **Claude Code๊ฐ€ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ ์˜ค์ง€ ์•Š๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์— ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„**: [`--plugin-dir`](/docs/ko/cli-reference)๋กœ ๋กœ๋“œ๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ฒฝ์šฐ `inline`, ๊ธฐ๋ณธ ์ œ๊ณต ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ฒฝ์šฐ `builtin`, [`.claude/skills/`](/docs/ko/skills)์—์„œ ์ž๋™ ๋กœ๋“œ๋˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ฒฝ์šฐ `skills-dir`, claude.ai ๊ณ„์ •์—์„œ ๋™๊ธฐํ™”๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ฒฝ์šฐ `synced`. `claude-plugin-test`๋„ ์˜ˆ์•ฝ๋ฉ๋‹ˆ๋‹ค. `skills-dir`์€ `{"source": "skills-dir"}`๋กœ๋„ `strictKnownMarketplaces` ๋ฐ `blockedMarketplaces`์— ๋‚˜ํƒ€๋‚˜๋ฉฐ, [์†Œ์Šค ๊ฐ’์ด ์ •์ฑ… ๋ชฉ๋ก์—์„œ๋งŒ ์œ ํšจํ•จ](#source-values-valid-only-in-policy-lists)์—์„œ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.52* **Claude Code๊ฐ€ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ ์˜ค์ง€ ์•Š๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์— ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„**: [`--plugin-dir`](/docs/ko/cli-reference)๋กœ ๋กœ๋“œ๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ฒฝ์šฐ `inline`, ๊ธฐ๋ณธ ์ œ๊ณต ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ฒฝ์šฐ `builtin`, [`.claude/skills/`](/docs/ko/skills)์—์„œ ์ž๋™ ๋กœ๋“œ๋˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ฒฝ์šฐ `skills-dir`, claude.ai ๊ณ„์ •์—์„œ ๋™๊ธฐํ™”๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ฒฝ์šฐ `synced`. `claude-plugin-test`๋„ ์˜ˆ์•ฝ๋ฉ๋‹ˆ๋‹ค. `skills-dir`์€ `{"source": "skills-dir"}`๋กœ๋„ `strictKnownMarketplaces` ๋ฐ `blockedMarketplaces`์— ๋‚˜ํƒ€๋‚˜๋ฉฐ, [์†Œ์Šค ๊ฐ’์ด ์ •์ฑ… ๋ชฉ๋ก์—์„œ๋งŒ ์œ ํšจํ•จ](#source-values-valid-only-in-policy-lists)์—์„œ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

53* **`npm`, `pip`, `uv`, `cargo`, `github`, `gh`**: ๋ชจ๋“  ๋Œ€์†Œ๋ฌธ์ž๋กœ ์˜ˆ์•ฝ๋จ. ์ด ํ™•์ธ์—๋Š” Claude Code v2.1.275 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.53* **`npm`, `pip`, `uv`, `cargo`, `github`, `gh`**: ๋ชจ๋“  ๋Œ€์†Œ๋ฌธ์ž๋กœ ์˜ˆ์•ฝ๋จ. ์ด ํ™•์ธ์—๋Š” Claude Code v2.1.275 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

54* **๋ชจ๋“  JavaScript ๊ฐ์ฒด๊ฐ€ ๊ฐ€์ง€๋Š” ๋ฉค๋ฒ„ ์ด๋ฆ„**: `constructor`, `hasOwnProperty`, `isPrototypeOf`, `propertyIsEnumerable`, `toLocaleString`, `toString`, `valueOf`. `claude plugin marketplace add`๋Š” ์ด ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ [`Claude Code reserves this name and cannot register a marketplace under it`](/docs/ko/plugins/troubleshooting#claude-code-reserves-this-name)์œผ๋กœ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ™•์ธ์—๋Š” Claude Code v2.1.296 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.54* **๋ชจ๋“  JavaScript ๊ฐ์ฒด๊ฐ€ ๊ฐ€์ง€๋Š” ๋ฉค๋ฒ„ ์ด๋ฆ„**: `constructor`, `hasOwnProperty`, `isPrototypeOf`, `propertyIsEnumerable`, `toLocaleString`, `toString`, `valueOf`. `claude plugin marketplace add`๋Š” ์ด ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ [`Claude Code reserves this name and cannot register a marketplace under it`](/docs/ko/plugins/troubleshooting#claude-code-reserves-this-name)์œผ๋กœ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ™•์ธ์—๋Š” Claude Code v2.1.296 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

plugins/mods/admin.md +4 โˆ’1

Details

84* **๋„คํŠธ์›Œํฌ ์ •์ฑ…์€ `$.http.fetch`์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.**84* **๋„คํŠธ์›Œํฌ ์ •์ฑ…์€ `$.http.fetch`์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.**

85 85 

86 * **์กฐ์ง ์ •์ฑ…์—์„œ WebFetch๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ**: Claude Code๋Š” ๋ชจ๋“  mod์˜ `$.http.fetch` ์š”์ฒญ๋„ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. [WebFetch ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€](/docs/ko/tools-reference#webfetch-availability)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.86 * **์กฐ์ง ์ •์ฑ…์—์„œ WebFetch๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ**: Claude Code๋Š” ๋ชจ๋“  mod์˜ `$.http.fetch` ์š”์ฒญ๋„ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. [WebFetch ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€](/docs/ko/tools-reference#webfetch-availability)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

87 * **๊ด€๋ฆฌํ˜• ์„ค์ • ๋˜๋Š” ๋‹ค๋ฅธ ์„ค์ • ํŒŒ์ผ์—์„œ [`CLAUDE_CODE_DISABLE_WEB_FETCH`](/docs/ko/env-vars#variables)๋‚˜ `WebFetch` [deny ๊ทœ์น™](/docs/ko/permissions#tool-specific-permission-rules)์œผ๋กœ WebFetch ๋„๊ตฌ๋ฅผ ๋ˆ ๊ฒฝ์šฐ**: mod๋Š” ์—ฌ์ „ํžˆ `$.http.fetch` ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

88 

89 ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์น˜ํ•˜๋Š” ๋ชจ๋“  mod์— ๋Œ€ํ•ด ์ด๋ฅผ ๋ง‰์œผ๋ ค๋ฉด [์‚ฌ์šฉ์ž๊ฐ€ ์„ค์น˜ํ•œ mod๊ฐ€ ๋กœ๋“œ๋˜์ง€ ์•Š๋„๋ก ํ•˜๊ฑฐ๋‚˜](#stop-user-installed-mods-from-loading), [์ •์ฑ… mod](#enforce-a-policy-with-a-mod-of-your-own)์—์„œ `http.fetch`์— ํ›…์„ ๊ฑธ์–ด ์‚ฌ์šฉ์ž์˜ mod์—์„œ ์˜ค๋Š” ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ•˜์‹ญ์‹œ์˜ค. Claude Code๋Š” ์‹คํŒจํ•œ ํ›…์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๊ทธ๋Ÿฌ๋ฉด ์š”์ฒญ์ด ๊ทธ๋Œ€๋กœ ์ง„ํ–‰๋˜๋ฏ€๋กœ, ํ•ด๋‹น ํ›…์— ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ•˜๋Š” [`.catch` ํ•ธ๋“ค๋Ÿฌ](/docs/ko/plugins/mods/events#handle-a-hook-that-fails)๋ฅผ ์ง€์ •ํ•˜์‹ญ์‹œ์˜ค. [์‚ฌ์šฉ์ž๊ฐ€ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ์„ ์ œํ•œ](/docs/ko/plugins/org#restrict-what-users-can-install)ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋กœ๋“œ๋˜๋Š” mod๋Š” ์ค„์–ด๋“ค์ง€๋งŒ, ํ—ˆ์šฉํ•œ mod๋Š” ์—ฌ์ „ํžˆ ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

87 * **[`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ko/env-vars)๋ฅผ ์„ค์ •ํ•œ ๊ฒฝ์šฐ**: ๊ด€๋ฆฌ์ž๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์น˜ํ•œ mod๋Š” ์—ฌ์ „ํžˆ ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ณ€์ˆ˜๋Š” [Claude Code์— ๊ธฐ๋ณธ ์ œ๊ณต๋˜๋Š” mod](/docs/ko/plugins/mods/overview#mods-built-into-claude-code)์™€, ์„ธ์…˜์˜ Anthropic ์ž๊ฒฉ ์ฆ๋ช…์„ ํฌํ•จํ•˜๋Š” `$.http.fetch` ์š”์ฒญ๋งŒ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. v2.1.288 ์ด์ „์—๋Š” ์ด ๋ณ€์ˆ˜๊ฐ€ ๋ชจ๋“  mod์˜ `$.http.fetch` ์š”์ฒญ์„ ์ค‘์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.90 * **[`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ko/env-vars)๋ฅผ ์„ค์ •ํ•œ ๊ฒฝ์šฐ**: ๊ด€๋ฆฌ์ž๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์น˜ํ•œ mod๋Š” ์—ฌ์ „ํžˆ ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ณ€์ˆ˜๋Š” [Claude Code์— ๊ธฐ๋ณธ ์ œ๊ณต๋˜๋Š” mod](/docs/ko/plugins/mods/overview#mods-built-into-claude-code)์™€, ์„ธ์…˜์˜ Anthropic ์ž๊ฒฉ ์ฆ๋ช…์„ ํฌํ•จํ•˜๋Š” `$.http.fetch` ์š”์ฒญ๋งŒ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. v2.1.288 ์ด์ „์—๋Š” ์ด ๋ณ€์ˆ˜๊ฐ€ ๋ชจ๋“  mod์˜ `$.http.fetch` ์š”์ฒญ์„ ์ค‘์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.

88 91 

89 ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘ mod๊ฐ€ `$.process.run`์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์€ ์‚ฌ์šฉ์ž ์ž์‹ ์˜ ์•ก์„ธ์Šค ๊ถŒํ•œ์œผ๋กœ ๋„คํŠธ์›Œํฌ์— ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.92 ์ด ์ค‘ ์–ด๋А ๊ฒƒ๋„ mod๊ฐ€ `$.process.run`์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์€ ์‚ฌ์šฉ์ž ์ž์‹ ์˜ ์•ก์„ธ์Šค ๊ถŒํ•œ์œผ๋กœ ๋„คํŠธ์›Œํฌ์— ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.

90* **ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ์–ด๋Š” mod์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.** mod๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋ฏ€๋กœ `strictKnownMarketplaces`์™€ ๊ฐ™์€ [์‚ฌ์šฉ์ž๊ฐ€ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ์„ ์ œํ•œํ•˜๋Š” ์„ค์ •](/docs/ko/plugins/org#restrict-what-users-can-install)์— ๋”ฐ๋ผ ์„ค์น˜ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๊ฐ€ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.93* **ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ์–ด๋Š” mod์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.** mod๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋ฏ€๋กœ `strictKnownMarketplaces`์™€ ๊ฐ™์€ [์‚ฌ์šฉ์ž๊ฐ€ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ์„ ์ œํ•œํ•˜๋Š” ์„ค์ •](/docs/ko/plugins/org#restrict-what-users-can-install)์— ๋”ฐ๋ผ ์„ค์น˜ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๊ฐ€ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

91* **mod๋Š” ๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.** mod๋Š” Claude Code ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ƒ๋‹น ๋ถ€๋ถ„์˜ ์Šคํƒ€์ผ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ๋Š” ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ, ํ”„๋กฌํ”„ํŠธ์— ํ‘œ์‹œ๋˜๋Š” ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ [๊ธฐ๋ณธ ๋™์ž‘ ์•Œ์•„๋ณด๊ธฐ](#know-what-happens-by-default)์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ, mod๋Š” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ธฐ ์ „์— ๋„๊ตฌ ํ˜ธ์ถœ์„ ์Šน์ธํ•˜๊ฑฐ๋‚˜ ๊ฑฐ๋ถ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.94* **mod๋Š” ๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.** mod๋Š” Claude Code ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ƒ๋‹น ๋ถ€๋ถ„์˜ ์Šคํƒ€์ผ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ๋Š” ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ, ํ”„๋กฌํ”„ํŠธ์— ํ‘œ์‹œ๋˜๋Š” ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ [๊ธฐ๋ณธ ๋™์ž‘ ์•Œ์•„๋ณด๊ธฐ](#know-what-happens-by-default)์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ, mod๋Š” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ธฐ ์ „์— ๋„๊ตฌ ํ˜ธ์ถœ์„ ์Šน์ธํ•˜๊ฑฐ๋‚˜ ๊ฑฐ๋ถ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

92* **์‹ ๋ขฐ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋จผ์ € ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.** ์‚ฌ์šฉ์ž๊ฐ€ ์•„์ง ์‹ ๋ขฐํ•˜์ง€ ์•Š์€ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋Œ€ํ™”ํ˜• ์„ธ์…˜์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์‹ ๋ขฐ ํ”„๋กฌํ”„ํŠธ์— ์‘๋‹ตํ•  ๋•Œ๊นŒ์ง€ ์–ด๋–ค mod๋„ ๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.95* **์‹ ๋ขฐ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋จผ์ € ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.** ์‚ฌ์šฉ์ž๊ฐ€ ์•„์ง ์‹ ๋ขฐํ•˜์ง€ ์•Š์€ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋Œ€ํ™”ํ˜• ์„ธ์…˜์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์‹ ๋ขฐ ํ”„๋กฌํ”„ํŠธ์— ์‘๋‹ตํ•  ๋•Œ๊นŒ์ง€ ์–ด๋–ค mod๋„ ๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

plugins/mods/api.md +2 โˆ’0

Details

234| `$.ui.toast(text)` | mod ์ด๋ฆ„๊ณผ ํ•จ๊ป˜ ํ‘œ์‹œ๋˜๋ฉฐ ๋ช‡ ์ดˆ ํ›„ ์‚ฌ๋ผ์ง€๋Š” ํ† ์ŠคํŠธ ์•Œ๋ฆผ์ž…๋‹ˆ๋‹ค. [์ „์ฒด ํ™”๋ฉด ๋ Œ๋”๋ง](/docs/ko/fullscreen)์—์„œ๋Š” ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์˜ ์ƒ์ž๋กœ, ํด๋ž˜์‹ ๋ Œ๋”๋Ÿฌ์—์„œ๋Š” ํ”„๋กฌํ”„ํŠธ ์•„๋ž˜ ์˜ค๋ฅธ์ชฝ์˜ ํ•œ ์ค„๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. |234| `$.ui.toast(text)` | mod ์ด๋ฆ„๊ณผ ํ•จ๊ป˜ ํ‘œ์‹œ๋˜๋ฉฐ ๋ช‡ ์ดˆ ํ›„ ์‚ฌ๋ผ์ง€๋Š” ํ† ์ŠคํŠธ ์•Œ๋ฆผ์ž…๋‹ˆ๋‹ค. [์ „์ฒด ํ™”๋ฉด ๋ Œ๋”๋ง](/docs/ko/fullscreen)์—์„œ๋Š” ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์˜ ์ƒ์ž๋กœ, ํด๋ž˜์‹ ๋ Œ๋”๋Ÿฌ์—์„œ๋Š” ํ”„๋กฌํ”„ํŠธ ์•„๋ž˜ ์˜ค๋ฅธ์ชฝ์˜ ํ•œ ์ค„๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. |

235| `$.ui.log(text)` | Claude๊ฐ€ ์ฝ์ง€ ์•Š๋Š” ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ์˜ ํ๋ฆฐ ์ค„์ž…๋‹ˆ๋‹ค. `โ— my-mod: build finished`์ฒ˜๋Ÿผ `โ—`์™€ mod ์ด๋ฆ„์œผ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. |235| `$.ui.log(text)` | Claude๊ฐ€ ์ฝ์ง€ ์•Š๋Š” ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ์˜ ํ๋ฆฐ ์ค„์ž…๋‹ˆ๋‹ค. `โ— my-mod: build finished`์ฒ˜๋Ÿผ `โ—`์™€ mod ์ด๋ฆ„์œผ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. |

236 236 

237[VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ](/docs/ko/plugins/mods/interface#draw-in-the-vs-code-extension)์—์„œ๋Š” ์ƒํƒœ์ค„๊ณผ ํ† ์ŠคํŠธ๊ฐ€ ๋Œ€์‹  ํ”„๋กฌํ”„ํŠธ ์ƒ์ž ์œ„์— ํ‘œ์‹œ๋˜๊ณ , ๋กœ๊ทธ ์ค„์€ ๋Œ€ํ™”์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

238 

237<h3 id="start-a-turn-from-a-background-job">239<h3 id="start-a-turn-from-a-background-job">

238 ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์—์„œ ํ„ด ์‹œ์ž‘ํ•˜๊ธฐ240 ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์—์„œ ํ„ด ์‹œ์ž‘ํ•˜๊ธฐ

239</h3>241</h3>

Details

226| `Spinner`, `ToolProgress`, `TurnDuration` | ํ„ด์˜ ์ƒํƒœ์ค„: Claude๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ ์• ๋‹ˆ๋ฉ”์ด์…˜๋˜๋Š” ์ค„, ์‹คํ–‰ ์ค‘์ธ ๋„๊ตฌ์˜ ์‹ค์‹œ๊ฐ„ ์ง„ํ–‰ ์ƒํ™ฉ ์ค„, ํ„ด์„ ๋งˆ๋ฌด๋ฆฌํ•˜๋Š” ์ค„ |226| `Spinner`, `ToolProgress`, `TurnDuration` | ํ„ด์˜ ์ƒํƒœ์ค„: Claude๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ ์• ๋‹ˆ๋ฉ”์ด์…˜๋˜๋Š” ์ค„, ์‹คํ–‰ ์ค‘์ธ ๋„๊ตฌ์˜ ์‹ค์‹œ๊ฐ„ ์ง„ํ–‰ ์ƒํ™ฉ ์ค„, ํ„ด์„ ๋งˆ๋ฌด๋ฆฌํ•˜๋Š” ์ค„ |

227| `InfoNotice`, `SessionMode`, `PromptHint` | ๋กœ๊ณ  ์•„๋ž˜์˜ ์ƒํƒœ์ค„, ํ‘ธํ„ฐ์˜ ๋ชจ๋“œ ๋ ˆ์ด๋ธ”, ํ”„๋กฌํ”„ํŠธ ์•„๋ž˜์˜ ํžŒํŠธ ์ค„ |227| `InfoNotice`, `SessionMode`, `PromptHint` | ๋กœ๊ณ  ์•„๋ž˜์˜ ์ƒํƒœ์ค„, ํ‘ธํ„ฐ์˜ ๋ชจ๋“œ ๋ ˆ์ด๋ธ”, ํ”„๋กฌํ”„ํŠธ ์•„๋ž˜์˜ ํžŒํŠธ ์ค„ |

228 228 

229`Pane`, `AskUserQuestion`, `Spinner`, `UserMessage`, `AssistantMessage` ๋ฐ ๋„๊ตฌ ํ˜ธ์ถœ ์ง€์ ์€ ํ„ฐ๋ฏธ๋„, Desktop ์•ฑ, VS Code ํ™•์žฅ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ๊ฐ ์ง€์ ์ด ๋ฐœ์ƒํ•˜๋Š” ์œ„์น˜๋Š” [๋ Œ๋”๋ง ์ง€์  ํ‘œ](/docs/ko/plugins/mods/reference#render-sites)์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

230 

229Claude Code๊ฐ€ ์ด๋ฏธ ๊ทธ๋ฆฌ๋Š” ์ง€์ ์—์„œ ํ›…์€ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜, ๊ทธ๋ฆฌ๊ธฐ๋ฅผ ๋Œ€์ฒดํ•˜๊ฑฐ๋‚˜, ๊ทธ๋Œ€๋กœ ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํƒญ์„ ์„ ํƒํ•˜์—ฌ ๊ฐ ๋ฐฉ์‹์„ ์Šคํ”ผ๋„ˆ์— ์ ์šฉํ•œ ์˜ˆ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ์˜ˆ์ œ๋Š” [ํŠœํ† ๋ฆฌ์–ผ mod](/docs/ko/plugins/mods/create#write-a-mod-yourself)์—์„œ์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ํ›…์ด ์„ธ๋Š” `calls` ๋ณ€์ˆ˜๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค.231Claude Code๊ฐ€ ์ด๋ฏธ ๊ทธ๋ฆฌ๋Š” ์ง€์ ์—์„œ ํ›…์€ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜, ๊ทธ๋ฆฌ๊ธฐ๋ฅผ ๋Œ€์ฒดํ•˜๊ฑฐ๋‚˜, ๊ทธ๋Œ€๋กœ ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํƒญ์„ ์„ ํƒํ•˜์—ฌ ๊ฐ ๋ฐฉ์‹์„ ์Šคํ”ผ๋„ˆ์— ์ ์šฉํ•œ ์˜ˆ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ์˜ˆ์ œ๋Š” [ํŠœํ† ๋ฆฌ์–ผ mod](/docs/ko/plugins/mods/create#write-a-mod-yourself)์—์„œ์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ํ›…์ด ์„ธ๋Š” `calls` ๋ณ€์ˆ˜๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค.

230 232 

231<Tabs>233<Tabs>


297 299 

298๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ๋Š” ๋ Œ๋”๋ง ์ง€์ ์ด ์•„๋‹ˆ๋ฏ€๋กœ mod๊ฐ€ ํ‘œ์‹œ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์งˆ๋ฌธ ๋Œ€ํ™” ์ƒ์ž์ธ `AskUserQuestion`์€ ๋ Œ๋”๋ง ์ง€์ ์ด๋ฏ€๋กœ mod๊ฐ€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ™” ์ƒ์ž์šฉ ํŠธ๋ฆฌ๋Š” ์ฐธ์กฐ๋ฅผ ์ •ํ™•ํžˆ ํ•œ ๋ฒˆ ํฌํ•จํ•ด์•ผ ํ•˜๋ฉฐ, ์ง์ ‘ ๋งŒ๋“  ์š”์†Œ๋Š” ๊ทธ ์œ„์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด Claude Code๊ฐ€ ์ž์ฒด ๋Œ€ํ™” ์ƒ์ž๋ฅผ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค.300๊ถŒํ•œ ํ”„๋กฌํ”„ํŠธ๋Š” ๋ Œ๋”๋ง ์ง€์ ์ด ์•„๋‹ˆ๋ฏ€๋กœ mod๊ฐ€ ํ‘œ์‹œ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์งˆ๋ฌธ ๋Œ€ํ™” ์ƒ์ž์ธ `AskUserQuestion`์€ ๋ Œ๋”๋ง ์ง€์ ์ด๋ฏ€๋กœ mod๊ฐ€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ™” ์ƒ์ž์šฉ ํŠธ๋ฆฌ๋Š” ์ฐธ์กฐ๋ฅผ ์ •ํ™•ํžˆ ํ•œ ๋ฒˆ ํฌํ•จํ•ด์•ผ ํ•˜๋ฉฐ, ์ง์ ‘ ๋งŒ๋“  ์š”์†Œ๋Š” ๊ทธ ์œ„์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด Claude Code๊ฐ€ ์ž์ฒด ๋Œ€ํ™” ์ƒ์ž๋ฅผ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค.

299 301 

300ํ„ฐ๋ฏธ๋„๊ณผ Desktop ์•ฑ์ด ๋ฐœ์ƒ์‹œํ‚ค๋Š” ์ง€์ ์ด ๋ชจ๋‘ ๊ฐ™์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. `Pane`, `AbovePrompt`, `Spinner` ๋ฐ ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ ์ง€์ ์€ ์–‘์ชฝ ๋ชจ๋‘์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋‹ค๋ฅธ ์ƒํƒœ์ค„์€ ํ„ฐ๋ฏธ๋„์—์„œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ง€์ ์ด ๋ฐœ์ƒํ•˜๋Š” ์œ„์น˜๋Š” [๋ Œ๋”๋ง ์ง€์  ํ‘œ](/docs/ko/plugins/mods/reference#render-sites)์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

301 

302<h3 id="open-a-pane-at-the-right-time">302<h3 id="open-a-pane-at-the-right-time">

303 ์ ์ ˆํ•œ ์‹œ์ ์— pane ์—ด๊ธฐ303 ์ ์ ˆํ•œ ์‹œ์ ์— pane ์—ด๊ธฐ

304</h3>304</h3>


328| `rows` | pane์ด ํ”„๋กฌํ”„ํŠธ ์œ„์— ์žˆ์„ ๋•Œ ์š”์ฒญํ•  ๋†’์ด. ๊ธฐ๋ณธ๊ฐ’์€ ๊ณต๊ฐ„์˜ 3๋ถ„์˜ 1์ž…๋‹ˆ๋‹ค. |328| `rows` | pane์ด ํ”„๋กฌํ”„ํŠธ ์œ„์— ์žˆ์„ ๋•Œ ์š”์ฒญํ•  ๋†’์ด. ๊ธฐ๋ณธ๊ฐ’์€ ๊ณต๊ฐ„์˜ 3๋ถ„์˜ 1์ž…๋‹ˆ๋‹ค. |

329| `columns` | pane์ด ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ ์˜†์— ์žˆ์„ ๋•Œ ์š”์ฒญํ•  ๋„ˆ๋น„ |329| `columns` | pane์ด ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ ์˜†์— ์žˆ์„ ๋•Œ ์š”์ฒญํ•  ๋„ˆ๋น„ |

330 330 

331[VS Code ํ™•์žฅ](#draw-in-the-vs-code-extension)์€ `rows`์™€ `columns`๋ฅผ ๋ฌด์‹œํ•˜๊ณ  pane ํฌ๊ธฐ๋ฅผ ์ž์ฒด์ ์œผ๋กœ ์ •ํ•ฉ๋‹ˆ๋‹ค.

332 

331`focus`, `closeOnEscape`, `holdToasts`๋Š” ์„ ํƒ ์‚ฌํ•ญ์ด๋ฉฐ `true`๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด ์ƒ๋žตํ•˜์‹ญ์‹œ์˜ค. `false`๋ฅผ ์ „๋‹ฌํ•˜๋ฉด `ui.open: focus is true or left out`๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ์ค‘ ํ•˜๋‚˜๋ฅผ ์กฐ๊ฑด๋ถ€๋กœ ์„ค์ •ํ•˜๋ ค๋ฉด ์กฐ๊ฑด์ด ์ถฉ์กฑ๋  ๋•Œ๋งŒ ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ํ˜ธ์ถœ์€ `items`๊ฐ€ ๋น„์–ด ์žˆ์ง€ ์•Š์„ ๋•Œ๋งŒ ํ‚ค๋ณด๋“œ ํฌ์ปค์Šค๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.333`focus`, `closeOnEscape`, `holdToasts`๋Š” ์„ ํƒ ์‚ฌํ•ญ์ด๋ฉฐ `true`๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด ์ƒ๋žตํ•˜์‹ญ์‹œ์˜ค. `false`๋ฅผ ์ „๋‹ฌํ•˜๋ฉด `ui.open: focus is true or left out`๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ์ค‘ ํ•˜๋‚˜๋ฅผ ์กฐ๊ฑด๋ถ€๋กœ ์„ค์ •ํ•˜๋ ค๋ฉด ์กฐ๊ฑด์ด ์ถฉ์กฑ๋  ๋•Œ๋งŒ ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ํ˜ธ์ถœ์€ `items`๊ฐ€ ๋น„์–ด ์žˆ์ง€ ์•Š์„ ๋•Œ๋งŒ ํ‚ค๋ณด๋“œ ํฌ์ปค์Šค๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

332 334 

333```javascript theme={null}335```javascript theme={null}


356 358 

357pane์ด ๋‚˜ํƒ€๋‚˜๋ฉด `$.ui.open`์€ `{ isPlaced: true }`๋กœ resolve๋ฉ๋‹ˆ๋‹ค. pane์ด ๋Œ€๊ธฐ ์ค‘์ด๋ฉด `isPlaced`๋Š” `false`์ด๊ณ  `reason`์€ ๊ทธ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ๋Œ€๊ธฐ ์ค‘์ธ pane์€ ์‚ฌ์šฉ์ž๊ฐ€ ์—ด๊ฑฐ๋‚˜ ํ„ฐ๋ฏธ๋„ ๋„ˆ๋น„๋ฅผ ๋„“ํžˆ๋ฉด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. pane์„ ์—ด์ง€ ์•Š๊ณ  ๋ฌด์–ธ๊ฐ€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ์•Œ๋ฆฌ๋ ค๋ฉด `$.ui.toast('Your message')`๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํ† ์ŠคํŠธ ์•Œ๋ฆผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.359pane์ด ๋‚˜ํƒ€๋‚˜๋ฉด `$.ui.open`์€ `{ isPlaced: true }`๋กœ resolve๋ฉ๋‹ˆ๋‹ค. pane์ด ๋Œ€๊ธฐ ์ค‘์ด๋ฉด `isPlaced`๋Š” `false`์ด๊ณ  `reason`์€ ๊ทธ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ๋Œ€๊ธฐ ์ค‘์ธ pane์€ ์‚ฌ์šฉ์ž๊ฐ€ ์—ด๊ฑฐ๋‚˜ ํ„ฐ๋ฏธ๋„ ๋„ˆ๋น„๋ฅผ ๋„“ํžˆ๋ฉด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. pane์„ ์—ด์ง€ ์•Š๊ณ  ๋ฌด์–ธ๊ฐ€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ์•Œ๋ฆฌ๋ ค๋ฉด `$.ui.toast('Your message')`๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํ† ์ŠคํŠธ ์•Œ๋ฆผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

358 360 

361<h3 id="draw-in-the-vs-code-extension">

362 VS Code ํ™•์žฅ์—์„œ ๊ทธ๋ฆฌ๊ธฐ

363</h3>

364 

365VS Code ํ™•์žฅ์—์„œ๋Š” ํ™•์žฅ ๋ฒ„์ „์ด 2.1.299 ์ด์ƒ์ด๊ณ  [๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”](/docs/ko/env-vars#features-that-need-feature-flag-fetching) ์„ธ์…˜์ธ ๊ฒฝ์šฐ mod๊ฐ€ ๊ทธ๋ฆฌ๋Š” ๋‚ด์šฉ์ด ์ฑ„ํŒ… ํŒจ๋„์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ํŒจ๋„์šฉ `ui.render` ํ›…์—์„œ `e.surface`๋Š” `vscode`์ž…๋‹ˆ๋‹ค. ํŒจ๋„์ด ์–ด๋–ค ์ง€์ ๊ณผ ์š”์†Œ๋ฅผ ๊ทธ๋ฆฌ๋Š”์ง€, ์–ด๋–ค prop์„ ๋ฌด์‹œํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด [๋ Œ๋”๋ง ์ง€์ ](/docs/ko/plugins/mods/reference#render-sites) ๋ฐ [์š”์†Œ](/docs/ko/plugins/mods/reference#elements) ํ‘œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

366 

367mod๊ฐ€ ํ„ฐ๋ฏธ๋„๋ฟ ์•„๋‹ˆ๋ผ ํŒจ๋„์—์„œ๋„ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ฐจ์ด์ ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

368 

369* **Pane**: ๋„ˆ๋น„๊ฐ€ 800ํ”ฝ์…€ ์ด์ƒ์ธ ํŒจ๋„์—์„œ๋Š” pane์ด ๋Œ€ํ™” ์˜†์— ๋„ํ‚น๋˜๋ฉฐ, `e.props.placement`๋Š” `'dock'`์ด๊ณ  `e.viewport.isFullscreen`์€ `true`์ž…๋‹ˆ๋‹ค. ๋” ์ข์€ ํŒจ๋„์—์„œ๋Š” pane์ด ํ”„๋กฌํ”„ํŠธ ์ƒ์ž ์œ„์— ๊ทธ๋ ค์ง€๊ณ , `placement`๋Š” `'inline'`์ด๋ฉฐ, pane์€ ์Šคํฌ๋กค๋˜๊ธฐ ์ „๊นŒ์ง€ 12ํ–‰์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

370* **ํ† ์ŠคํŠธ์™€ ์ƒํƒœ์ค„**: ํ”„๋กฌํ”„ํŠธ ์ƒ์ž ๋ฐ”๋กœ ์œ„์— ํ•˜๋‚˜์˜ ์Šคํƒ์œผ๋กœ ๋†“์ด๋ฉฐ, ํŒจ๋„์ด ์ข์„ ๋•Œ๋Š” pane๋„ ํ•จ๊ป˜ ๋†“์ด๊ณ , mod๋งˆ๋‹ค ์ƒํƒœ์ค„์ด ํ•˜๋‚˜์”ฉ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ถŒํ•œ ์š”์ฒญ์ด๋‚˜ ๋Œ€ํ™” ์ƒ์ž๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๋™์•ˆ์—๋Š” ์Šคํƒ์ด ์ˆจ๊ฒจ์ง‘๋‹ˆ๋‹ค.

371* **๋ ˆ์ด๋ธ”**: ํŒจ๋„์€ mod๊ฐ€ ๊ทธ๋ฆฌ๊ฑฐ๋‚˜ ๋‹ค์‹œ ์“ด ๋‚ด์šฉ์— ํ…Œ๋‘๋ฆฌ๋ฅผ ๋‘๋ฅด๊ณ  ํ”Œ๋Ÿฌ๊ทธ์ธ ์ด๋ฆ„์œผ๋กœ ๋ ˆ์ด๋ธ”์„ ๋ถ™์ž…๋‹ˆ๋‹ค. ์˜ˆ: **From the token-chart plugin** ๋˜๋Š” **Edited by the token-chart plugin**.

372* **ํ‚ค๋ณด๋“œ**: ๋ฒ„ํŠผ์—๋Š” ๋‹จ์ถ•ํ‚ค๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์‚ฌ์šฉ์ž๋Š” ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ๋ฒ„ํŠผ์— ํฌ์ปค์Šค๊ฐ€ ์žˆ์„ ๋•Œ Enter๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.

373* **ํ‚ค๋ณด๋“œ ํฌ์ปค์Šค**: ํŒจ๋„์€ ํŒจ๋„์— ํฌ์ปค์Šค๊ฐ€ ์žˆ๊ณ , Claude๊ฐ€ ๋Œ€๊ธฐ ์ค‘์ธ ์งˆ๋ฌธ ์—†์ด ์œ ํœด ์ƒํƒœ์ด๋ฉฐ, ํ”„๋กฌํ”„ํŠธ ์ƒ์ž๊ฐ€ ๋น„์–ด ์žˆ์„ ๋•Œ๋งŒ pane์˜ `focus: true` ์š”์ฒญ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

374* **์งˆ๋ฌธ ๋Œ€ํ™” ์ƒ์ž**: `AskUserQuestion`์—์„œ ํŒจ๋„์€ ์ž์ฒด ์งˆ๋ฌธ ์นด๋“œ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ๊ทธ ์œ„์— ์ง์ ‘ ๋งŒ๋“  ์š”์†Œ๋ฅผ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค. `next`์— ์ „๋‹ฌํ•œ prop์€ ์นด๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

375* **ํ”„๋กฌํ”„ํŠธ ์ œ์•ˆ**: ํŒจ๋„์€ ํ”„๋กฌํ”„ํŠธ ์ƒ์ž์˜ ํ๋ฆฐ ์ œ์•ˆ ํ…์ŠคํŠธ๋ฅผ Claude ์ž์ฒด ์ œ์•ˆ์šฉ์œผ๋กœ ์œ ์ง€ํ•˜๋ฏ€๋กœ `$.prompt.suggest`๋Š” `isShown: false`๋กœ resolve๋˜๋ฉฐ ์•„๋ฌด๊ฒƒ๋„ ํ‘œ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

376* **ํ…์ŠคํŠธ ์ œํ•œ**: ํŒจ๋„์€ ์ƒํƒœ์ค„์„ 200์ž ๋˜๋Š” ๋‘ ํ–‰์—์„œ ์ž๋ฅด๊ณ , ํ† ์ŠคํŠธ๋Š” 500์ž์—์„œ ์ž๋ฆ…๋‹ˆ๋‹ค.

377 

359<h2 id="build-a-tree-from-elements">378<h2 id="build-a-tree-from-elements">

360 ์š”์†Œ๋กœ ํŠธ๋ฆฌ ๋งŒ๋“ค๊ธฐ379 ์š”์†Œ๋กœ ํŠธ๋ฆฌ ๋งŒ๋“ค๊ธฐ

361</h2>380</h2>

362 381 

363`ui.render` ํ›…์ด ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์€ ์š”์†Œ ํŠธ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์š”์†Œ ํŠธ๋ฆฌ๋Š” ๋ฌด์—‡์„ ๊ทธ๋ฆด์ง€์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ, ์„œ๋กœ ์ค‘์ฒฉ๋œ ๋ฐ•์Šค, ํ…์ŠคํŠธ, ์ปจํŠธ๋กค๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆด ๋‚ด์šฉ์„ ๊ธฐ์ˆ ํ•˜๋ฉด Claude Code๊ฐ€ ์ด๋ฅผ ํ„ฐ๋ฏธ๋„ ๋˜๋Š” Desktop ์•ฑ์—์„œ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค.382`ui.render` ํ›…์ด ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์€ ์š”์†Œ ํŠธ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์š”์†Œ ํŠธ๋ฆฌ๋Š” ๋ฌด์—‡์„ ๊ทธ๋ฆด์ง€์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ, ์„œ๋กœ ์ค‘์ฒฉ๋œ ๋ฐ•์Šค, ํ…์ŠคํŠธ, ์ปจํŠธ๋กค๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆด ๋‚ด์šฉ์„ ๊ธฐ์ˆ ํ•˜๋ฉด Claude Code๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ์—ด์–ด ๋‘” ์•ฑ, ์ฆ‰ ํ„ฐ๋ฏธ๋„, Desktop ์•ฑ ๋˜๋Š” VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์ค‘ ์–ด๋””์—์„œ๋“  ์ด๋ฅผ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค.

364 383 

365์š”์†Œ๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด `const { Box, Text, Button } = $.ui.resolve(e)`์ฒ˜๋Ÿผ ํ›…์—์„œ `$.ui.resolve(e)`๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์š”์†Œ๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜์— prop์„ ์ „๋‹ฌํ•˜๊ณ , ๊ทธ ์•ˆ์— ๋“ค์–ด๊ฐˆ ์š”์†Œ์™€ ๋ฌธ์ž์—ด์€ `children`์— ๋„ฃ์Šต๋‹ˆ๋‹ค.384์š”์†Œ๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด `const { Box, Text, Button } = $.ui.resolve(e)`์ฒ˜๋Ÿผ ํ›…์—์„œ `$.ui.resolve(e)`๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์š”์†Œ๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜์— prop์„ ์ „๋‹ฌํ•˜๊ณ , ๊ทธ ์•ˆ์— ๋“ค์–ด๊ฐˆ ์š”์†Œ์™€ ๋ฌธ์ž์—ด์€ `children`์— ๋„ฃ์Šต๋‹ˆ๋‹ค.

366 385 


440| `Text` | ์Šคํƒ€์ผ์ด ์ ์šฉ๋œ ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค. `color`, `bold`, `dimColor`, `italic`, `wrap`์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. `color`๋Š” ํ…Œ๋งˆ ํ‚ค ๋˜๋Š” `'red'` ๊ฐ™์€ ์ƒ‰์ƒ์ž…๋‹ˆ๋‹ค. `wrap`์€ `'wrap'`, `'truncate'`, `'truncate-start'`, `'truncate-middle'`, `'truncate-end'` ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. | ๋ชจ๋“  ๊ณณ |459| `Text` | ์Šคํƒ€์ผ์ด ์ ์šฉ๋œ ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค. `color`, `bold`, `dimColor`, `italic`, `wrap`์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. `color`๋Š” ํ…Œ๋งˆ ํ‚ค ๋˜๋Š” `'red'` ๊ฐ™์€ ์ƒ‰์ƒ์ž…๋‹ˆ๋‹ค. `wrap`์€ `'wrap'`, `'truncate'`, `'truncate-start'`, `'truncate-middle'`, `'truncate-end'` ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. | ๋ชจ๋“  ๊ณณ |

441| `Button` | `onPress`๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ปจํŠธ๋กค | ๋ชจ๋“  ๊ณณ |460| `Button` | `onPress`๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ปจํŠธ๋กค | ๋ชจ๋“  ๊ณณ |

442| `Link`, `Code`, `Markdown` | `href`์™€ ์„ ํƒ์  `label`์„ ๊ฐ–๋Š” ๋งํฌ, ์ฝ”๋“œ ๋ธ”๋ก, ๊ทธ๋ฆฌ๊ณ  Claude์˜ ์‘๋‹ต๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์„œ์‹์ด ์ง€์ •๋œ ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค. `Markdown`์€ ๋‚ด์šฉ์„ `children`์ด ์•„๋‹Œ `text` prop์œผ๋กœ ๋ฐ›์œผ๋ฉฐ, `onLinkPress`๋ฅผ ์ „๋‹ฌํ•  ๋•Œ๋Š” `key`๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. | ๋ชจ๋“  ๊ณณ |461| `Link`, `Code`, `Markdown` | `href`์™€ ์„ ํƒ์  `label`์„ ๊ฐ–๋Š” ๋งํฌ, ์ฝ”๋“œ ๋ธ”๋ก, ๊ทธ๋ฆฌ๊ณ  Claude์˜ ์‘๋‹ต๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์„œ์‹์ด ์ง€์ •๋œ ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค. `Markdown`์€ ๋‚ด์šฉ์„ `children`์ด ์•„๋‹Œ `text` prop์œผ๋กœ ๋ฐ›์œผ๋ฉฐ, `onLinkPress`๋ฅผ ์ „๋‹ฌํ•  ๋•Œ๋Š” `key`๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. | ๋ชจ๋“  ๊ณณ |

443| `Input`, `Select` | ํ…์ŠคํŠธ ํ•„๋“œ์™€ ๋“œ๋กญ๋‹ค์šด | ํ„ฐ๋ฏธ๋„, Desktop |462| `Input`, `Select` | ํ…์ŠคํŠธ ํ•„๋“œ์™€ ๋“œ๋กญ๋‹ค์šด | ํ„ฐ๋ฏธ๋„, Desktop, VS Code |

444| `Svg` | SVG ๋ฌธ์„œ | Desktop |463| `Svg` | SVG ๋ฌธ์„œ | Desktop, VS Code |

445| `Client` | ์• ๋‹ˆ๋ฉ”์ด์…˜๊ณผ ํฌ์ธํ„ฐ ์ž…๋ ฅ์„ ์œ„ํ•ด ๋ณ„๋„๋กœ ์ž‘์„ฑํ•œ ๋‘ ๋ฒˆ์งธ ํŒŒ์ผ์ด ๊ทธ๋ฆฌ๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์€ mod API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ›…๊ณผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ๋งŒ ํ†ต์‹ ํ•˜๋ฉฐ, ๊ฒŒ์‹œ๋œ ๋ฐ์ดํ„ฐ๋Š” `ui.message` ์ด๋ฒคํŠธ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์ด ๋กœ๋“œ, ๊ทธ๋ฆฌ๊ธฐ ๋˜๋Š” ์‹คํ–‰์— ์‹คํŒจํ•˜๋ฉด ํ›…์€ [`ui.fault`](/docs/ko/plugins/mods/reference#interface) ์ด๋ฒคํŠธ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. | ํ„ฐ๋ฏธ๋„, Desktop |464| `Client` | ์• ๋‹ˆ๋ฉ”์ด์…˜๊ณผ ํฌ์ธํ„ฐ ์ž…๋ ฅ์„ ์œ„ํ•ด ๋ณ„๋„๋กœ ์ž‘์„ฑํ•œ ๋‘ ๋ฒˆ์งธ ํŒŒ์ผ์ด ๊ทธ๋ฆฌ๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์€ mod API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ›…๊ณผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ๋งŒ ํ†ต์‹ ํ•˜๋ฉฐ, ๊ฒŒ์‹œ๋œ ๋ฐ์ดํ„ฐ๋Š” `ui.message` ์ด๋ฒคํŠธ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์ด ๋กœ๋“œ, ๊ทธ๋ฆฌ๊ธฐ ๋˜๋Š” ์‹คํ–‰์— ์‹คํŒจํ•˜๋ฉด ํ›…์€ [`ui.fault`](/docs/ko/plugins/mods/reference#interface) ์ด๋ฒคํŠธ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. | ํ„ฐ๋ฏธ๋„, Desktop |

446| `Raster`, `Image` | [์ƒ‰์ƒ ์…€ ๊ทธ๋ฆฌ๋“œ](#draw-a-grid-of-colored-cells)์™€ ์ด๋ฏธ์ง€ | ํ„ฐ๋ฏธ๋„ |465| `Raster`, `Image` | [์ƒ‰์ƒ ์…€ ๊ทธ๋ฆฌ๋“œ](#draw-a-grid-of-colored-cells)์™€ ์ด๋ฏธ์ง€ | ํ„ฐ๋ฏธ๋„ |

447 466 


452`--plugin-dir`๋กœ ์‹œ์ž‘ํ•œ ์„ธ์…˜์—์„œ๋Š” `ui.render (Pane) refused: Text prop "bogusProp" is not allowed; the engine drew its own`๊ณผ ๊ฐ™์€ ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ ์ค„๋กœ ์ด๋ฅผ ์•Œ๋ ค ์ค๋‹ˆ๋‹ค. [๋””๋ฒ„๊ทธ ๋กœ๊ทธ](/docs/ko/plugins/mods/troubleshoot#read-the-debug-log)์—๋Š” ๊ฐ™์€ ์‚ฌ์œ ์™€ ํ•จ๊ป˜ `ui.render (Pane): a hook returned a tree that does not validate`๋กœ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์—๋Š” ๊ทธ ๋ฐ–์— ์•„๋ฌด๊ฒƒ๋„ ํ‘œ์‹œ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๊ทธ๋ฆฐ ๋‚ด์šฉ์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ•ด๋‹น ์ค„์ด๋‚˜ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.471`--plugin-dir`๋กœ ์‹œ์ž‘ํ•œ ์„ธ์…˜์—์„œ๋Š” `ui.render (Pane) refused: Text prop "bogusProp" is not allowed; the engine drew its own`๊ณผ ๊ฐ™์€ ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ ์ค„๋กœ ์ด๋ฅผ ์•Œ๋ ค ์ค๋‹ˆ๋‹ค. [๋””๋ฒ„๊ทธ ๋กœ๊ทธ](/docs/ko/plugins/mods/troubleshoot#read-the-debug-log)์—๋Š” ๊ฐ™์€ ์‚ฌ์œ ์™€ ํ•จ๊ป˜ `ui.render (Pane): a hook returned a tree that does not validate`๋กœ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์—๋Š” ๊ทธ ๋ฐ–์— ์•„๋ฌด๊ฒƒ๋„ ํ‘œ์‹œ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๊ทธ๋ฆฐ ๋‚ด์šฉ์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ•ด๋‹น ์ค„์ด๋‚˜ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

453 472 

454<h3 id="link-in-the-desktop-app">473<h3 id="link-in-the-desktop-app">

455 Desktop ์•ฑ์˜ `Link`474 Desktop ์•ฑ๊ณผ VS Code์˜ `Link`

456</h3>475</h3>

457 476 

458Desktop ์•ฑ์—์„œ `Link`๋Š” `href`๊ฐ€ ๋‹ค์Œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ๊ทธ๋ ค์ง‘๋‹ˆ๋‹ค.477Desktop ์•ฑ๊ณผ VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์—์„œ `Link`๋Š” `href`๊ฐ€ ๋‹ค์Œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ๊ทธ๋ ค์ง‘๋‹ˆ๋‹ค.

459 478 

460* **์Šคํ‚ด๊ณผ ํ˜ธ์ŠคํŠธ**: `https:` URL ๋˜๋Š” `http://localhost:3000` ๊ฐ™์€ `http://localhost` URL479* **์Šคํ‚ด๊ณผ ํ˜ธ์ŠคํŠธ**: `https:` URL ๋˜๋Š” `http://localhost:3000` ๊ฐ™์€ `http://localhost` URL

461* **`@` ์‚ฌ์šฉ ๋ถˆ๊ฐ€**: ๊ฒฝ๋กœ๋‚˜ ์ฟผ๋ฆฌ์— ์žˆ๋Š” `@`๋Š” `%40`์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค480* **`@` ์‚ฌ์šฉ ๋ถˆ๊ฐ€**: ๊ฒฝ๋กœ๋‚˜ ์ฟผ๋ฆฌ์— ์žˆ๋Š” `@`๋Š” `%40`์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค


477 496 

478ํ„ฐ๋ฏธ๋„์—์„œ ํžˆํŠธ๋งต, ์ŠคํŒŒํฌ๋ผ์ธ, ๊ฒŒ์ž„ ๋ณด๋“œ๋ฅผ ๊ทธ๋ฆฌ๋ ค๋ฉด ์…€๋งˆ๋‹ค `Box`๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ณ  `Raster` ํ•˜๋‚˜๋ฅผ ๊ทธ๋ฆฌ์‹ญ์‹œ์˜ค. `Raster`๋Š” `key`, `columns`์™€ `rows`๋กœ ์ง€์ •ํ•˜๋Š” ํฌ๊ธฐ, ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ์…€์„ ๋‹ด์€ base64 ๋ฌธ์ž์—ด์ธ `cells`๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ฐ ์…€์€ ์„ธ ๊ฐœ์˜ ์ˆซ์ž๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์˜ ์ฝ”๋“œ ํฌ์ธํŠธ, ๋ฌธ์ž ์ƒ‰์ƒ, ๋ฐฐ๊ฒฝ ์ƒ‰์ƒ์ž…๋‹ˆ๋‹ค. ์ƒ‰์ƒ์€ ๋นจ๊ฐ„์ƒ‰์˜ `0xc62828`์ฒ˜๋Ÿผ 16์ง„์ˆ˜๋กœ ํ‘œ๊ธฐํ•œ 24๋น„ํŠธ RGB ๊ฐ’์ž…๋‹ˆ๋‹ค. ์ด ๋ฒ”์œ„๋ณด๋‹ค 1 ํฐ ๊ฐ’์ธ `0x01000000`์€ ํ„ฐ๋ฏธ๋„์˜ ๊ธฐ๋ณธ ์ƒ‰์ƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.497ํ„ฐ๋ฏธ๋„์—์„œ ํžˆํŠธ๋งต, ์ŠคํŒŒํฌ๋ผ์ธ, ๊ฒŒ์ž„ ๋ณด๋“œ๋ฅผ ๊ทธ๋ฆฌ๋ ค๋ฉด ์…€๋งˆ๋‹ค `Box`๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ณ  `Raster` ํ•˜๋‚˜๋ฅผ ๊ทธ๋ฆฌ์‹ญ์‹œ์˜ค. `Raster`๋Š” `key`, `columns`์™€ `rows`๋กœ ์ง€์ •ํ•˜๋Š” ํฌ๊ธฐ, ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ์…€์„ ๋‹ด์€ base64 ๋ฌธ์ž์—ด์ธ `cells`๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ฐ ์…€์€ ์„ธ ๊ฐœ์˜ ์ˆซ์ž๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์˜ ์ฝ”๋“œ ํฌ์ธํŠธ, ๋ฌธ์ž ์ƒ‰์ƒ, ๋ฐฐ๊ฒฝ ์ƒ‰์ƒ์ž…๋‹ˆ๋‹ค. ์ƒ‰์ƒ์€ ๋นจ๊ฐ„์ƒ‰์˜ `0xc62828`์ฒ˜๋Ÿผ 16์ง„์ˆ˜๋กœ ํ‘œ๊ธฐํ•œ 24๋น„ํŠธ RGB ๊ฐ’์ž…๋‹ˆ๋‹ค. ์ด ๋ฒ”์œ„๋ณด๋‹ค 1 ํฐ ๊ฐ’์ธ `0x01000000`์€ ํ„ฐ๋ฏธ๋„์˜ ๊ธฐ๋ณธ ์ƒ‰์ƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

479 498 

480Desktop ์•ฑ์—๋Š” `Raster`๊ฐ€ ์—†์œผ๋ฏ€๋กœ `e.surface`๋ฅผ ํ™•์ธํ•˜์—ฌ ๊ทธ๊ณณ์—์„œ๋Š” ํ…์ŠคํŠธ๋ฅผ ๊ทธ๋ฆฌ์‹ญ์‹œ์˜ค. ๋‹ค์Œ ์ฐฝ ๋ณธ๋ฌธ์€ 3ร—2 ํžˆํŠธ๋งต์„ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค.499ํ„ฐ๋ฏธ๋„ ์ด์™ธ์˜ ์•ฑ์—๋Š” `Raster`๊ฐ€ ์—†์œผ๋ฏ€๋กœ `e.surface`๋ฅผ ํ™•์ธํ•˜์—ฌ ๊ทธ๊ณณ์—์„œ๋Š” ํ…์ŠคํŠธ๋ฅผ ๊ทธ๋ฆฌ์‹ญ์‹œ์˜ค. ๋‹ค์Œ ์ฐฝ ๋ณธ๋ฌธ์€ 3ร—2 ํžˆํŠธ๋งต์„ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค.

481 500 

482```javascript theme={null}501```javascript theme={null}

483// The value that means "use the terminal's default color"502// The value that means "use the terminal's default color"


535 554 

536mod๋Š” ํ‚ค๋ณด๋“œ๋ฅผ ์ง์ ‘ ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด Claude Code๊ฐ€ ๊ทธ ํ‚ค๊ฐ€ ์–ด๋А ์ปจํŠธ๋กค์„ ์œ„ํ•œ ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•˜๊ณ , ํ•ด๋‹น ์ปจํŠธ๋กค์˜ ์ฝœ๋ฐฑ์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. [๋ฐด๋“œ์˜ ์ˆซ์ž ๋‹จ์ถ•ํ‚ค](/docs/ko/plugins/mods/reference#elements)๋ฅผ ์ œ์™ธํ•˜๋ฉด ์ด๋Š” ์ฐฝ์ด๋‚˜ ๋ฐด๋“œ์— ํ‚ค๋ณด๋“œ ํฌ์ปค์Šค๊ฐ€ ์žˆ๋Š” ๋™์•ˆ์—๋งŒ ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค. ๊ทธ ์™ธ์—๋Š” ํ‚ค๊ฐ€ ํ”„๋กฌํ”„ํŠธ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.555mod๋Š” ํ‚ค๋ณด๋“œ๋ฅผ ์ง์ ‘ ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด Claude Code๊ฐ€ ๊ทธ ํ‚ค๊ฐ€ ์–ด๋А ์ปจํŠธ๋กค์„ ์œ„ํ•œ ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•˜๊ณ , ํ•ด๋‹น ์ปจํŠธ๋กค์˜ ์ฝœ๋ฐฑ์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. [๋ฐด๋“œ์˜ ์ˆซ์ž ๋‹จ์ถ•ํ‚ค](/docs/ko/plugins/mods/reference#elements)๋ฅผ ์ œ์™ธํ•˜๋ฉด ์ด๋Š” ์ฐฝ์ด๋‚˜ ๋ฐด๋“œ์— ํ‚ค๋ณด๋“œ ํฌ์ปค์Šค๊ฐ€ ์žˆ๋Š” ๋™์•ˆ์—๋งŒ ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค. ๊ทธ ์™ธ์—๋Š” ํ‚ค๊ฐ€ ํ”„๋กฌํ”„ํŠธ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

537 556 

557[VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ](#draw-in-the-vs-code-extension)์—์„œ๋Š” ๋ฒ„ํŠผ์— ๋‹จ์ถ•ํ‚ค๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ๋ฒ„ํŠผ์—์„œ Enter๋ฅผ ๋ˆ„๋ฅด๋ฉฐ, ํ•„๋“œ์—๋Š” ์ง์ ‘ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

558 

538<h4 id="how-a-pane-gets-keyboard-focus">559<h4 id="how-a-pane-gets-keyboard-focus">

539 ์ฐฝ์ด ํ‚ค๋ณด๋“œ ํฌ์ปค์Šค๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•560 ์ฐฝ์ด ํ‚ค๋ณด๋“œ ํฌ์ปค์Šค๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•

540</h4>561</h4>


570 ๋‹จ์ถ•ํ‚ค์™€ ์ฒซ ํฌ์ปค์Šค ์„ค์ •ํ•˜๊ธฐ591 ๋‹จ์ถ•ํ‚ค์™€ ์ฒซ ํฌ์ปค์Šค ์„ค์ •ํ•˜๊ธฐ

571</h4>592</h4>

572 593 

573์ปจํŠธ๋กค์˜ ๋‹ค์Œ prop์€ ํ‚ค๋ณด๋“œ๊ฐ€ ํ•ด๋‹น ์ปจํŠธ๋กค์— ๋„๋‹ฌํ•˜๋Š” ๋ฐฉ์‹์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

574 

575* **`hotkey`**: ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค ํ•˜๋‚˜๋กœ `Button`์„ ๋ˆ„๋ฅผ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ ค๋ฉด `hotkey: 'a'`์ฒ˜๋Ÿผ ์ˆซ์ž ํ•˜๋‚˜ ๋˜๋Š” ์†Œ๋ฌธ์ž ํ•˜๋‚˜๋กœ ๋œ `hotkey`๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค594* **`hotkey`**: ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค ํ•˜๋‚˜๋กœ `Button`์„ ๋ˆ„๋ฅผ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ ค๋ฉด `hotkey: 'a'`์ฒ˜๋Ÿผ ์ˆซ์ž ํ•˜๋‚˜ ๋˜๋Š” ์†Œ๋ฌธ์ž ํ•˜๋‚˜๋กœ ๋œ `hotkey`๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค

576* **`autoFocus`**: ์ฐฝ์ด ์—ด๋ฆด ๋•Œ ์–ด๋А ์ปจํŠธ๋กค์— ํฌ์ปค์Šค๋ฅผ ๋‘˜์ง€ ์„ ํƒํ•˜๋ ค๋ฉด ํ•ด๋‹น ์ปจํŠธ๋กค์— `autoFocus: true`๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด prop์€ `true`๋งŒ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ ๋‹ค๋ฅธ ์ปจํŠธ๋กค์—์„œ๋Š” ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค.595* **`autoFocus`**: ์ฐฝ์ด ์—ด๋ฆด ๋•Œ ์–ด๋А ์ปจํŠธ๋กค์— ํฌ์ปค์Šค๋ฅผ ๋‘˜์ง€ ์„ ํƒํ•˜๋ ค๋ฉด ํ•ด๋‹น ์ปจํŠธ๋กค์— `autoFocus: true`๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. [VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ](#draw-in-the-vs-code-extension)์—์„œ๋Š” `autoFocus`๊ฐ€ ์•„๋ฌด๋Ÿฐ ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ปจํŠธ๋กค์€ ์ด prop์„ ์ƒ๋žตํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๊ทธ๋ ค์ง€๋ฉฐ, ๋”ฐ๋กœ ๋ณ€๊ฒฝํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ด prop์€ `true`๋งŒ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ ๋‹ค๋ฅธ ์ปจํŠธ๋กค์—์„œ๋Š” ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค.

577 596 

578๋‹จ์ถ•ํ‚ค๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๋ฐฉ์‹์€ ๋ฒ„ํŠผ๊ณผ ์•ฑ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.597๋‹จ์ถ•ํ‚ค๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๋ฐฉ์‹์€ ๋ฒ„ํŠผ๊ณผ ์•ฑ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

579 598 

580| ๋ฒ„ํŠผ | ํ„ฐ๋ฏธ๋„์—์„œ | Desktop ์•ฑ์—์„œ |599| ๋ฒ„ํŠผ | ํ„ฐ๋ฏธ๋„์—์„œ | Desktop ์•ฑ์—์„œ | VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์—์„œ |

581| :- | :- | :- |600| :- | :- | :- | :- |

582| ๋Œ€๊ด„ํ˜ธ ํฌํ•จ(๊ธฐ๋ณธ๊ฐ’) | `[ Add one ]`, ๋‹จ์ถ•ํ‚ค๋Š” ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ | ๋ ˆ์ด๋ธ” ์˜†์— ์ž‘์€ ํ‚ค๊ฐ€ ํ‘œ์‹œ๋จ |601| ๋Œ€๊ด„ํ˜ธ ํฌํ•จ(๊ธฐ๋ณธ๊ฐ’) | `[ Add one ]`, ๋‹จ์ถ•ํ‚ค๋Š” ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ | ๋ ˆ์ด๋ธ” ์˜†์— ์ž‘์€ ํ‚ค๊ฐ€ ํ‘œ์‹œ๋จ | ๋ ˆ์ด๋ธ”์ด ํ‘œ์‹œ๋˜๋ฉฐ, ๋‹จ์ถ•ํ‚ค๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š์Œ |

583| `plain: true` ์‚ฌ์šฉ | `1: One` | ๋ ˆ์ด๋ธ” ์˜†์— ์ž‘์€ ํ‚ค๊ฐ€ ํ‘œ์‹œ๋จ |602| `plain: true` ์‚ฌ์šฉ | `1: One` | ๋ ˆ์ด๋ธ” ์˜†์— ์ž‘์€ ํ‚ค๊ฐ€ ํ‘œ์‹œ๋จ | ๋ ˆ์ด๋ธ”์ด ํ‘œ์‹œ๋˜๋ฉฐ, ๋‹จ์ถ•ํ‚ค๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š์Œ |

584 603 

585ํ„ฐ๋ฏธ๋„์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์—‡์„ ๋ˆŒ๋Ÿฌ์•ผ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ๋Œ€๊ด„ํ˜ธ ๋ฒ„ํŠผ์˜ ๋ ˆ์ด๋ธ”์— ํ‚ค ์ด๋ฆ„์„ ๋„ฃ๊ฑฐ๋‚˜ `plain: true`๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. [์š”์†Œ ๋ ˆํผ๋Ÿฐ์Šค](/docs/ko/plugins/mods/reference#elements)์—์„œ `action`, ๋ฐด๋“œ์˜ ์ˆซ์ž ๋‹จ์ถ•ํ‚ค, ํ•˜๋‚˜์˜ ๋‹จ์ถ•ํ‚ค์— ์—ฐ๊ฒฐ๋œ ๋‘ ๋ฒ„ํŠผ ๋“ฑ `Button`์˜ ๋‹ค๋ฅธ ๊ทœ์น™์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.604ํ„ฐ๋ฏธ๋„์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์—‡์„ ๋ˆŒ๋Ÿฌ์•ผ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ๋Œ€๊ด„ํ˜ธ ๋ฒ„ํŠผ์˜ ๋ ˆ์ด๋ธ”์— ํ‚ค ์ด๋ฆ„์„ ๋„ฃ๊ฑฐ๋‚˜ `plain: true`๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. [์š”์†Œ ๋ ˆํผ๋Ÿฐ์Šค](/docs/ko/plugins/mods/reference#elements)์—์„œ `action`, ๋ฐด๋“œ์˜ ์ˆซ์ž ๋‹จ์ถ•ํ‚ค, ํ•˜๋‚˜์˜ ๋‹จ์ถ•ํ‚ค์— ์—ฐ๊ฒฐ๋œ ๋‘ ๋ฒ„ํŠผ ๋“ฑ `Button`์˜ ๋‹ค๋ฅธ ๊ทœ์น™์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

586 605 

Details

24* **๋ช…๋ น์œผ๋กœ ์ง์ ‘ ์ž‘์„ฑํ•œ ์ฝ”๋“œ ์‹คํ–‰ํ•˜๊ธฐ**: Claude ํ„ด ์—†์ด, Claude๊ฐ€ ์ž‘์—… ์ค‘์ผ ๋•Œ๋„ ํ•จ์ˆ˜๋ฅผ ์ฆ‰์‹œ ์‹คํ–‰ํ•˜๋Š” `/command`๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [๋ช…๋ น ๋˜๋Š” ๋„๊ตฌ ์ถ”๊ฐ€ํ•˜๊ธฐ](/docs/ko/plugins/mods/api#add-a-command-or-a-tool)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.24* **๋ช…๋ น์œผ๋กœ ์ง์ ‘ ์ž‘์„ฑํ•œ ์ฝ”๋“œ ์‹คํ–‰ํ•˜๊ธฐ**: Claude ํ„ด ์—†์ด, Claude๊ฐ€ ์ž‘์—… ์ค‘์ผ ๋•Œ๋„ ํ•จ์ˆ˜๋ฅผ ์ฆ‰์‹œ ์‹คํ–‰ํ•˜๋Š” `/command`๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [๋ช…๋ น ๋˜๋Š” ๋„๊ตฌ ์ถ”๊ฐ€ํ•˜๊ธฐ](/docs/ko/plugins/mods/api#add-a-command-or-a-tool)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

25* **ํ›… ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ณต์œ ํ•˜๊ธฐ**: mod์˜ ํ›…์€ ํ•ด๋‹น ํŒŒ์ผ์˜ ๋ณ€์ˆ˜๋ฅผ ๊ณต์œ ํ•˜๋ฏ€๋กœ, ํ•œ ํ›…์ด ๊ธฐ๋กํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ฅธ ํ›…์ด ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•œ ํ›…์ด ๋„๊ตฌ ํ˜ธ์ถœ ์ˆ˜๋ฅผ ์„ธ๊ณ  ๋‹ค๋ฅธ ํ›…์ด ๊ทธ ์ˆ˜๋ฅผ ์Šคํ”ผ๋„ˆ ์˜†์— ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜, ํ•œ ํ›…์ด ๊ฐ ์š”์ฒญ์˜ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰์„ ์ฝ๊ณ  ๋‹ค๋ฅธ ํ›…์ด ์ด๋ฅผ ์ฐฝ์— ์ฐจํŠธ๋กœ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [์ด๋ฒคํŠธ์— ๋ฐ˜์‘ํ•˜๊ธฐ](/docs/ko/plugins/mods/events)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.25* **ํ›… ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ณต์œ ํ•˜๊ธฐ**: mod์˜ ํ›…์€ ํ•ด๋‹น ํŒŒ์ผ์˜ ๋ณ€์ˆ˜๋ฅผ ๊ณต์œ ํ•˜๋ฏ€๋กœ, ํ•œ ํ›…์ด ๊ธฐ๋กํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ฅธ ํ›…์ด ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•œ ํ›…์ด ๋„๊ตฌ ํ˜ธ์ถœ ์ˆ˜๋ฅผ ์„ธ๊ณ  ๋‹ค๋ฅธ ํ›…์ด ๊ทธ ์ˆ˜๋ฅผ ์Šคํ”ผ๋„ˆ ์˜†์— ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜, ํ•œ ํ›…์ด ๊ฐ ์š”์ฒญ์˜ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰์„ ์ฝ๊ณ  ๋‹ค๋ฅธ ํ›…์ด ์ด๋ฅผ ์ฐฝ์— ์ฐจํŠธ๋กœ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [์ด๋ฒคํŠธ์— ๋ฐ˜์‘ํ•˜๊ธฐ](/docs/ko/plugins/mods/events)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

26 26 

27mod๋Š” Claude Code CLI์™€ Claude Desktop ์•ฑ์˜ Code ํƒญ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ, `claude -p`, ํด๋ผ์šฐ๋“œ ์„ธ์…˜ ๋“ฑ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ mod๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€๋Š” [mod๊ฐ€ ์‹คํ–‰๋˜๋Š” ์œ„์น˜](#where-mods-run)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ์„ค์ • ํ›…, ์Šคํ‚ฌ ๋˜๋Š” MCP ์„œ๋ฒ„๋กœ ์ด๋ฏธ ํ•„์š”ํ•œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด mod๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „์— [์ด๋“ค์„ ๋น„๊ต](#compare-mods-settings-hooks-skills-and-mcp-servers)ํ•ด ๋ณด์„ธ์š”. ์กฐ์ง์˜ mod๋ฅผ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด [์กฐ์ง์˜ mod ๊ด€๋ฆฌํ•˜๊ธฐ](/docs/ko/plugins/mods/admin)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.27mod๋Š” Claude Code CLI, Claude Desktop ์•ฑ์˜ Code ํƒญ, VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. `claude -p`, ํด๋ผ์šฐ๋“œ ์„ธ์…˜ ๋“ฑ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ mod๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€๋Š” [mod๊ฐ€ ์‹คํ–‰๋˜๋Š” ์œ„์น˜](#where-mods-run)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ์„ค์ • ํ›…, ์Šคํ‚ฌ ๋˜๋Š” MCP ์„œ๋ฒ„๋กœ ์ด๋ฏธ ํ•„์š”ํ•œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด mod๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „์— [์ด๋“ค์„ ๋น„๊ต](#compare-mods-settings-hooks-skills-and-mcp-servers)ํ•ด ๋ณด์„ธ์š”. ์กฐ์ง์˜ mod๋ฅผ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด [์กฐ์ง์˜ mod ๊ด€๋ฆฌํ•˜๊ธฐ](/docs/ko/plugins/mods/admin)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

28 28 

29<h2 id="get-a-mod">29<h2 id="get-a-mod">

30 mod ๊ฐ€์ ธ์˜ค๊ธฐ30 mod ๊ฐ€์ ธ์˜ค๊ธฐ


212 mod๊ฐ€ ์‹คํ–‰๋˜๋Š” ์œ„์น˜212 mod๊ฐ€ ์‹คํ–‰๋˜๋Š” ์œ„์น˜

213</h3>213</h3>

214 214 

215mod์˜ ํ›…์€ Amazon Bedrock, Google Cloud์˜ Agent Platform, Microsoft Foundry๋ฅผ ํฌํ•จํ•ด ์–ด๋–ค ๊ณต๊ธ‰์ž๊ฐ€ ๋ชจ๋ธ์„ ์ œ๊ณตํ•˜๋“  ๊ด€๊ณ„์—†์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋กœ๋“œํ•˜๋Š” ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์„ธ์…˜์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ธฐ๋Š” ๋ฒ”์œ„๊ฐ€ ๋” ์ข์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„๊ณผ Desktop ์•ฑ๋งŒ mod์˜ ์ฐฝ, ๋ฐด๋“œ, ๋Œ€์ฒด๋œ ํ–‰์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ํ‘œ๋Š” Claude Code๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ ์œ„์น˜๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.215mod์˜ ํ›…์€ Amazon Bedrock, Google Cloud์˜ Agent Platform, Microsoft Foundry๋ฅผ ํฌํ•จํ•ด ์–ด๋–ค ๊ณต๊ธ‰์ž๊ฐ€ ๋ชจ๋ธ์„ ์ œ๊ณตํ•˜๋“  ๊ด€๊ณ„์—†์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋กœ๋“œํ•˜๋Š” ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์„ธ์…˜์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ธฐ๋Š” ๋ฒ”์œ„๊ฐ€ ๋” ์ข์Šต๋‹ˆ๋‹ค. mod๊ฐ€ ๊ทธ๋ฆฐ ๋‚ด์šฉ์€ ํ„ฐ๋ฏธ๋„, Desktop ์•ฑ, VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ํ‘œ๋Š” Claude Code๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ ์œ„์น˜๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.

216 216 

217| Claude Code๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์œ„์น˜ | ํ›… ์‹คํ–‰ ์—ฌ๋ถ€ | mod๊ฐ€ ๊ทธ๋ฆฐ ๋‚ด์šฉ ํ‘œ์‹œ ์—ฌ๋ถ€ |217| Claude Code๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์œ„์น˜ | ํ›… ์‹คํ–‰ ์—ฌ๋ถ€ | mod๊ฐ€ ๊ทธ๋ฆฐ ๋‚ด์šฉ ํ‘œ์‹œ ์—ฌ๋ถ€ |

218| :- | :- | :- |218| :- | :- | :- |

219| ์—๋””ํ„ฐ์˜ ํ†ตํ•ฉ ํ„ฐ๋ฏธ๋„๊ณผ JetBrains ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํฌํ•จํ•œ ํ„ฐ๋ฏธ๋„์˜ `claude` | ์˜ˆ | ์˜ˆ |219| ์—๋””ํ„ฐ์˜ ํ†ตํ•ฉ ํ„ฐ๋ฏธ๋„๊ณผ JetBrains ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํฌํ•จํ•œ ํ„ฐ๋ฏธ๋„์˜ `claude` | ์˜ˆ | ์˜ˆ |

220| Desktop ์•ฑ์˜ Code ํƒญ(WSL ์„ธ์…˜ ์ œ์™ธ) | ์˜ˆ | ์˜ˆ. ๋‹จ, [์š”์†Œ ํ‘œ](/docs/ko/plugins/mods/reference#elements)์—์„œ ํ„ฐ๋ฏธ๋„ ์ „์šฉ์œผ๋กœ ํ‘œ์‹œ๋œ ์š”์†Œ๋Š” ์ œ์™ธ |220| Desktop ์•ฑ์˜ Code ํƒญ(WSL ์„ธ์…˜ ์ œ์™ธ) | ์˜ˆ | ์˜ˆ. ๋‹จ, [์š”์†Œ ํ‘œ](/docs/ko/plugins/mods/reference#elements)์—์„œ ํ„ฐ๋ฏธ๋„ ์ „์šฉ์œผ๋กœ ํ‘œ์‹œ๋œ ์š”์†Œ๋Š” ์ œ์™ธ |

221| Desktop ์•ฑ์˜ [WSL ์„ธ์…˜](/docs/ko/desktop-wsl) | ์•„๋‹ˆ์š”. WSL ์„ธ์…˜์—์„œ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค | ์•„๋‹ˆ์š” |221| Desktop ์•ฑ์˜ [WSL ์„ธ์…˜](/docs/ko/desktop-wsl) | ์•„๋‹ˆ์š”. WSL ์„ธ์…˜์—์„œ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค | ์•„๋‹ˆ์š” |

222| VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์˜ ์ฑ„ํŒ… ํŒจ๋„ | ์˜ˆ | ์•„๋‹ˆ์š” |222| VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์˜ ์ฑ„ํŒ… ํŒจ๋„ | ์˜ˆ | ์˜ˆ. ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ๋ฒ„์ „ 2.1.299 ์ด์ƒ์ด๋ฉฐ [๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”](/docs/ko/env-vars#features-that-need-feature-flag-fetching) ์„ธ์…˜์ธ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ํŒจ๋„์ด ๊ทธ๋ฆฌ๋Š” ํ•ญ๋ชฉ์€ [๋ Œ๋”๋ง ์ง€์ ](/docs/ko/plugins/mods/reference#render-sites) ํ‘œ์™€ [์š”์†Œ](/docs/ko/plugins/mods/reference#elements) ํ‘œ์— ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. |

223| `claude -p` ๋ฐ [Agent SDK](/docs/ko/agent-sdk/overview) | ์˜ˆ | ์•„๋‹ˆ์š” |223| `claude -p` ๋ฐ [Agent SDK](/docs/ko/agent-sdk/overview) | ์˜ˆ | ์•„๋‹ˆ์š” |

224| claude.ai ๋˜๋Š” ๋ชจ๋ฐ”์ผ ์•ฑ์—์„œ์˜ [Remote Control](/docs/ko/remote-control) | ์˜ˆ. ์‚ฌ์šฉ์ž ์ปดํ“จํ„ฐ์˜ ์„ธ์…˜์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค | ์‚ฌ์šฉ์ž ์ปดํ“จํ„ฐ์˜ ํ„ฐ๋ฏธ๋„์—์„œ ํ‘œ์‹œ |224| claude.ai ๋˜๋Š” ๋ชจ๋ฐ”์ผ ์•ฑ์—์„œ์˜ [Remote Control](/docs/ko/remote-control) | ์˜ˆ. ์‚ฌ์šฉ์ž ์ปดํ“จํ„ฐ์˜ ์„ธ์…˜์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค | ์‚ฌ์šฉ์ž ์ปดํ“จํ„ฐ์˜ ํ„ฐ๋ฏธ๋„์—์„œ ํ‘œ์‹œ |

225| [ํด๋ผ์šฐ๋“œ ์„ธ์…˜](/docs/ko/claude-code-on-the-web) | ์˜ˆ. [ํด๋ผ์šฐ๋“œ ์„ธ์…˜์— ์ „๋‹ฌ๋˜๋Š”](/docs/ko/cloud-environments#what-carries-over-from-your-setup) ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ฒฝ์šฐ | ์•„๋‹ˆ์š” |225| [ํด๋ผ์šฐ๋“œ ์„ธ์…˜](/docs/ko/claude-code-on-the-web) | ์˜ˆ. [ํด๋ผ์šฐ๋“œ ์„ธ์…˜์— ์ „๋‹ฌ๋˜๋Š”](/docs/ko/cloud-environments#what-carries-over-from-your-setup) ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ฒฝ์šฐ | ์•„๋‹ˆ์š” |

Details

6 6 

7> Claude Code mod์— ๋Œ€ํ•œ ์ „์ฒด ์ฐธ์กฐ: ํ›… ๋ชจ๋“ˆ ๋ ˆ์ด์•„์›ƒ, ์ด๋ฒคํŠธ, mods API ๋ฉ”์„œ๋“œ, ๋ Œ๋”๋ง ์ง€์ , ์‚ฌ์šฉ ํ™˜๊ฒฝ๋ณ„ ์š”์†Œ, ์ œํ•œ ๋ฐ ์„ค์ •.7> Claude Code mod์— ๋Œ€ํ•œ ์ „์ฒด ์ฐธ์กฐ: ํ›… ๋ชจ๋“ˆ ๋ ˆ์ด์•„์›ƒ, ์ด๋ฒคํŠธ, mods API ๋ฉ”์„œ๋“œ, ๋ Œ๋”๋ง ์ง€์ , ์‚ฌ์šฉ ํ™˜๊ฒฝ๋ณ„ ์š”์†Œ, ์ œํ•œ ๋ฐ ์„ค์ •.

8 8 

9v2.1.290 ๊ธฐ์ค€ Claude Code CLI ๋ฐ Desktop ์•ฑ์—์„œ [mod](/docs/ko/plugins/mods/overview)๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฒคํŠธ, ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” mods API ๋ฉ”์„œ๋“œ, ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ Œ๋”๋ง ์ง€์ ์„ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ํ•ญ๋ชฉ์—๋Š” ์ด๋ฆ„๊ณผ ํ•œ ์ค„ ์„ค๋ช…์ด ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ฐ€์ด๋“œ ์„น์…˜์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ์„น์…˜์œผ๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.9[mod](/docs/ko/plugins/mods/overview)๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฒคํŠธ, ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” mods API ๋ฉ”์„œ๋“œ, ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ Œ๋”๋ง ์ง€์ ์„ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ญ๋ชฉ์€ v2.1.290 ๊ธฐ์ค€ Claude Code CLI ๋ฐ Desktop ์•ฑ๊ณผ v2.1.299 ๊ธฐ์ค€ VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๊ฐ ํ•ญ๋ชฉ์—๋Š” ์ด๋ฆ„๊ณผ ํ•œ ์ค„ ์„ค๋ช…์ด ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ฐ€์ด๋“œ ์„น์…˜์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ์„น์…˜์œผ๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

10 10 

11<Note>11<Note>

12 ์ „์ฒด ์ฐธ์กฐ๋Š” Claude Code์˜ [mod์šฉ TypeScript ์„ ์–ธ](https://github.com/anthropics/claude-code/blob/main/mods/types/claude-code.d.ts)์œผ๋กœ, ๋ชจ๋“  ์ด๋ฒคํŠธ, ๋ฉ”์„œ๋“œ, ์š”์†Œ๋ฅผ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. GitHub์˜ ์‚ฌ๋ณธ์€ ์„ค์น˜๋œ Claude Code ๋ฒ„์ „๋ณด๋‹ค ์˜ค๋ž˜๋œ ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋‚ด์šฉ์ด ์„œ๋กœ ๋‹ค๋ฅผ ๊ฒฝ์šฐ [Claude Code๊ฐ€ ํ•ด๋‹น ๋ฒ„์ „์— ๋งž๊ฒŒ ์ž‘์„ฑํ•˜๋Š” ์‚ฌ๋ณธ](/docs/ko/plugins/mods/create#get-the-types-for-your-build)์„ ์‹ ๋ขฐํ•˜์‹ญ์‹œ์˜ค.12 ์ „์ฒด ์ฐธ์กฐ๋Š” Claude Code์˜ [mod์šฉ TypeScript ์„ ์–ธ](https://github.com/anthropics/claude-code/blob/main/mods/types/claude-code.d.ts)์œผ๋กœ, ๋ชจ๋“  ์ด๋ฒคํŠธ, ๋ฉ”์„œ๋“œ, ์š”์†Œ๋ฅผ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. GitHub์˜ ์‚ฌ๋ณธ์€ ์„ค์น˜๋œ Claude Code ๋ฒ„์ „๋ณด๋‹ค ์˜ค๋ž˜๋œ ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋‚ด์šฉ์ด ์„œ๋กœ ๋‹ค๋ฅผ ๊ฒฝ์šฐ [Claude Code๊ฐ€ ํ•ด๋‹น ๋ฒ„์ „์— ๋งž๊ฒŒ ์ž‘์„ฑํ•˜๋Š” ์‚ฌ๋ณธ](/docs/ko/plugins/mods/create#get-the-types-for-your-build)์„ ์‹ ๋ขฐํ•˜์‹ญ์‹œ์˜ค.


255 ๋ Œ๋”๋ง ์ง€์ 255 ๋ Œ๋”๋ง ์ง€์ 

256</h2>256</h2>

257 257 

258๋ Œ๋”๋ง ์ง€์ ์€ Claude Code ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ™•์žฅ ์ง€์ ์ž…๋‹ˆ๋‹ค. ๊ฐ ํ–‰์€ `ui.render` ํ›…์—์„œ `e.component`์˜ ๊ฐ’์ด๋ฉฐ, `e.props`์˜ ํ•„๋“œ์™€ ํ•ด๋‹น ์ง€์ ์„ ๋ Œ๋”๋งํ•˜๋Š” ์•ฑ์„ ํ•จ๊ป˜ ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค. `e.surface`๋Š” `terminal` ๋˜๋Š” `desktop`์ž…๋‹ˆ๋‹ค. [Claude Code๊ฐ€ ์ด๋ฏธ ๊ทธ๋ฆฌ๋Š” ์š”์†Œ ๋ณ€๊ฒฝํ•˜๊ธฐ](/docs/ko/plugins/mods/interface#change-what-claude-code-already-draws)์—์„œ๋Š” ํ›…์ด ๊ฐ ์ง€์ ์—์„œ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์„ ํƒ์ง€๋ณ„ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค.258๋ Œ๋”๋ง ์ง€์ ์€ Claude Code ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ™•์žฅ ์ง€์ ์ž…๋‹ˆ๋‹ค. ๊ฐ ํ–‰์€ `ui.render` ํ›…์—์„œ `e.component`์˜ ๊ฐ’์ด๋ฉฐ, `e.props`์˜ ํ•„๋“œ์™€ ํ•ด๋‹น ์ง€์ ์„ ๋ Œ๋”๋งํ•˜๋Š” ์•ฑ์„ ํ•จ๊ป˜ ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค. `e.surface`๋Š” `terminal`, `desktop`, `vscode`์ฒ˜๋Ÿผ ๊ทธ๋ฆฌ๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์•ฑ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. [Claude Code๊ฐ€ ์ด๋ฏธ ๊ทธ๋ฆฌ๋Š” ์š”์†Œ ๋ณ€๊ฒฝํ•˜๊ธฐ](/docs/ko/plugins/mods/interface#change-what-claude-code-already-draws)์—์„œ๋Š” ํ›…์ด ๊ฐ ์ง€์ ์—์„œ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์„ ํƒ์ง€๋ณ„ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค.

259 

260VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ Œ๋”๋งํ•˜๋ ค๋ฉด ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ๋ฒ„์ „ 2.1.299 ์ด์ƒ๊ณผ [๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”](/docs/ko/env-vars#features-that-need-feature-flag-fetching) ์„ธ์…˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. [VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ทธ๋ฆฌ๊ธฐ](/docs/ko/plugins/mods/interface#draw-in-the-vs-code-extension)์— ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์ด ๋‹ค๋ฅด๊ฒŒ ๊ทธ๋ฆฌ๋Š” ์š”์†Œ๊ฐ€ ์ •๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

259 261 

260| ์ง€์  | `e.props` | `e.requestId` | ๋ Œ๋”๋ง ์œ„์น˜ |262| ์ง€์  | `e.props` | `e.requestId` | ๋ Œ๋”๋ง ์œ„์น˜ |

261| :- | :- | :- | :- |263| :- | :- | :- | :- |

262| [`Pane`](/docs/ko/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | ์ฐฝ์˜ `id` | ํ„ฐ๋ฏธ๋„, Desktop |264| [`Pane`](/docs/ko/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | ์ฐฝ์˜ `id` | ํ„ฐ๋ฏธ๋„, Desktop, VS Code |

263| [`AbovePrompt`](/docs/ko/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | ๋‹จ์ผ ์ธ์Šคํ„ด์Šค | ํ„ฐ๋ฏธ๋„, Desktop |265| [`AbovePrompt`](/docs/ko/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | ๋‹จ์ผ ์ธ์Šคํ„ด์Šค | ํ„ฐ๋ฏธ๋„, Desktop |

264| `UserMessage` | `text`, `origin`, `isExpanded`, ๊ทธ๋ฆฌ๊ณ  origin์— ๋”ฐ๋ผ `task` ๋˜๋Š” `from` | ๋ฉ”์‹œ์ง€ id | ํ„ฐ๋ฏธ๋„, Desktop |266| `UserMessage` | `text`, `origin`, `isExpanded`, ๊ทธ๋ฆฌ๊ณ  origin์— ๋”ฐ๋ผ `task` ๋˜๋Š” `from` | ๋ฉ”์‹œ์ง€ id | ํ„ฐ๋ฏธ๋„, Desktop, VS Code |

265| `AssistantMessage` | ์‘๋‹ต์˜ ํ…์ŠคํŠธ | ๋ฉ”์‹œ์ง€ id | ํ„ฐ๋ฏธ๋„, Desktop |267| `AssistantMessage` | ์‘๋‹ต์˜ ํ…์ŠคํŠธ | ๋ฉ”์‹œ์ง€ id | ํ„ฐ๋ฏธ๋„, Desktop, VS Code |

266| `ToolUse`, `ToolResult`, `ToolGroup` | ๋„๊ตฌ์˜ ์ด๋ฆ„, ์ž…๋ ฅ, ๊ฒฐ๊ณผ | ๋„๊ตฌ ํ˜ธ์ถœ id | ํ„ฐ๋ฏธ๋„, Desktop |268| `ToolUse`, `ToolResult`, `ToolGroup` | ๋„๊ตฌ์˜ ์ด๋ฆ„, ์ž…๋ ฅ, ๊ฒฐ๊ณผ | ๋„๊ตฌ ํ˜ธ์ถœ id | ํ„ฐ๋ฏธ๋„, Desktop, VS Code |

267| `CommandOutput` | `command`, `text` | ๋ฉ”์‹œ์ง€ id | ํ„ฐ๋ฏธ๋„, Desktop |269| `CommandOutput` | `command`, `text` | ๋ฉ”์‹œ์ง€ id | ํ„ฐ๋ฏธ๋„, Desktop |

268| [`AskUserQuestion`](/docs/ko/plugins/mods/interface#change-what-claude-code-already-draws) | ์งˆ๋ฌธ๊ณผ ์„ ํƒ์ง€ | ๋„๊ตฌ ํ˜ธ์ถœ id | ํ„ฐ๋ฏธ๋„, Desktop |270| [`AskUserQuestion`](/docs/ko/plugins/mods/interface#change-what-claude-code-already-draws) | ์งˆ๋ฌธ๊ณผ ์„ ํƒ์ง€ | ๋„๊ตฌ ํ˜ธ์ถœ id | ํ„ฐ๋ฏธ๋„, Desktop, VS Code |

269| `ToolProgress` | `kind` | ๋„๊ตฌ ํ˜ธ์ถœ id | ํ„ฐ๋ฏธ๋„ |271| `ToolProgress` | `kind` | ๋„๊ตฌ ํ˜ธ์ถœ id | ํ„ฐ๋ฏธ๋„ |

270| [`Spinner`](/docs/ko/plugins/mods/interface#change-what-claude-code-already-draws) | `word`, `message`, `suffix`, `mode` | ์—์ด์ „ํŠธ id | ํ„ฐ๋ฏธ๋„, Desktop |272| [`Spinner`](/docs/ko/plugins/mods/interface#change-what-claude-code-already-draws) | `word`, `message`, `suffix`, `mode` | ์—์ด์ „ํŠธ id | ํ„ฐ๋ฏธ๋„, Desktop, VS Code |

271| `TurnDuration` | `word`, `durationMs` | ๋ฉ”์‹œ์ง€ id | ํ„ฐ๋ฏธ๋„ |273| `TurnDuration` | `word`, `durationMs` | ๋ฉ”์‹œ์ง€ id | ํ„ฐ๋ฏธ๋„ |

272| `InfoNotice` | `text`, `command` | ๋ฉ”์‹œ์ง€ id | ํ„ฐ๋ฏธ๋„ |274| `InfoNotice` | `text`, `command` | ๋ฉ”์‹œ์ง€ id | ํ„ฐ๋ฏธ๋„ |

273| `SessionMode` | `modes` | ๋‹จ์ผ ์ธ์Šคํ„ด์Šค | ํ„ฐ๋ฏธ๋„, Desktop |275| `SessionMode` | `modes` | ๋‹จ์ผ ์ธ์Šคํ„ด์Šค | ํ„ฐ๋ฏธ๋„, Desktop |

274| `PromptHint` | `isDraft`, `isWorking`, `hint` | ๋‹จ์ผ ์ธ์Šคํ„ด์Šค | ํ„ฐ๋ฏธ๋„, Desktop |276| `PromptHint` | `isDraft`, `isWorking`, `hint` | ๋‹จ์ผ ์ธ์Šคํ„ด์Šค | ํ„ฐ๋ฏธ๋„, Desktop |

275 277 

276`e.viewport`์—๋Š” `columns`, `rows`, `isFullscreen`์ด ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฑ์ด ์ฐฝ ํฌ๊ธฐ๋ฅผ ์ธก์ •ํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ์ฒด์˜ `rows`๋Š” ์‚ฌ์šฉ์ž์˜ ์ฐฝ(pane)์ด ์•„๋‹ˆ๋ผ ์ „์ฒด ์œˆ๋„์šฐ์˜ ๋†’์ด์ž…๋‹ˆ๋‹ค.278`e.viewport`์—๋Š” `columns`, `rows`, `isFullscreen`์ด ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„๊ณผ Desktop ์•ฑ์—์„œ๋Š” ์•ฑ์ด ์ฐฝ ํฌ๊ธฐ๋ฅผ ์ธก์ •ํ•˜๊ธฐ ์ „๊นŒ์ง€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ๊ฒฝ์šฐ `rows`๋Š” ์‚ฌ์šฉ์ž์˜ ์ฐฝ(pane)์ด ์•„๋‹ˆ๋ผ ์ „์ฒด ์œˆ๋„์šฐ์˜ ๋†’์ด์ž…๋‹ˆ๋‹ค. VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ํ•ญ์ƒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

277 279 

278ํŠธ๋ฆฌ๋ฅผ ํ•ด๋‹น ์ง€์ ์— ๋งž์ถ”๋ ค๋ฉด ํ›…์—์„œ ๋‹ค์Œ prop์„ ์ฝ์Šต๋‹ˆ๋‹ค.280ํŠธ๋ฆฌ๋ฅผ ํ•ด๋‹น ์ง€์ ์— ๋งž์ถ”๋ ค๋ฉด ํ›…์—์„œ ๋‹ค์Œ prop์„ ์ฝ์Šต๋‹ˆ๋‹ค.

279 281 


289 291 

290์š”์†Œ๋Š” `ui.render` ํ›…์ด ๋ฐ˜ํ™˜ํ•˜๋Š” ํŠธ๋ฆฌ์˜ ๊ตฌ์„ฑ ์š”์†Œ์ด๋ฉฐ, `$.ui.resolve(e)`์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. [์š”์†Œ๋กœ ํŠธ๋ฆฌ ๋งŒ๋“ค๊ธฐ](/docs/ko/plugins/mods/interface#build-a-tree-from-elements)์—์„œ๋Š” ์ž์ฃผ ์“ฐ์ด๋Š” ์š”์†Œ์™€ ํ„ฐ๋ฏธ๋„์ด ์ด๋ฅผ ๊ทธ๋ฆฌ๋Š” ๋ฐฉ์‹์„ ๋ณด์—ฌ ์ฃผ๋ฉฐ, [์ธํ„ฐํŽ˜์ด์Šค ๊ฐค๋Ÿฌ๋ฆฌ](/docs/ko/plugins/mods/gallery)์—์„œ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์š”์†Œ์— ๋Œ€ํ•œ ์Šคํฌ๋ฆฐ์ƒท์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒดํฌ ํ‘œ์‹œ๋Š” ์•ฑ์ด ํ•ด๋‹น ์š”์†Œ๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.292์š”์†Œ๋Š” `ui.render` ํ›…์ด ๋ฐ˜ํ™˜ํ•˜๋Š” ํŠธ๋ฆฌ์˜ ๊ตฌ์„ฑ ์š”์†Œ์ด๋ฉฐ, `$.ui.resolve(e)`์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. [์š”์†Œ๋กœ ํŠธ๋ฆฌ ๋งŒ๋“ค๊ธฐ](/docs/ko/plugins/mods/interface#build-a-tree-from-elements)์—์„œ๋Š” ์ž์ฃผ ์“ฐ์ด๋Š” ์š”์†Œ์™€ ํ„ฐ๋ฏธ๋„์ด ์ด๋ฅผ ๊ทธ๋ฆฌ๋Š” ๋ฐฉ์‹์„ ๋ณด์—ฌ ์ฃผ๋ฉฐ, [์ธํ„ฐํŽ˜์ด์Šค ๊ฐค๋Ÿฌ๋ฆฌ](/docs/ko/plugins/mods/gallery)์—์„œ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์š”์†Œ์— ๋Œ€ํ•œ ์Šคํฌ๋ฆฐ์ƒท์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒดํฌ ํ‘œ์‹œ๋Š” ์•ฑ์ด ํ•ด๋‹น ์š”์†Œ๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

291 293 

292| ์š”์†Œ | ์ฃผ์š” prop | ํ„ฐ๋ฏธ๋„ | ๋ฐ์Šคํฌํ†ฑ |294| ์š”์†Œ | ์ฃผ์š” prop | ํ„ฐ๋ฏธ๋„ | ๋ฐ์Šคํฌํ†ฑ | VS Code |

293| :- | :- | :-: | :-: |295| :- | :- | :-: | :-: | :-: |

294| [`Box`](/docs/ko/plugins/mods/interface#build-a-tree-from-elements) | `key`, flex ๋ ˆ์ด์•„์›ƒ, `gap`, `padding`, `margin`, `width`, `height`, [`borderStyle`](#box-border-styles), `backgroundColor`, `position`, `hover` | โœ“ | โœ“ |296| [`Box`](/docs/ko/plugins/mods/interface#build-a-tree-from-elements) | `key`, flex ๋ ˆ์ด์•„์›ƒ, `gap`, `padding`, `margin`, `width`, `height`, [`borderStyle`](#box-border-styles), `backgroundColor`, `position`, `hover` | โœ“ | โœ“ | โœ“ |

295| [`Text`](/docs/ko/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | โœ“ | โœ“ |297| [`Text`](/docs/ko/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | โœ“ | โœ“ | โœ“ |

296| [`Button`](/docs/ko/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | โœ“ | โœ“ |298| [`Button`](/docs/ko/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | โœ“ | โœ“ | โœ“ |

297| [`Link`](/docs/ko/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. [์ œํ•œ ์‚ฌํ•ญ](#limits)์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. | โœ“ | โœ“ |299| [`Link`](/docs/ko/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. [์ œํ•œ ์‚ฌํ•ญ](#limits)์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. | โœ“ | โœ“ | โœ“ |

298| [`Code`](/docs/ko/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | โœ“ | โœ“ |300| [`Code`](/docs/ko/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | โœ“ | โœ“ | โœ“ |

299| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | โœ“ | โœ“ |301| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | โœ“ | โœ“ | โœ“ |

300| [`Input`](/docs/ko/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`, `label`, `placeholder`, `value`, `submitLabel`, `onSubmit`, `onInput`, `autoFocus` | โœ“ | โœ“ |302| [`Input`](/docs/ko/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`, `label`, `placeholder`, `value`, `submitLabel`, `onSubmit`, `onInput`, `autoFocus` | โœ“ | โœ“ | โœ“ |

301| `Select` | `key`, `label`, `options`, `value`, `onSelect`, `autoFocus` | โœ“ | โœ“ |303| `Select` | `key`, `label`, `options`, `value`, `onSelect`, `autoFocus` | โœ“ | โœ“ | โœ“ |

302| `Svg` | SVG ๋ฌธ์„œ, ์ตœ๋Œ€ 131,072์ž | | โœ“ |304| `Svg` | SVG ๋ฌธ์„œ, ์ตœ๋Œ€ 131,072์ž | | โœ“ | โœ“ |

303| [`Client`](/docs/ko/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | โœ“ | โœ“ |305| [`Client`](/docs/ko/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | โœ“ | โœ“ | |

304| [`Raster`](/docs/ko/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, ์ตœ๋Œ€ 512์˜ `columns`, ์ตœ๋Œ€ 256์˜ `rows`, `cells`. [์ƒ‰์ƒ ์…€ ๊ทธ๋ฆฌ๋“œ ๊ทธ๋ฆฌ๊ธฐ](/docs/ko/plugins/mods/interface#draw-a-grid-of-colored-cells)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. | โœ“ | |306| [`Raster`](/docs/ko/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, ์ตœ๋Œ€ 512์˜ `columns`, ์ตœ๋Œ€ 256์˜ `rows`, `cells`. [์ƒ‰์ƒ ์…€ ๊ทธ๋ฆฌ๋“œ ๊ทธ๋ฆฌ๊ธฐ](/docs/ko/plugins/mods/interface#draw-a-grid-of-colored-cells)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. | โœ“ | | |

305| `Image` | ์ตœ๋Œ€ 2 MiB์˜ PNG ๋˜๋Š” RGBA ๋ฐ”์ดํŠธ ๋˜๋Š” ํŒŒ์ผ ๊ฒฝ๋กœ, ๊ฐ๊ฐ ์ตœ๋Œ€ 255์˜ `columns` ๋ฐ `rows`, `alt` ํ…์ŠคํŠธ. | โœ“ | |307| `Image` | ์ตœ๋Œ€ 2 MiB์˜ PNG ๋˜๋Š” RGBA ๋ฐ”์ดํŠธ ๋˜๋Š” ํŒŒ์ผ ๊ฒฝ๋กœ, ๊ฐ๊ฐ ์ตœ๋Œ€ 255์˜ `columns` ๋ฐ `rows`, `alt` ํ…์ŠคํŠธ. | โœ“ | | |

306 308 

307`Button`์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ๊ทœ์น™: `action`์€ Claude Code ์ž์ฒด์˜ [ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค ์•ก์…˜](/docs/ko/keybindings) ์ค‘ ํ•˜๋‚˜๋ฅผ ์ง€์ •ํ•˜๋ฉฐ, ํ•ด๋‹น ์•ก์…˜์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž์˜ ๋ฐ”์ธ๋”ฉ์ด ์ฝ”๋“œ(chord) ๋˜๋Š” ์ˆ˜์ •์ž ํ‚ค ์กฐํ•ฉ์ธ ๊ฒฝ์šฐ ๊ทธ ๋ฐ”์ธ๋”ฉ์œผ๋กœ ๋ฒ„ํŠผ์ด ๋ˆŒ๋ฆฝ๋‹ˆ๋‹ค. ๋ฐด๋“œ์— ์žˆ๋Š” ๋ฒ„ํŠผ์˜ ์ˆซ์ž `hotkey`๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋นˆ ํ”„๋กฌํ”„ํŠธ์— ํ•ด๋‹น ์ˆซ์ž๋งŒ ์ž…๋ ฅํ•˜๊ณ  ์ž ์‹œ ๋ฉˆ์ถœ ๋•Œ๋„ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ๊ทธ๋ฆฌ๊ธฐ์—์„œ ๋‘ ๋ฒ„ํŠผ์ด ๋™์ผํ•œ `hotkey`๋ฅผ ์ง€์ •ํ•˜๋ฉด ๋‚˜์ค‘์˜ ๋ฒ„ํŠผ์ด ์ด๋ฅผ ๊ฐ€์ ธ๊ฐ‘๋‹ˆ๋‹ค. `autoFocus`๋Š” ๋ชจ๋“  ์ปจํŠธ๋กค์—์„œ `true`๋งŒ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ, ์ด๋ฅผ ๋„๋ ค๋ฉด ํ•ด๋‹น prop์„ ์ƒ๋žตํ•˜์‹ญ์‹œ์˜ค.309`Button`์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ๊ทœ์น™: `action`์€ Claude Code ์ž์ฒด์˜ [ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค ์•ก์…˜](/docs/ko/keybindings) ์ค‘ ํ•˜๋‚˜๋ฅผ ์ง€์ •ํ•˜๋ฉฐ, ํ•ด๋‹น ์•ก์…˜์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž์˜ ๋ฐ”์ธ๋”ฉ์ด ์ฝ”๋“œ(chord) ๋˜๋Š” ์ˆ˜์ •์ž ํ‚ค ์กฐํ•ฉ์ธ ๊ฒฝ์šฐ ๊ทธ ๋ฐ”์ธ๋”ฉ์œผ๋กœ ๋ฒ„ํŠผ์ด ๋ˆŒ๋ฆฝ๋‹ˆ๋‹ค. ๋ฐด๋“œ์— ์žˆ๋Š” ๋ฒ„ํŠผ์˜ ์ˆซ์ž `hotkey`๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋นˆ ํ”„๋กฌํ”„ํŠธ์— ํ•ด๋‹น ์ˆซ์ž๋งŒ ์ž…๋ ฅํ•˜๊ณ  ์ž ์‹œ ๋ฉˆ์ถœ ๋•Œ๋„ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ๊ทธ๋ฆฌ๊ธฐ์—์„œ ๋‘ ๋ฒ„ํŠผ์ด ๋™์ผํ•œ `hotkey`๋ฅผ ์ง€์ •ํ•˜๋ฉด ๋‚˜์ค‘์˜ ๋ฒ„ํŠผ์ด ์ด๋ฅผ ๊ฐ€์ ธ๊ฐ‘๋‹ˆ๋‹ค. `autoFocus`๋Š” ๋ชจ๋“  ์ปจํŠธ๋กค์—์„œ `true`๋งŒ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ, ์ด๋ฅผ ๋„๋ ค๋ฉด ํ•ด๋‹น prop์„ ์ƒ๋žตํ•˜์‹ญ์‹œ์˜ค.

308 310 

311VS Code ํ™•์žฅ์€ ์ผ๋ถ€ ์š”์†Œ prop์„ ๋ฌด์‹œํ•˜๊ณ , ํ•ด๋‹น prop์„ ์ƒ๋žตํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์š”์†Œ๋ฅผ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค.

312 

313* **`Box`**: `position` ๋ฐ `hover`

314* **`Button`**: `hotkey`, `plain`, `autoFocus`, `action`. ๋”ฐ๋ผ์„œ VS Code์—์„œ๋Š” ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜, ๋ฒ„ํŠผ์— ํฌ์ปค์Šค๊ฐ€ ์žˆ์„ ๋•Œ Enter๋ฅผ ๋ˆŒ๋Ÿฌ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค

315* **`Code`**: `language`, `path`, `startLine`, `format`, `wrap`. ๋”ฐ๋ผ์„œ ์ฝ”๋“œ๋Š” ์ƒ‰์ƒ์ด๋‚˜ ์ค„ ๋ฒˆํ˜ธ ์—†์ด ๊ทธ๋ ค์ง€๋ฉฐ, `format: 'diff'` ๋ธ”๋ก์€ diff์˜ ์›์‹œ ํ…์ŠคํŠธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค

316* **`Input` ๋ฐ `Select`**: `autoFocus`

317 

309<h3 id="box-border-styles">318<h3 id="box-border-styles">

310 `Box` ํ…Œ๋‘๋ฆฌ ์Šคํƒ€์ผ319 `Box` ํ…Œ๋‘๋ฆฌ ์Šคํƒ€์ผ

311</h3>320</h3>

Details

289 ๋‹จ์ถ•ํ‚ค๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ289 ๋‹จ์ถ•ํ‚ค๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ

290</h3>290</h3>

291 291 

292pane์— ํ‚ค๋ณด๋“œ ํฌ์ปค์Šค๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.292pane์— ํ‚ค๋ณด๋“œ ํฌ์ปค์Šค๊ฐ€ ์—†๊ฑฐ๋‚˜, ๋ฒ„ํŠผ์— ๋‹จ์ถ•ํ‚ค๊ฐ€ ์—†๋Š” VS Code ํ™•์žฅ์—์„œ ๊ทธ๋ฆผ์ด ํ‘œ์‹œ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹นํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

293 293 

294Ctrl+X๋ฅผ ๋ˆ„๋ฅธ ๋‹ค์Œ Tab์„ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ pane์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์—์„œ `focus: true`๋กœ pane์„ ์—ฝ๋‹ˆ๋‹ค.294* **ํ‚ค๋ณด๋“œ ํฌ์ปค์Šค๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ**: Ctrl+X๋ฅผ ๋ˆ„๋ฅธ ๋‹ค์Œ Tab์„ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ pane์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. pane์ด ์—ด๋ฆด ๋•Œ ํฌ์ปค์Šค๋ฅผ ๋ฐ›๋„๋ก ํ•˜๋ ค๋ฉด ๋ช…๋ น์—์„œ `focus: true`๋กœ pane์„ ์—ฝ๋‹ˆ๋‹ค.

295* **VS Code ํ™•์žฅ์—์„œ**: ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜, ๋ฒ„ํŠผ์— ํฌ์ปค์Šค๊ฐ€ ์žˆ์„ ๋•Œ Enter๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค

295 296 

296<h3 id="a-drawing-works-in-the-terminal-and-not-in-the-desktop-app">297<h3 id="a-drawing-works-in-the-terminal-and-not-in-the-desktop-app-or-vs-code">

297 ๊ทธ๋ฆผ์ด ํ„ฐ๋ฏธ๋„์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€๋งŒ Desktop ์•ฑ์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Œ298 ๊ทธ๋ฆผ์ด ํ„ฐ๋ฏธ๋„์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€๋งŒ Desktop ์•ฑ์ด๋‚˜ VS Code์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Œ

298</h3>299</h3>

299 300 

300ํ•ด๋‹น ์ง€์  ๋˜๋Š” ์š”์†Œ๋ฅผ Desktop ์•ฑ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.301ํ•ด๋‹น ์•ฑ์ด ๊ทธ ์ง€์ ์ด๋‚˜ ์š”์†Œ๋ฅผ ๊ทธ๋ฆฌ์ง€ ์•Š๊ฑฐ๋‚˜, VS Code ํ™•์žฅ์ด mod์— ๋Œ€ํ•ด ์•„๋ฌด๊ฒƒ๋„ ๊ทธ๋ฆฌ์ง€ ์•Š๋Š” ์„ธ์…˜์ž…๋‹ˆ๋‹ค. mod์˜ ๋‹ค๋ฅธ ํ›…์€ ๊ณ„์† ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์›์ธ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

301 302 

302[๋ Œ๋”๋ง ์ง€์ ](/docs/ko/plugins/mods/reference#render-sites) ๋ฐ [์š”์†Œ](/docs/ko/plugins/mods/reference#elements) ํ‘œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.303* **ํ•ด๋‹น ์•ฑ์—์„œ ์ง€์  ๋˜๋Š” ์š”์†Œ๊ฐ€ ๊ทธ๋ ค์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ**: [๋ Œ๋”๋ง ์ง€์ ](/docs/ko/plugins/mods/reference#render-sites) ํ‘œ์—์„œ ํ•ด๋‹น ์ง€์ ์„, [์š”์†Œ](/docs/ko/plugins/mods/reference#elements) ํ‘œ์—์„œ ํ•ด๋‹น ์š”์†Œ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ์•ฑ์— ์—†๋Š” ์š”์†Œ๋ผ๋ฉด ํ›…์—์„œ `e.surface`๋ฅผ ํ™•์ธํ•˜๊ณ  ์•ฑ์ด ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” ํŠธ๋ฆฌ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

304* **VS Code ํ™•์žฅ์ด 2.1.299๋ณด๋‹ค ์˜ค๋ž˜๋œ ๊ฒฝ์šฐ**: ์ฑ„ํŒ… ํŒจ๋„์€ [ํ™•์žฅ ๋ฒ„์ „](/docs/ko/vs-code#install-the-extension) 2.1.299๋ถ€ํ„ฐ mod๋ฅผ ์œ„ํ•ด ๊ทธ๋ฆฝ๋‹ˆ๋‹ค. VS Code์˜ Extensions ๋ณด๊ธฐ์—์„œ ๋ฒ„์ „์„ ํ™•์ธํ•˜๊ณ  ๊ทธ๊ณณ์—์„œ ํ™•์žฅ์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

305* **VS Code ์„ธ์…˜์ด ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š๋Š” ๊ฒฝ์šฐ**: ์ฑ„ํŒ… ํŒจ๋„์—์„œ ๊ทธ๋ฆฌ๋ ค๋ฉด ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ ๊ฐ€์ ธ์˜ค๊ธฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Amazon Bedrock, Google Cloud์˜ Agent Platform, Microsoft Foundry๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ [Claude apps gateway](/docs/ko/claude-apps-gateway)๋ฅผ ํ†ตํ•˜๋Š” ์„ธ์…˜์€ ์ด๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋ฉฐ, [๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ ๊ฐ€์ ธ์˜ค๊ธฐ๊ฐ€ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ](/docs/ko/env-vars#features-that-need-feature-flag-fetching)์— ๋‚˜์—ด๋œ ๋‹ค๋ฅธ ๊ฒฝ์šฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ธ์…˜์—์„œ ๊ทธ๋ฆผ์„ ๋ณด๋ ค๋ฉด ๋Œ€์‹  VS Code์˜ ํ†ตํ•ฉ ํ„ฐ๋ฏธ๋„ ๊ฐ™์€ ํ„ฐ๋ฏธ๋„์—์„œ `claude`๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

303 306 

304<h2 id="an-edit-or-a-value-is-lost">307<h2 id="an-edit-or-a-value-is-lost">

305 ํŽธ์ง‘ ๋‚ด์šฉ์ด๋‚˜ ๊ฐ’์ด ์‚ฌ๋ผ์ง308 ํŽธ์ง‘ ๋‚ด์šฉ์ด๋‚˜ ๊ฐ’์ด ์‚ฌ๋ผ์ง

remote-control.md +1 โˆ’0

Details

72 | `-d`, `--debug[=<filter>]` | ์„œ๋ฒ„์— ๋Œ€ํ•œ ๋””๋ฒ„๊ทธ ๋กœ๊น…์„ ์ผœ๋ฉฐ, ์„ ํƒ์ ์œผ๋กœ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ํ•„ํ„ฐ๋Š” `--debug=api,hooks`์™€ ๊ฐ™์€ `=` ํ˜•์‹์œผ๋กœ๋งŒ ์ „๋‹ฌํ•˜์„ธ์š”. Claude Code v2.1.282 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. |72 | `-d`, `--debug[=<filter>]` | ์„œ๋ฒ„์— ๋Œ€ํ•œ ๋””๋ฒ„๊ทธ ๋กœ๊น…์„ ์ผœ๋ฉฐ, ์„ ํƒ์ ์œผ๋กœ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ํ•„ํ„ฐ๋Š” `--debug=api,hooks`์™€ ๊ฐ™์€ `=` ํ˜•์‹์œผ๋กœ๋งŒ ์ „๋‹ฌํ•˜์„ธ์š”. Claude Code v2.1.282 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. |

73 | `--debug-file <path>` | ์ฃผ์–ด์ง„ ํŒŒ์ผ์— ๋””๋ฒ„๊ทธ ๋กœ๊ทธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. |73 | `--debug-file <path>` | ์ฃผ์–ด์ง„ ํŒŒ์ผ์— ๋””๋ฒ„๊ทธ ๋กœ๊ทธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. |

74 | `--verbose` | ์ž์„ธํ•œ ์—ฐ๊ฒฐ ๋ฐ ์„ธ์…˜ ๋กœ๊ทธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. |74 | `--verbose` | ์ž์„ธํ•œ ์—ฐ๊ฒฐ ๋ฐ ์„ธ์…˜ ๋กœ๊ทธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. |

75 | `--sandbox`, `--no-sandbox` | v2.1.300์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ํ”Œ๋ž˜๊ทธ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ „๋‹ฌํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ์‹œ์ž‘ํ•˜๋Š” ๋Œ€์‹  [์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์ข…๋ฃŒ](/docs/ko/errors#sandbox-is-not-supported-by-claude-remote-control)๋ฉ๋‹ˆ๋‹ค. |

75 76 

76 `remote-control` ์•ž์— ์ „์—ญ `claude` ํ”Œ๋ž˜๊ทธ๋ฅผ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜ ๋ž˜ํผ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•˜๋‚˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด Claude Code๋Š” ์„œ๋ฒ„๊ฐ€ ์ƒ์„ฑํ•˜๋Š” ์„ธ์…˜์œผ๋กœ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ด์›”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Claude Code๋Š” `--verbose` ๋˜๋Š” `--model`๊ณผ ๊ฐ™์ด ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ญ์ œํ•ด๋„ ํ•ด๋‹น ์„ธ์…˜์ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ”Œ๋ž˜๊ทธ๋ฅผ ํ†ต๊ณผ์‹œํ‚ต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ”Œ๋ž˜๊ทธ(์˜ˆ: `--settings`)์˜ ๊ฒฝ์šฐ Claude Code๋Š” [์‹œ์ž‘์„ ๊ฑฐ๋ถ€](/docs/ko/errors#not-carried-over-to-the-sessions-remote-control-starts)ํ•˜๊ณ  ์ œ๊ฑฐํ•  ํ”Œ๋ž˜๊ทธ๋ฅผ ์ด๋ฆ„์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.77 `remote-control` ์•ž์— ์ „์—ญ `claude` ํ”Œ๋ž˜๊ทธ๋ฅผ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜ ๋ž˜ํผ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•˜๋‚˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด Claude Code๋Š” ์„œ๋ฒ„๊ฐ€ ์ƒ์„ฑํ•˜๋Š” ์„ธ์…˜์œผ๋กœ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ด์›”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Claude Code๋Š” `--verbose` ๋˜๋Š” `--model`๊ณผ ๊ฐ™์ด ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ญ์ œํ•ด๋„ ํ•ด๋‹น ์„ธ์…˜์ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ”Œ๋ž˜๊ทธ๋ฅผ ํ†ต๊ณผ์‹œํ‚ต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ”Œ๋ž˜๊ทธ(์˜ˆ: `--settings`)์˜ ๊ฒฝ์šฐ Claude Code๋Š” [์‹œ์ž‘์„ ๊ฑฐ๋ถ€](/docs/ko/errors#not-carried-over-to-the-sessions-remote-control-starts)ํ•˜๊ณ  ์ œ๊ฑฐํ•  ํ”Œ๋ž˜๊ทธ๋ฅผ ์ด๋ฆ„์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

77 78 

Details

726* **์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๊ฐ€ TLS ์ธ์ฆ์„œ ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ `poll failed:`๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ๊ณ„์† ์žฌ์‹œ๋„ํ•จ**: ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๊ฐ€ ์ˆ˜์‹ ํ•œ ์ธ์ฆ์„œ์˜ CA๋ฅผ ์‹ ๋ขฐํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ, TLS ๊ฒ€์‚ฌ ํ”„๋ก์‹œ ๋’ค์—์„œ ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ์˜ ํ™˜๊ฒฝ์—์„œ [`NODE_EXTRA_CA_CERTS`](/docs/ko/network-config#custom-ca-certificates)๋ฅผ ํ”„๋ก์‹œ์˜ ๋ฃจํŠธ CA๊ฐ€ ํฌํ•จ๋œ PEM ํŒŒ์ผ๋กœ ์„ค์ •ํ•˜์„ธ์š”. `spawn-runner` ํ›…์ด ์‹œ์ž‘ํ•˜๋Š” ๋Ÿฌ๋„ˆ์—๋„ ์„ค์ •ํ•˜์„ธ์š”.726* **์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๊ฐ€ TLS ์ธ์ฆ์„œ ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ `poll failed:`๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ๊ณ„์† ์žฌ์‹œ๋„ํ•จ**: ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๊ฐ€ ์ˆ˜์‹ ํ•œ ์ธ์ฆ์„œ์˜ CA๋ฅผ ์‹ ๋ขฐํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ, TLS ๊ฒ€์‚ฌ ํ”„๋ก์‹œ ๋’ค์—์„œ ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ์˜ ํ™˜๊ฒฝ์—์„œ [`NODE_EXTRA_CA_CERTS`](/docs/ko/network-config#custom-ca-certificates)๋ฅผ ํ”„๋ก์‹œ์˜ ๋ฃจํŠธ CA๊ฐ€ ํฌํ•จ๋œ PEM ํŒŒ์ผ๋กœ ์„ค์ •ํ•˜์„ธ์š”. `spawn-runner` ํ›…์ด ์‹œ์ž‘ํ•˜๋Š” ๋Ÿฌ๋„ˆ์—๋„ ์„ค์ •ํ•˜์„ธ์š”.

727 727 

728 ์˜ˆ๋ฅผ ๋“ค์–ด ๋ผ์ธ์€ `poll failed: self signed certificate in certificate chain โ€” retrying in 1s`๋กœ ๋๋‚  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฝœ๋ก ๊ณผ ๋Œ€์‹œ ์‚ฌ์ด์— TLS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฌธ๊ตฌ๊ฐ€ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์ˆ˜์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ์˜ [`/healthz`](/docs/ko/self-hosted-environments-reference#health-endpoint) ๋ณธ๋ฌธ์—์„œ `connected`๊ฐ€ `true`์ธ์ง€ ํ™•์ธํ•˜์„ธ์š”.728 ์˜ˆ๋ฅผ ๋“ค์–ด ๋ผ์ธ์€ `poll failed: self signed certificate in certificate chain โ€” retrying in 1s`๋กœ ๋๋‚  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฝœ๋ก ๊ณผ ๋Œ€์‹œ ์‚ฌ์ด์— TLS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฌธ๊ตฌ๊ฐ€ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์ˆ˜์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ์˜ [`/healthz`](/docs/ko/self-hosted-environments-reference#health-endpoint) ๋ณธ๋ฌธ์—์„œ `connected`๊ฐ€ `true`์ธ์ง€ ํ™•์ธํ•˜์„ธ์š”.

729* **์„ธ์…˜์ด ๋Œ€๊ธฐ ์ค‘ ์ƒํƒœ๋กœ ์œ ์ง€๋จ**: ๋ชจ๋“  ์˜จ๋ผ์ธ ๋Ÿฌ๋„ˆ๋Š” ๋‹ค๋ฅธ ์†Œ์œ ์ž๋กœ ์ž ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋Ÿฌ๋„ˆ์˜ `claude_code_self_hosted_runner_locked_account` [๋ฉ”ํŠธ๋ฆญ](/docs/ko/self-hosted-environments-reference#prometheus-metrics) ๋˜๋Š” `[runner:health]` ๋กœ๊ทธ ๋ผ์ธ์˜ `locked_account` ํ•„๋“œ๋ฅผ ํ™•์ธํ•˜์—ฌ ๋ˆ„๊ฐ€ ๋ณด์œ ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ๋‘˜ ๋‹ค ๋Ÿฌ๋„ˆ๊ฐ€ `act.email` ํด๋ ˆ์ž„์„ ์ „๋‹ฌํ•˜๋Š” ์„ธ์…˜ ํ† ํฐ์„ ๋ฐœ๊ธ‰๋ฐ›์€ ํ›„์—๋งŒ ์†Œ์œ ์ž์˜ ์ด๋ฉ”์ผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. Claude Tag ์—์ด์ „ํŠธ์˜ ์„ธ์…˜์€ ์ ˆ๋Œ€ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํด๋ ˆ์ž„ ์—†์ด ๋Ÿฌ๋„ˆ๋Š” `locked_account` ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๋‚ด๋ณด๋‚ด์ง€ ์•Š์œผ๋ฉฐ `locked_account=yes`๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋Ÿฌ๋„ˆ๊ฐ€ ์ž ๊ฒจ ์žˆ์ง€๋งŒ ์–ด๋А ์†Œ์œ ์ž์—๊ฒŒ ์ž ๊ฒจ ์žˆ๋Š”์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ๋Ÿฌ๋„ˆ๊ฐ€ ๋“œ๋ ˆ์ธ๋˜๊ณ  ์žฌ์‹œ์ž‘๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์„ธ์š”. ํ™˜๊ฒฝ์ด ์˜จ๋””๋งจ๋“œ ๋Ÿฌ๋„ˆ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋Œ€์‹  ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. [์˜จ๋””๋งจ๋“œ ๋Ÿฌ๋„ˆ](/docs/ko/self-hosted-environments-configuration#on-demand-runners)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.729* **์„ธ์…˜์ด ๋Œ€๊ธฐ ์ค‘ ์ƒํƒœ๋กœ ์œ ์ง€๋จ**: ๋ชจ๋“  ์˜จ๋ผ์ธ ๋Ÿฌ๋„ˆ๋Š” ๋‹ค๋ฅธ ์†Œ์œ ์ž๋กœ ์ž ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋Ÿฌ๋„ˆ์˜ `claude_code_self_hosted_runner_locked_account` [๋ฉ”ํŠธ๋ฆญ](/docs/ko/self-hosted-environments-reference#prometheus-metrics) ๋˜๋Š” `[runner:health]` ๋กœ๊ทธ ๋ผ์ธ์˜ `locked_account` ํ•„๋“œ๋ฅผ ํ™•์ธํ•˜์—ฌ ๋ˆ„๊ฐ€ ๋ณด์œ ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ๋‘˜ ๋‹ค ๋Ÿฌ๋„ˆ๊ฐ€ `act.email` ํด๋ ˆ์ž„์„ ์ „๋‹ฌํ•˜๋Š” ์„ธ์…˜ ํ† ํฐ์„ ๋ฐœ๊ธ‰๋ฐ›์€ ํ›„์—๋งŒ ์†Œ์œ ์ž์˜ ์ด๋ฉ”์ผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. Claude Tag ์—์ด์ „ํŠธ์˜ ์„ธ์…˜์€ ์ ˆ๋Œ€ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํด๋ ˆ์ž„ ์—†์ด ๋Ÿฌ๋„ˆ๋Š” `locked_account` ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๋‚ด๋ณด๋‚ด์ง€ ์•Š์œผ๋ฉฐ `locked_account=yes`๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋Ÿฌ๋„ˆ๊ฐ€ ์ž ๊ฒจ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์•Œ๋ ค์ฃผ์ง€๋งŒ ์–ด๋А ์†Œ์œ ์ž์—๊ฒŒ ์ž ๊ฒจ ์žˆ๋Š”์ง€๋Š” ์•Œ๋ ค์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ๋Ÿฌ๋„ˆ๊ฐ€ ๋“œ๋ ˆ์ธ๋˜๊ณ  ์žฌ์‹œ์ž‘๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์„ธ์š”. ํ™˜๊ฒฝ์ด ์˜จ๋””๋งจ๋“œ ๋Ÿฌ๋„ˆ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋Œ€์‹  ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. [์˜จ๋””๋งจ๋“œ ๋Ÿฌ๋„ˆ](/docs/ko/self-hosted-environments-configuration#on-demand-runners)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

730* **์„ธ์…˜์ด ์„ ํƒ ์งํ›„ ์‹คํŒจํ•จ**: claude.ai/code์—์„œ ์„ธ์…˜์„ ์—ด์–ด ์˜ค๋ฅ˜๋ฅผ ํ™•์ธํ•˜์„ธ์š”. ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์›์ธ์€ ๋Ÿฌ๋„ˆ ์ด๋ฏธ์ง€์˜ ๋ˆ„๋ฝ๋œ [git ์ž๊ฒฉ ์ฆ๋ช…](#configure-git) ๋ฐ ์„ค์น˜๋˜์ง€ ์•Š์€ ๋นŒ๋“œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. `--use-anthropic-git-proxy`๋กœ ์‹œ์ž‘๋œ ๋Ÿฌ๋„ˆ์—์„œ๋Š” [git ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Ÿฌ๋„ˆ์—์„œ ์„ธ์…˜์ด ์‹œ์ž‘๋˜์ง€ ์•Š์„ ๋•Œ](#when-anthropic-doesnt-serve-a-session)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ์“ฐ๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ธฐ๋ณธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ์„ธ์…˜ ์‹คํŒจ ๋Œ€์‹  ์‹œ์ž‘ ์‹œ ๋Ÿฌ๋„ˆ๋ฅผ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชฉ๋ก์˜ **๋Ÿฌ๋„ˆ๊ฐ€ `cannot create or write to base directory`๋กœ ์‹œ์ž‘ ์‹œ ์ข…๋ฃŒ๋จ** ํ•ญ๋ชฉ์„ ์ฐธ์กฐํ•˜์„ธ์š”.730* **์„ธ์…˜์ด ์„ ํƒ ์งํ›„ ์‹คํŒจํ•จ**: claude.ai/code์—์„œ ์„ธ์…˜์„ ์—ด์–ด ์˜ค๋ฅ˜๋ฅผ ํ™•์ธํ•˜์„ธ์š”. ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์›์ธ์€ ๋Ÿฌ๋„ˆ ์ด๋ฏธ์ง€์˜ ๋ˆ„๋ฝ๋œ [git ์ž๊ฒฉ ์ฆ๋ช…](#configure-git) ๋ฐ ์„ค์น˜๋˜์ง€ ์•Š์€ ๋นŒ๋“œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. `--use-anthropic-git-proxy`๋กœ ์‹œ์ž‘๋œ ๋Ÿฌ๋„ˆ์—์„œ๋Š” [git ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Ÿฌ๋„ˆ์—์„œ ์„ธ์…˜์ด ์‹œ์ž‘๋˜์ง€ ์•Š์„ ๋•Œ](#when-anthropic-doesnt-serve-a-session)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ์“ฐ๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ธฐ๋ณธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ์„ธ์…˜ ์‹คํŒจ ๋Œ€์‹  ์‹œ์ž‘ ์‹œ ๋Ÿฌ๋„ˆ๋ฅผ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชฉ๋ก์˜ **๋Ÿฌ๋„ˆ๊ฐ€ `cannot create or write to base directory`๋กœ ์‹œ์ž‘ ์‹œ ์ข…๋ฃŒ๋จ** ํ•ญ๋ชฉ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

731* **`--use-anthropic-git-proxy`๋ฅผ ์„ค์ •ํ•œ ๋Ÿฌ๋„ˆ์—์„œ ์„ธ์…˜์ด ์‹œ์ž‘๋˜์ง€ ์•Š์Œ**: ๋Ÿฌ๋„ˆ์˜ ๋กœ๊ทธ์—์„œ `access denied by the git proxy`๋ฅผ ์ฐพ๊ฑฐ๋‚˜, `/git_proxy/`๋ฅผ ํฌํ•จํ•˜๋Š” `api.anthropic.com` ์ฃผ์†Œ๋ฅผ ๋ช…์‹œํ•˜๋Š” git ์˜ค๋ฅ˜๋ฅผ ์ฐพ์œผ์„ธ์š”. Anthropic์ด ์„ธ์…˜์„ ์ฒ˜๋ฆฌํ–ˆ๋Š”์ง€ ํŒ๋‹จํ•˜๊ณ  ์›์ธ์„ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด [git ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Ÿฌ๋„ˆ์—์„œ ์„ธ์…˜์ด ์‹œ์ž‘๋˜์ง€ ์•Š์„ ๋•Œ](#when-anthropic-doesnt-serve-a-session)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.731* **`--use-anthropic-git-proxy`๋ฅผ ์„ค์ •ํ•œ ๋Ÿฌ๋„ˆ์—์„œ ์„ธ์…˜์ด ์‹œ์ž‘๋˜์ง€ ์•Š์Œ**: ๋Ÿฌ๋„ˆ์˜ ๋กœ๊ทธ์—์„œ `access denied by the git proxy`๋ฅผ ์ฐพ๊ฑฐ๋‚˜, `/git_proxy/`๋ฅผ ํฌํ•จํ•˜๋Š” `api.anthropic.com` ์ฃผ์†Œ๋ฅผ ๋ช…์‹œํ•˜๋Š” git ์˜ค๋ฅ˜๋ฅผ ์ฐพ์œผ์„ธ์š”. Anthropic์ด ์„ธ์…˜์„ ์ฒ˜๋ฆฌํ–ˆ๋Š”์ง€ ํŒ๋‹จํ•˜๊ณ  ์›์ธ์„ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด [git ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Ÿฌ๋„ˆ์—์„œ ์„ธ์…˜์ด ์‹œ์ž‘๋˜์ง€ ์•Š์„ ๋•Œ](#when-anthropic-doesnt-serve-a-session)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

732* **์„ธ์…˜์ด ์ธ์ฆํ•˜๋Š” ์ด๊ทธ๋ ˆ์Šค ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†์Œ**: [`--proxy-authorization-command` ๋˜๋Š” `--proxy-authorization-file`](#authenticate-to-an-egress-proxy)๋กœ ์„ค์ •ํ•œ ์†Œ์Šค๊ฐ€ ์‹คํŒจํ•˜๊ฑฐ๋‚˜ 30์ดˆ ํ›„ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋˜๊ฑฐ๋‚˜ ๋นˆ ๊ฐ’์„ ์ƒ์„ฑํ•˜๋ฉด ๋Ÿฌ๋„ˆ๋Š” ํ•ด๋‹น ์—ฐ๊ฒฐ์— `502 Bad Gateway`๋กœ ์‘๋‹ตํ•˜๊ณ  ์ด์œ ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฌ๋„ˆ๋Š” ํ•ด๋‹น ๋กœ๊ทธ์—์„œ ๋ช…๋ น์˜ stderr๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ํ—ค๋” ๊ฐ’์„ ์ ˆ๋Œ€ ๊ธฐ๋กํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. `--proxy-authorization-command`๋กœ ํ˜ธ์ŠคํŠธ์—์„œ ๋ช…๋ น์„ ์ง์ ‘ ์‹คํ–‰ํ•˜์—ฌ ์ „์ฒด ํ—ค๋” ๊ฐ’์„ stdout์— ์ธ์‡„ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ๋Ÿฌ๋„ˆ๊ฐ€ ๋Œ€์‹  `could not start the proxy-authorization listener`๋กœ ์‹œ์ž‘ ์‹œ ์ข…๋ฃŒ๋˜๋ฉด ๋ฃจํ”„๋ฐฑ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.732* **์„ธ์…˜์ด ์ธ์ฆํ•˜๋Š” ์ด๊ทธ๋ ˆ์Šค ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†์Œ**: [`--proxy-authorization-command` ๋˜๋Š” `--proxy-authorization-file`](#authenticate-to-an-egress-proxy)๋กœ ์„ค์ •ํ•œ ์†Œ์Šค๊ฐ€ ์‹คํŒจํ•˜๊ฑฐ๋‚˜ 30์ดˆ ํ›„ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋˜๊ฑฐ๋‚˜ ๋นˆ ๊ฐ’์„ ์ƒ์„ฑํ•˜๋ฉด ๋Ÿฌ๋„ˆ๋Š” ํ•ด๋‹น ์—ฐ๊ฒฐ์— `502 Bad Gateway`๋กœ ์‘๋‹ตํ•˜๊ณ  ์ด์œ ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฌ๋„ˆ๋Š” ํ•ด๋‹น ๋กœ๊ทธ์—์„œ ๋ช…๋ น์˜ stderr๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ํ—ค๋” ๊ฐ’์„ ์ ˆ๋Œ€ ๊ธฐ๋กํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. `--proxy-authorization-command`๋กœ ํ˜ธ์ŠคํŠธ์—์„œ ๋ช…๋ น์„ ์ง์ ‘ ์‹คํ–‰ํ•˜์—ฌ ์ „์ฒด ํ—ค๋” ๊ฐ’์„ stdout์— ์ธ์‡„ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ๋Ÿฌ๋„ˆ๊ฐ€ ๋Œ€์‹  `could not start the proxy-authorization listener`๋กœ ์‹œ์ž‘ ์‹œ ์ข…๋ฃŒ๋˜๋ฉด ๋ฃจํ”„๋ฐฑ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

skills.md +8 โˆ’2

Details

720 720 

721ํ•œ ๋ฉ”์‹œ์ง€์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ์—ฌ๋Ÿฌ ์Šคํ‚ฌ์„ ์Šคํƒํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. `/write-tests /fix-issue 123`์„ ์ž…๋ ฅํ•˜๋ฉด ๋‘ ์Šคํ‚ฌ์ด ๋ชจ๋‘ ๋กœ๋“œ๋˜๊ณ  ํ›„ํ–‰ ํ…์ŠคํŠธ `123`์ด ๊ฐ๊ฐ์— `$ARGUMENTS`๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.721ํ•œ ๋ฉ”์‹œ์ง€์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ์—ฌ๋Ÿฌ ์Šคํ‚ฌ์„ ์Šคํƒํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. `/write-tests /fix-issue 123`์„ ์ž…๋ ฅํ•˜๋ฉด ๋‘ ์Šคํ‚ฌ์ด ๋ชจ๋‘ ๋กœ๋“œ๋˜๊ณ  ํ›„ํ–‰ ํ…์ŠคํŠธ `123`์ด ๊ฐ๊ฐ์— `$ARGUMENTS`๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

722 722 

723Claude Code๋Š” ์ฒซ ๋ฒˆ์งธ ์Šคํ‚ฌ๊ณผ ๊ทธ ๋’ค์— ์Šคํƒ๋œ ์ตœ๋Œ€ 5๊ฐœ๋ฅผ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ํ™•์žฅ์€ ์ธ๋ผ์ธ ์‚ฌ์šฉ์ž ํ˜ธ์ถœ ๊ฐ€๋Šฅ ์Šคํ‚ฌ์ด ์•„๋‹Œ ์ฒซ ๋ฒˆ์งธ ํ† ํฐ์—์„œ ์ค‘์ง€๋˜๋ฏ€๋กœ [ํฌํฌ๋œ ์„œ๋ธŒ์—์ด์ „ํŠธ](#run-skills-in-a-subagent)๋กœ ์‹คํ–‰๋˜๋Š” ์Šคํ‚ฌ(์˜ˆ: [`/code-review`](/docs/ko/code-review#review-a-diff-locally)) ๋˜๋Š” ์ธ์ˆ˜ ์ž์ฒด๊ฐ€ ์Šฌ๋ž˜์‹œ ๋ช…๋ น์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํ‚ฌ(์˜ˆ: `/loop`)๋„ ๊ฑฐ๊ธฐ์„œ ๋๋‚ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ํ† ํฐ ๋ฐ ๊ทธ ๋’ค์˜ ๋ชจ๋“  ๊ฒƒ์ด ํ™•์žฅ๋œ ๋ชจ๋“  ์Šคํ‚ฌ์˜ ์ธ์ˆ˜ ํ…์ŠคํŠธ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. v2.1.218๋ถ€ํ„ฐ `/code-review`๋Š” ํฌํฌ๋œ ์„œ๋ธŒ์—์ด์ „ํŠธ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ์ธ๋ผ์ธ์œผ๋กœ ์‹คํ–‰๋˜๊ณ  ์Šคํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.723Claude Code๋Š” ์ฒซ ๋ฒˆ์งธ ์Šคํ‚ฌ๊ณผ ๊ทธ ๋’ค์— ์Šคํƒ๋œ ์ตœ๋Œ€ 5๊ฐœ๋ฅผ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ํ™•์žฅ์€ ์ธ๋ผ์ธ ์‚ฌ์šฉ์ž ํ˜ธ์ถœ ๊ฐ€๋Šฅ ์Šคํ‚ฌ์ด ์•„๋‹Œ ์ฒซ ๋ฒˆ์งธ ํ† ํฐ์—์„œ ์ค‘์ง€๋˜๋ฏ€๋กœ [ํฌํฌ๋œ ์„œ๋ธŒ์—์ด์ „ํŠธ](#run-skills-in-a-subagent)๋กœ ์‹คํ–‰๋˜๋Š” ์Šคํ‚ฌ(์˜ˆ: [`/code-review`](/docs/ko/code-review-local)) ๋˜๋Š” ์ธ์ˆ˜ ์ž์ฒด๊ฐ€ ์Šฌ๋ž˜์‹œ ๋ช…๋ น์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํ‚ฌ(์˜ˆ: `/loop`)๋„ ๊ฑฐ๊ธฐ์„œ ๋๋‚ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ํ† ํฐ ๋ฐ ๊ทธ ๋’ค์˜ ๋ชจ๋“  ๊ฒƒ์ด ํ™•์žฅ๋œ ๋ชจ๋“  ์Šคํ‚ฌ์˜ ์ธ์ˆ˜ ํ…์ŠคํŠธ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. v2.1.218๋ถ€ํ„ฐ `/code-review`๋Š” ํฌํฌ๋œ ์„œ๋ธŒ์—์ด์ „ํŠธ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ์ธ๋ผ์ธ์œผ๋กœ ์‹คํ–‰๋˜๊ณ  ์Šคํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

724 724 

725์œ„์น˜๋ณ„๋กœ ๊ฐœ๋ณ„ ์ธ์ˆ˜์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด `$ARGUMENTS[N]` ๋˜๋Š” ๋” ์งง์€ `$N`์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.725์œ„์น˜๋ณ„๋กœ ๊ฐœ๋ณ„ ์ธ์ˆ˜์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด `$ARGUMENTS[N]` ๋˜๋Š” ๋” ์งง์€ `$N`์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

726 726 


832 832 

833๊ธฐ๋ณธ `bash` ์…ธ์„ ์‚ฌ์šฉํ•˜๋ฉด 0์ด ์•„๋‹Œ ์ข…๋ฃŒ๋ฅผ ์˜ˆ์ƒํ•˜๋Š” ๋‹ค๋ฅธ ๋ช…๋ น์— `|| true`๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ฐพ์„ ๋•Œ 1์„ ์ข…๋ฃŒํ•˜๋Š” ๊ฒ€์‚ฌ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•œ ์˜ˆ์ž…๋‹ˆ๋‹ค.833๊ธฐ๋ณธ `bash` ์…ธ์„ ์‚ฌ์šฉํ•˜๋ฉด 0์ด ์•„๋‹Œ ์ข…๋ฃŒ๋ฅผ ์˜ˆ์ƒํ•˜๋Š” ๋‹ค๋ฅธ ๋ช…๋ น์— `|| true`๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ฐพ์„ ๋•Œ 1์„ ์ข…๋ฃŒํ•˜๋Š” ๊ฒ€์‚ฌ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•œ ์˜ˆ์ž…๋‹ˆ๋‹ค.

834 834 

835<h4 id="control-characters-in-injected-commands">

836 ์ฃผ์ž…๋œ ๋ช…๋ น์˜ ์ œ์–ด ๋ฌธ์ž

837</h4>

838 

839`No shell command in <name> was run`์€ ํŒŒ์ผ์˜ `!` ๋ช…๋ น ์ค‘ ํ•˜๋‚˜์— ํƒญ์ด๋‚˜ ์ค„ ๋ฐ”๊ฟˆ ์ด์™ธ์˜ ์›์‹œ ์ œ์–ด ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์–ด ์–ด๋–ค ๋ช…๋ น๋„ ์‹คํ–‰๋˜์ง€ ์•Š์•˜์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. [ํ•ด๋‹น ๋ฌธ์ž๋ฅผ ์ฐพ์•„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•](/docs/ko/errors#no-shell-command-was-run)์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

840 

835<h4 id="permission-checks-on-injected-commands">841<h4 id="permission-checks-on-injected-commands">

836 ์ฃผ์ž…๋œ ๋ช…๋ น์˜ ๊ถŒํ•œ ํ™•์ธ842 ์ฃผ์ž…๋œ ๋ช…๋ น์˜ ๊ถŒํ•œ ํ™•์ธ

837</h4>843</h4>


865 871 

866๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ํฌํฌ๋Š” [๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„œ๋ธŒ์—์ด์ „ํŠธ์— ์ ์šฉ๋˜๋Š” ๋” ์ข์€ ๋„๊ตฌ ์ง‘ํ•ฉ](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)์œผ๋กœ๋„ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค: ์Šคํ‚ฌ์˜ ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” ์ผ๋ฐ˜ ์—์ด์ „ํŠธ ์œ ํ˜•์ด๋ฏ€๋กœ ๋Œ€ํ™”๋ฅผ ํฌํฌํ•˜๋Š” ์„œ๋ธŒ์—์ด์ „ํŠธ์— ๋Œ€ํ•œ ์˜ˆ์™ธ๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์Šคํ‚ฌ์˜ ๋‹จ๊ณ„๊ฐ€ ํ•ด๋‹น ์ง‘ํ•ฉ ์™ธ๋ถ€์˜ ๋„๊ตฌ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฉด `background: false`๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ „์ฒด ๋„๊ตฌ ์ง‘ํ•ฉ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.872๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ํฌํฌ๋Š” [๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„œ๋ธŒ์—์ด์ „ํŠธ์— ์ ์šฉ๋˜๋Š” ๋” ์ข์€ ๋„๊ตฌ ์ง‘ํ•ฉ](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)์œผ๋กœ๋„ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค: ์Šคํ‚ฌ์˜ ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” ์ผ๋ฐ˜ ์—์ด์ „ํŠธ ์œ ํ˜•์ด๋ฏ€๋กœ ๋Œ€ํ™”๋ฅผ ํฌํฌํ•˜๋Š” ์„œ๋ธŒ์—์ด์ „ํŠธ์— ๋Œ€ํ•œ ์˜ˆ์™ธ๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์Šคํ‚ฌ์˜ ๋‹จ๊ณ„๊ฐ€ ํ•ด๋‹น ์ง‘ํ•ฉ ์™ธ๋ถ€์˜ ๋„๊ตฌ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฉด `background: false`๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ „์ฒด ๋„๊ตฌ ์ง‘ํ•ฉ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

867 873 

868๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ํฌํฌ๋œ ์Šคํ‚ฌ์€ ์„ธ์…˜์˜ [์ฒดํฌํฌ์ธํŠธ](/docs/ko/checkpointing) ์™ธ๋ถ€์—์„œ ํŽธ์ง‘์„ ์ ์šฉํ•˜๋ฏ€๋กœ `/rewind`๋Š” ์ด๋ฅผ ์‹คํ–‰ ์ทจ์†Œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. git์„ ์‚ฌ์šฉํ•˜์—ฌ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.874๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ํฌํฌ๋œ ์Šคํ‚ฌ์€ ์„ธ์…˜์˜ [์ฒดํฌํฌ์ธํŠธ](/docs/ko/checkpointing#subagent-edits-not-restored) ์™ธ๋ถ€์—์„œ ํŽธ์ง‘์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ `/rewind`๋Š” Claude๊ฐ€ ๋Œ€ํ™”์—์„œ ์ด๋ฏธ ํŽธ์ง‘ํ•œ ํŒŒ์ผ๋งŒ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํŒŒ์ผ์— ๋Œ€ํ•œ ์Šคํ‚ฌ์˜ ํŽธ์ง‘์€ ๊ทธ๋Œ€๋กœ ๋‚จ์œผ๋ฏ€๋กœ git์„ ์‚ฌ์šฉํ•˜์—ฌ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.

869 875 

870<Warning>876<Warning>

871 `context: fork`๋Š” ๋ช…์‹œ์  ์ง€์นจ์ด ์žˆ๋Š” ์Šคํ‚ฌ์—๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํ‚ฌ์— ์ž‘์—… ์—†์ด "์ด๋Ÿฌํ•œ API ๊ทœ์น™์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค"์™€ ๊ฐ™์€ ์ง€์นจ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” ์ง€์นจ์„ ๋ฐ›์ง€๋งŒ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์˜๋ฏธ ์žˆ๋Š” ์ถœ๋ ฅ ์—†์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.877 `context: fork`๋Š” ๋ช…์‹œ์  ์ง€์นจ์ด ์žˆ๋Š” ์Šคํ‚ฌ์—๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํ‚ฌ์— ์ž‘์—… ์—†์ด "์ด๋Ÿฌํ•œ API ๊ทœ์น™์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค"์™€ ๊ฐ™์€ ์ง€์นจ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” ์ง€์นจ์„ ๋ฐ›์ง€๋งŒ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์˜๋ฏธ ์žˆ๋Š” ์ถœ๋ ฅ ์—†์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

ultrareview.md +1 โˆ’1

Details

18* **๋” ๊ด‘๋ฒ”์œ„ํ•œ ๋ฒ”์œ„**: ๋” ํฐ ๋ฆฌ๋ทฐ์–ด ์—์ด์ „ํŠธ ํ”Œ๋ฆฟ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณ‘๋ ฌ๋กœ ํƒ์ƒ‰ํ•˜๋ฏ€๋กœ ๋กœ์ปฌ ๋ฆฌ๋ทฐ์—์„œ ๋†“์น  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ํ‘œ๋ฉดํ™”ํ•ฉ๋‹ˆ๋‹ค18* **๋” ๊ด‘๋ฒ”์œ„ํ•œ ๋ฒ”์œ„**: ๋” ํฐ ๋ฆฌ๋ทฐ์–ด ์—์ด์ „ํŠธ ํ”Œ๋ฆฟ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณ‘๋ ฌ๋กœ ํƒ์ƒ‰ํ•˜๋ฏ€๋กœ ๋กœ์ปฌ ๋ฆฌ๋ทฐ์—์„œ ๋†“์น  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ํ‘œ๋ฉดํ™”ํ•ฉ๋‹ˆ๋‹ค

19* **๋กœ์ปฌ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ ์—†์Œ**: ๋ฆฌ๋ทฐ๊ฐ€ ํด๋ผ์šฐ๋“œ ์ƒŒ๋“œ๋ฐ•์Šค์—์„œ ์™„์ „ํžˆ ์‹คํ–‰๋˜๋ฏ€๋กœ ์‹คํ–‰ ์ค‘์— ํ„ฐ๋ฏธ๋„์ด ๋‹ค๋ฅธ ์ž‘์—…์„ ์œ„ํ•ด ์ž์œ ๋กœ์›Œ์ง‘๋‹ˆ๋‹ค19* **๋กœ์ปฌ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ ์—†์Œ**: ๋ฆฌ๋ทฐ๊ฐ€ ํด๋ผ์šฐ๋“œ ์ƒŒ๋“œ๋ฐ•์Šค์—์„œ ์™„์ „ํžˆ ์‹คํ–‰๋˜๋ฏ€๋กœ ์‹คํ–‰ ์ค‘์— ํ„ฐ๋ฏธ๋„์ด ๋‹ค๋ฅธ ์ž‘์—…์„ ์œ„ํ•ด ์ž์œ ๋กœ์›Œ์ง‘๋‹ˆ๋‹ค

20 20 

21Ultrareview๋Š” Anthropic์˜ ์ธํ”„๋ผ์—์„œ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์œผ๋กœ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— claude.ai ๊ณ„์ •์œผ๋กœ ์ธ์ฆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. API ํ‚ค๋งŒ์œผ๋กœ ๋กœ๊ทธ์ธํ•œ ๊ฒฝ์šฐ `/login`์„ ์‹คํ–‰ํ•˜๊ณ  ๋จผ์ € claude.ai๋กœ ์ธ์ฆํ•˜์„ธ์š”. Ultrareview๋Š” Amazon Bedrock, Google Cloud์˜ Agent Platform ๋˜๋Š” Microsoft Foundry์™€ ํ•จ๊ป˜ Claude Code๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, Zero Data Retention์„ ํ™œ์„ฑํ™”ํ–ˆ๊ฑฐ๋‚˜ [HIPAA ๊ตฌ์„ฑ](/docs/ko/hipaa-setup)์ด ์ ์šฉ๋œ ์กฐ์ง์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Ultrareview๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ `/code-review ultra`๋Š” ๋Œ€์‹  ์„ธ์…˜์—์„œ ๋กœ์ปฌ ๋ฆฌ๋ทฐ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.21Ultrareview๋Š” Anthropic์˜ ์ธํ”„๋ผ์—์„œ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์œผ๋กœ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— claude.ai ๊ณ„์ •์œผ๋กœ ์ธ์ฆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. API ํ‚ค๋งŒ์œผ๋กœ ๋กœ๊ทธ์ธํ•œ ๊ฒฝ์šฐ `/login`์„ ์‹คํ–‰ํ•˜๊ณ  ๋จผ์ € claude.ai๋กœ ์ธ์ฆํ•˜์„ธ์š”. Ultrareview๋Š” Amazon Bedrock, Google Cloud์˜ Agent Platform ๋˜๋Š” Microsoft Foundry์™€ ํ•จ๊ป˜ Claude Code๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, Zero Data Retention์„ ํ™œ์„ฑํ™”ํ–ˆ๊ฑฐ๋‚˜ [HIPAA ๊ตฌ์„ฑ](/docs/ko/hipaa-setup)์ด ์ ์šฉ๋œ ์กฐ์ง์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ `/code-review ultra`๋Š” ๋Œ€์‹  ์„ธ์…˜์—์„œ ๋กœ์ปฌ ๋ฆฌ๋ทฐ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. [๊ณ ๊ฐ ๊ด€๋ฆฌํ˜• ์•”ํ˜ธํ™” ํ‚ค](https://platform.claude.com/docs/en/manage-claude/cmek)(CMEK)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์กฐ์ง์€ ultrareview๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋กœ์ปฌ์—์„œ ๋ฆฌ๋ทฐํ•˜๋ ค๋ฉด `/code-review`๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”.

22 22 

23<h2 id="run-ultrareview-from-the-cli">23<h2 id="run-ultrareview-from-the-cli">

24 CLI์—์„œ ultrareview ์‹คํ–‰24 CLI์—์„œ ultrareview ์‹คํ–‰

vs-code.md +76 โˆ’2

Details

220* ๋ถ™์—ฌ๋„ฃ์„ ๋•Œ `Removed 3 invisible characters from the pasted text`์™€ ๊ฐ™์€ ๊ณต์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ํ…์ŠคํŠธ๊ฐ€ ํ•ด๋‹น ๋ฌธ์ž ์—†์ด ๋“ค์–ด๊ฐ”์Šต๋‹ˆ๋‹ค.220* ๋ถ™์—ฌ๋„ฃ์„ ๋•Œ `Removed 3 invisible characters from the pasted text`์™€ ๊ฐ™์€ ๊ณต์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ํ…์ŠคํŠธ๊ฐ€ ํ•ด๋‹น ๋ฌธ์ž ์—†์ด ๋“ค์–ด๊ฐ”์Šต๋‹ˆ๋‹ค.

221* ๋ณด๋‚ผ ๋•Œ ์ œ๊ฑฐ๋œ ๋ฌธ์ž์— ๋Œ€ํ•œ ๊ณต์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ์•„๋ฌด๊ฒƒ๋„ ์ „์†ก๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ •๋ฆฌ๋œ ํ…์ŠคํŠธ๊ฐ€ ํ”„๋กฌํ”„ํŠธ ์ƒ์ž์— ๋‹ค์‹œ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋ณด๋‚ด์„œ ํ‘œ์‹œ๋œ ๋Œ€๋กœ ํ…์ŠคํŠธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.221* ๋ณด๋‚ผ ๋•Œ ์ œ๊ฑฐ๋œ ๋ฌธ์ž์— ๋Œ€ํ•œ ๊ณต์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ์•„๋ฌด๊ฒƒ๋„ ์ „์†ก๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ •๋ฆฌ๋œ ํ…์ŠคํŠธ๊ฐ€ ํ”„๋กฌํ”„ํŠธ ์ƒ์ž์— ๋‹ค์‹œ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋ณด๋‚ด์„œ ํ‘œ์‹œ๋œ ๋Œ€๋กœ ํ…์ŠคํŠธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

222 222 

223<h3 id="latex-math-in-responses">

224 ์‘๋‹ต์˜ LaTeX ์ˆ˜์‹

225</h3>

226 

227์ฑ„ํŒ… ํŒจ๋„์€ Claude ์‘๋‹ต์˜ LaTeX ์ˆ˜์‹์„ ์กฐํŒ๋œ ์ˆ˜์‹์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜์‹ ๋ Œ๋”๋ง์—๋Š” Claude Code v2.1.301 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. [ํ„ฐ๋ฏธ๋„ ๋ชจ๋“œ](#switch-to-terminal-mode)์—์„œ๋Š” ์ˆ˜์‹์ด ์กฐํŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŒจ๋„์€ ๋””์Šคํ”Œ๋ ˆ์ด ์ˆ˜์‹๊ณผ ์ธ๋ผ์ธ ์ˆ˜์‹์„ ๋ชจ๋‘ ์กฐํŒํ•ฉ๋‹ˆ๋‹ค:

228 

229* **๋””์Šคํ”Œ๋ ˆ์ด ์ˆ˜์‹**: ๋‹จ๋…์œผ๋กœ ํ•œ ์ค„ ๋˜๋Š” ์—ฌ๋Ÿฌ ์ค„์„ ์ฐจ์ง€ํ•˜๋Š” `$$ โ€ฆ $$` ๋˜๋Š” `\[ โ€ฆ \]` ๋ธ”๋ก, ๊ทธ๋ฆฌ๊ณ  ์–ธ์–ด๊ฐ€ `math`์ธ ํŽœ์Šค ์ฝ”๋“œ ๋ธ”๋ก

230* **์ธ๋ผ์ธ ์ˆ˜์‹**: ๊ฐ™์€ ์ค„์—์„œ ์—ด๋ฆฌ๊ณ  ๋‹ซํžˆ๋Š” `$โ€ฆ$` ๋˜๋Š” `\(โ€ฆ\)`(์˜ˆ: `$E = mc^2$` ๋˜๋Š” `\(a^2 + b^2 = c^2\)`)

231 

232ํŒจ๋„์€ ์ˆ˜์‹๊ณผ ๊ฐ™์€ ๋ฌธ์ž์˜ ๋‹ค๋ฅธ ์šฉ๋„๋ฅผ ๊ตฌ๋ณ„ํ•˜๋ ค๊ณ  ํ•˜๋ฏ€๋กœ `$HOME`, `$5` ๊ฐ™์€ ๊ฐ€๊ฒฉ, `sed 's/\(foo\)/\1/'` ๊ฐ™์€ ํ…์ŠคํŠธ๋Š” ์กฐํŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ์ŠคํŒฌ ์•ˆ์˜ ํ…์ŠคํŠธ๋‚˜ ํŽœ์Šค `math` ๋ธ”๋ก ์ด์™ธ์˜ ์ฝ”๋“œ ๋ธ”๋ก ์•ˆ์˜ ํ…์ŠคํŠธ๋„ ์กฐํŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์กฐํŒ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•œ ์ˆ˜์‹์ด ์ž‘์„ฑ๋œ ๊ทธ๋Œ€๋กœ ํ‘œ์‹œ๋˜๋ฉด [์ˆ˜์‹์ด ์›์‹œ LaTeX๋กœ ํ‘œ์‹œ๋จ](#a-formula-shows-as-raw-latex)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

233 

234์กฐํŒ๋œ ์ˆ˜์‹์ด ํฌํ•จ๋œ ํ…์ŠคํŠธ๋ฅผ ์„ ํƒํ•˜๊ณ  ๋ณต์‚ฌํ•˜๋ฉด ๊ทธ๋ ค์ง„ ๊ธฐํ˜ธ ๋Œ€์‹  `$โ€ฆ$` ๋˜๋Š” `$$โ€ฆ$$` ๊ตฌ๋ถ„ ๊ธฐํ˜ธ๋กœ ๊ฐ์‹ผ ์ˆ˜์‹์˜ TeX ์†Œ์Šค๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค. [**Copy response**](#use-the-prompt-box)์™€ `/copy`๋Š” TeX ์†Œ์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ Claude๊ฐ€ ์ž‘์„ฑํ•œ ๊ทธ๋Œ€๋กœ์˜ ์‘๋‹ต์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

235 

223<h3 id="resume-past-conversations">236<h3 id="resume-past-conversations">

224 ๊ณผ๊ฑฐ ๋Œ€ํ™” ์žฌ๊ฐœ237 ๊ณผ๊ฑฐ ๋Œ€ํ™” ์žฌ๊ฐœ

225</h3>238</h3>

226 239 

227Claude Code ํŒจ๋„ ์ƒ๋‹จ์˜ **Session history** ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ๋Œ€ํ™” ๊ธฐ๋ก์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค. ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰ํ•˜๊ฑฐ๋‚˜ ์‹œ๊ฐ„๋ณ„๋กœ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.240Claude Code ํŒจ๋„ ์ƒ๋‹จ์˜ **Session history** ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ๋Œ€ํ™” ๊ธฐ๋ก์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค. ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰ํ•˜๊ฑฐ๋‚˜ ์‹œ๊ฐ„๋ณ„๋กœ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

228 241 

229๋ชจ๋“  ๋Œ€ํ™”๋ฅผ ํด๋ฆญํ•˜์—ฌ ์ „์ฒด ๋ฉ”์‹œ์ง€ ๊ธฐ๋ก์œผ๋กœ ์žฌ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์ด ํ˜„์žฌ ์ฐฝ์˜ ๋‹ค๋ฅธ ํƒญ์—์„œ ์ด๋ฏธ ์—ด๋ ค ์žˆ์œผ๋ฉด ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ํƒญ์œผ๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค. ์„ธ์…˜ ์žฌ๊ฐœ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ [Manage sessions](/docs/ko/sessions)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.242๋ชจ๋“  ๋Œ€ํ™”๋ฅผ ํด๋ฆญํ•˜์—ฌ ์ „์ฒด ๋ฉ”์‹œ์ง€ ๊ธฐ๋ก์œผ๋กœ ์žฌ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™”๊ฐ€ ํ˜„์žฌ ์ฐฝ์˜ ๋‹ค๋ฅธ ํƒญ์—์„œ ์ด๋ฏธ ์—ด๋ ค ์žˆ์œผ๋ฉด ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ํƒญ์œผ๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€๊ฐ€ ์ฒ˜์Œ์— ๋น„์–ด ์žˆ์œผ๋ฉด [๋น„์–ด ์žˆ๋Š” ์ด์œ ์™€ ํ‘œ์‹œ๋˜๋Š” ์‹œ์ ](#a-resumed-conversation-is-blank-at-first)์„ ์ฐธ์กฐํ•˜์„ธ์š”. ์„ธ์…˜ ์žฌ๊ฐœ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ [Manage sessions](/docs/ko/sessions)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

230 243 

231* **Session titles**: ์ƒˆ ์„ธ์…˜์€ ์ฒซ ๋ฒˆ์งธ ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ AI๊ฐ€ ์ƒ์„ฑํ•œ ์ œ๋ชฉ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.244* **Session titles**: ์ƒˆ ์„ธ์…˜์€ ์ฒซ ๋ฒˆ์งธ ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ AI๊ฐ€ ์ƒ์„ฑํ•œ ์ œ๋ชฉ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

232* **Rename and archive**: ์„ธ์…˜ ์œ„์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ ค ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์„ค๋ช…์ ์ธ ์ œ๋ชฉ์„ ์ง€์ •ํ•˜๋„๋ก ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ๋ชฉ๋ก ํ•˜๋‹จ์˜ **Archived sessions** ๊ทธ๋ฃน์œผ๋กœ ์ด๋™ํ•˜๋„๋ก ๋ณด๊ด€ํ•ฉ๋‹ˆ๋‹ค.245* **Rename and archive**: ์„ธ์…˜ ์œ„์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ ค ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์„ค๋ช…์ ์ธ ์ œ๋ชฉ์„ ์ง€์ •ํ•˜๋„๋ก ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ๋ชฉ๋ก ํ•˜๋‹จ์˜ **Archived sessions** ๊ทธ๋ฃน์œผ๋กœ ์ด๋™ํ•˜๋„๋ก ๋ณด๊ด€ํ•ฉ๋‹ˆ๋‹ค.


321* **ํŽธ์ง‘๊ธฐ ํƒญ**: ๋Œ€ํ™”๊ฐ€ ํƒญ๊ณผ ํ•จ๊ป˜ ๋Œ์•„์˜ต๋‹ˆ๋‹ค.334* **ํŽธ์ง‘๊ธฐ ํƒญ**: ๋Œ€ํ™”๊ฐ€ ํƒญ๊ณผ ํ•จ๊ป˜ ๋Œ์•„์˜ต๋‹ˆ๋‹ค.

322* **์‚ฌ์ด๋“œ๋ฐ”**: ์ง€๋‚œ 10๋ถ„ ์ด๋‚ด์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒˆ๊ฑฐ๋‚˜ Claude๊ฐ€ ์‘๋‹ตํ•œ ๊ฒฝ์šฐ ๋Œ€ํ™”๊ฐ€ ๋Œ์•„์˜ต๋‹ˆ๋‹ค. ๋Œ์•„์˜ค์ง€ ์•Š์œผ๋ฉด [์„ธ์…˜ ๊ธฐ๋ก](#resume-past-conversations)์—์„œ ๋Œ€ํ™”๋ฅผ ์žฌ๊ฐœํ•ฉ๋‹ˆ๋‹ค.335* **์‚ฌ์ด๋“œ๋ฐ”**: ์ง€๋‚œ 10๋ถ„ ์ด๋‚ด์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒˆ๊ฑฐ๋‚˜ Claude๊ฐ€ ์‘๋‹ตํ•œ ๊ฒฝ์šฐ ๋Œ€ํ™”๊ฐ€ ๋Œ์•„์˜ต๋‹ˆ๋‹ค. ๋Œ์•„์˜ค์ง€ ์•Š์œผ๋ฉด [์„ธ์…˜ ๊ธฐ๋ก](#resume-past-conversations)์—์„œ ๋Œ€ํ™”๋ฅผ ์žฌ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

323 336 

324๋‹ค๋ฅธ Claude Code ํ”„๋กœ์„ธ์Šค์—์„œ ํ•ด๋‹น ๋Œ€ํ™”๊ฐ€ ์•„์ง ์—ด๋ ค ์žˆ์œผ๋ฉด, ์—ฌ๊ธฐ์—์„œ ์—ด๊ธฐ ์ „์— [์„ธ์…˜ ๊ธฐ๋ก์—์„œ ์žฌ๊ฐœํ•  ๋•Œ](#resume-past-conversations)์™€ ๋™์ผํ•œ **Open here anyway** ์•Œ๋ฆผ์œผ๋กœ ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.337๋‹ค๋ฅธ Claude Code ํ”„๋กœ์„ธ์Šค์—์„œ ํ•ด๋‹น ๋Œ€ํ™”๊ฐ€ ์•„์ง ์—ด๋ ค ์žˆ์œผ๋ฉด, ์—ฌ๊ธฐ์—์„œ ์—ด๊ธฐ ์ „์— [์„ธ์…˜ ๊ธฐ๋ก์—์„œ ์žฌ๊ฐœํ•  ๋•Œ](#resume-past-conversations)์™€ ๋™์ผํ•œ **Open here anyway** ์•Œ๋ฆผ์œผ๋กœ ํ™•์ธ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€๊ฐ€ ์ฒ˜์Œ์— ๋น„์–ด ์žˆ๋Š” ๊ฒฝ์šฐ [๋น„์–ด ์žˆ๋Š” ์ด์œ ์™€ ํ‘œ์‹œ๋˜๋Š” ์‹œ์ ](#a-resumed-conversation-is-blank-at-first)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

325 338 

326๋‹ค์‹œ ๋กœ๋“œ๊ฐ€ Claude์˜ ๋‹จ๊ณ„ ์ค‘๊ฐ„์— ์ค‘๋‹จ๋œ ๊ฒฝ์šฐ, ๋Œ€ํ™”๊ฐ€ ๋Œ์•„์˜ฌ ๋•Œ Claude๊ฐ€ ํ•ด๋‹น ๋‹จ๊ณ„๋ฅผ ๊ณ„์†ํ•˜๋ฉฐ, ์ฑ„ํŒ…์˜ ๊ณต์ง€์‚ฌํ•ญ์ด ๊ณ„์†์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. Claude Code v2.1.274 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ๊ณ„๊ฐ€ 1์‹œ๊ฐ„ ์ด์ƒ ์ „์— ์ค‘๋‹จ๋˜์—ˆ๊ฑฐ๋‚˜ ์„ธ์…˜์ด ๋‹ค๋ฅธ ๊ณณ์—์„œ ์—ด๋ ค ์žˆ์œผ๋ฉด, ๋Œ€ํ™”๊ฐ€ ์œ ํœด ์ƒํƒœ๋กœ ๋Œ์•„์˜ต๋‹ˆ๋‹ค.339๋‹ค์‹œ ๋กœ๋“œ๊ฐ€ Claude์˜ ๋‹จ๊ณ„ ์ค‘๊ฐ„์— ์ค‘๋‹จ๋œ ๊ฒฝ์šฐ, ๋Œ€ํ™”๊ฐ€ ๋Œ์•„์˜ฌ ๋•Œ Claude๊ฐ€ ํ•ด๋‹น ๋‹จ๊ณ„๋ฅผ ๊ณ„์†ํ•˜๋ฉฐ, ์ฑ„ํŒ…์˜ ๊ณต์ง€์‚ฌํ•ญ์ด ๊ณ„์†์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. Claude Code v2.1.274 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ๊ณ„๊ฐ€ 1์‹œ๊ฐ„ ์ด์ƒ ์ „์— ์ค‘๋‹จ๋˜์—ˆ๊ฑฐ๋‚˜ ์„ธ์…˜์ด ๋‹ค๋ฅธ ๊ณณ์—์„œ ์—ด๋ ค ์žˆ์œผ๋ฉด, ๋Œ€ํ™”๊ฐ€ ์œ ํœด ์ƒํƒœ๋กœ ๋Œ์•„์˜ต๋‹ˆ๋‹ค.

327 340 

328๊ณ„์†์„ ๋„๋ ค๋ฉด, [Continue After Reload ์„ค์ •](vscode://settings/claudeCode.continueAfterReload)์„ ์—ด๊ณ  ์„ ํƒ์„ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค. VS Code์˜ ํ™˜๊ฒฝ์ด๋‚˜ [`environmentVariables` ์„ค์ •](#extension-settings)์—์„œ [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ko/env-vars#variables) ๋˜๋Š” ๊ธฐํƒ€ `CLAUDE_CODE_RESUME_` ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ด๋„ ํŒจ๋„์—์„œ๋Š” ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์ด ํŒจ๋„์˜ ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.341๊ณ„์†์„ ๋„๋ ค๋ฉด, [Continue After Reload ์„ค์ •](vscode://settings/claudeCode.continueAfterReload)์„ ์—ด๊ณ  ์„ ํƒ์„ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค. VS Code์˜ ํ™˜๊ฒฝ์ด๋‚˜ [`environmentVariables` ์„ค์ •](#extension-settings)์—์„œ [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ko/env-vars#variables) ๋˜๋Š” ๊ธฐํƒ€ `CLAUDE_CODE_RESUME_` ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ด๋„ ํŒจ๋„์—์„œ๋Š” ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์ด ํŒจ๋„์˜ ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

329 342 

343<h4 id="a-conversation-was-not-reopened">

344 ๋Œ€ํ™”๊ฐ€ ๋‹ค์‹œ ์—ด๋ฆฌ์ง€ ์•Š์Œ

345</h4>

346 

347๋‹ค์‹œ ๋กœ๋“œํ•œ ํ›„ ํ”„๋กฌํ”„ํŠธ ์ƒ์ž ์œ„์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์•Œ๋ฆผ์ด ์žˆ๋Š” ์ƒˆ ์ฑ„ํŒ…์ด ํ‘œ์‹œ๋˜๋ฉด, ๋Œ€ํ™”์˜ ๋งˆ์ง€๋ง‰ ๋‘ ๋ฒˆ์˜ ์—ด๊ธฐ๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ํŒจ๋„์ด ๋Œ€ํ™”๋ฅผ ๋‹ซํžŒ ์ƒํƒœ๋กœ ๋‘” ๊ฒƒ์ž…๋‹ˆ๋‹ค:

348 

349```text theme={null}

350โ€œFix the login bugโ€ was not reopened. It did not finish opening the last 2 times, and opening it again may stop Claude Code from responding here.

351```

352 

353๋Œ€ํ™”๋ฅผ ๋กœ๋“œํ•˜๋Š” ๋™์•ˆ ํŒจ๋„์ด ์ถฉ๋Œํ•˜๊ฑฐ๋‚˜ ์‘๋‹ต์„ ๋ฉˆ์ถ”๋Š” ๊ฒฝ์šฐ, ๋˜๋Š” ๋Œ€ํ™”๊ฐ€ ์—ด๋ฆฐ ํ›„ ์•ฝ 3์ดˆ ์ด๋‚ด์— ์ฐฝ์„ ๋‹ค์‹œ ๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ๋‹ซ๋Š” ๊ฒฝ์šฐ ์—ด๊ธฐ๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์†์‹ค๋˜๋Š” ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค: ๋Œ€ํ™”๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์œผ๋ฉฐ [์„ธ์…˜ ๊ธฐ๋ก](#resume-past-conversations)์— ๊ทธ๋Œ€๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

354 

355* **๊ทธ๋ž˜๋„ ์—ด๋ ค๋ฉด**: **Open it anyway**๋ฅผ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ์„ธ์…˜ ๊ธฐ๋ก์—์„œ ๋Œ€ํ™”๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™”๊ฐ€ ์—ด๋ฆฌ๊ณ  ํŒจ๋„์ด ๊ณ„์† ์ž‘๋™ํ•˜๋ฉด, ์ดํ›„ ๋‹ค์‹œ ๋กœ๋“œํ•  ๋•Œ ํ‰์†Œ์ฒ˜๋Ÿผ ๋Œ€ํ™”๊ฐ€ ๋Œ์•„์˜ต๋‹ˆ๋‹ค. ํŒจ๋„์ด ๋‹ค์‹œ ์‘๋‹ต์„ ๋ฉˆ์ถ”๋ฉด ์ฐฝ์„ ๋‹ค์‹œ ๋กœ๋“œํ•˜์—ฌ ์•Œ๋ฆผ์ด ์žˆ๋Š” ์ƒˆ ์ฑ„ํŒ…์œผ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.

356* **๋‹ซํžŒ ์ƒํƒœ๋กœ ๋‘๋ ค๋ฉด**: ์ƒˆ ์ฑ„ํŒ…์—์„œ ๊ณ„์† ์ž‘์—…ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ณด๋‚ด๋ฉด ์•Œ๋ฆผ์ด ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

357 

330<h3 id="run-multiple-conversations">358<h3 id="run-multiple-conversations">

331 ์—ฌ๋Ÿฌ ๋Œ€ํ™” ์‹คํ–‰359 ์—ฌ๋Ÿฌ ๋Œ€ํ™” ์‹คํ–‰

332</h3>360</h3>


464 492 

465ํ”Œ๋Ÿฌ๊ทธ์ธ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ [ํ”Œ๋Ÿฌ๊ทธ์ธ](/docs/ko/plugins/overview) ๋ฐ [ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค](/docs/ko/plugins/overview)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.493ํ”Œ๋Ÿฌ๊ทธ์ธ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ [ํ”Œ๋Ÿฌ๊ทธ์ธ](/docs/ko/plugins/overview) ๋ฐ [ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค](/docs/ko/plugins/overview)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

466 494 

495<h3 id="plugins-that-draw-in-the-panel">

496 ํŒจ๋„์— ๊ทธ๋ฆฌ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ

497</h3>

498 

499[mod](/docs/ko/plugins/mods/overview)๋ฅผ ํฌํ•จํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์ฑ„ํŒ… ํŒจ๋„์— ๊ทธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ธฐ์—๋Š” ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ๋ฒ„์ „ 2.1.299 ์ด์ƒ๊ณผ [๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”](/docs/ko/env-vars#features-that-need-feature-flag-fetching) ์„ธ์…˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ๋‹ค์Œ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

500 

501* ๋Œ€ํ™” ์˜† ๋˜๋Š” ํ”„๋กฌํ”„ํŠธ ์ƒ์ž ์œ„์˜ ์ฐฝ

502* ํ”„๋กฌํ”„ํŠธ ์ƒ์ž ์œ„์˜ ํ† ์ŠคํŠธ ๋˜๋Š” ์ƒํƒœ์ค„

503* ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ณ ์œ ์˜ ๋ฐฉ์‹์œผ๋กœ ๊ทธ๋ ค์ง„ ๋ฉ”์‹œ์ง€ ๋˜๋Š” ๋„๊ตฌ ํ˜ธ์ถœ

504 

505์„ค์น˜ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํŒจ๋„์— ๋ฌด์–ธ๊ฐ€๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ๊ตฌ์˜ ๋ ˆ์ด๋ธ”์ด ํ•ด๋‹น ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค:

506 

507* **token-chart ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ**: ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ด๊ฒƒ์„ ๊ทธ๋ฆฌ๊ฑฐ๋‚˜ ์ถœ๋ ฅํ–ˆ๊ฑฐ๋‚˜, ์ด ์นด๋“œ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ฌป๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค

508* **token-chart ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํŽธ์ง‘ํ•จ**: ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋„๊ตฌ ํ˜ธ์ถœ๊ณผ ๊ฐ™์ด Claude Code๊ฐ€ ๊ทธ๋ฆฌ๋Š” ํ•ญ๋ชฉ์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค

509* **token-chart ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ํ”„๋กฌํ”„ํŠธ**: ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค

510 

511ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๊ทธ๋ฆฌ์ง€ ์•Š๋„๋ก ํ•˜๋ ค๋ฉด [ํ”Œ๋Ÿฌ๊ทธ์ธ ๋Œ€ํ™” ์ƒ์ž](#install-plugins)์—์„œ ํ•ด๋‹น ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋•๋‹ˆ๋‹ค.

512 

467<h2 id="automate-browser-tasks-with-chrome">513<h2 id="automate-browser-tasks-with-chrome">

468 Chrome์œผ๋กœ ๋ธŒ๋ผ์šฐ์ € ์ž‘์—… ์ž๋™ํ™”514 Chrome์œผ๋กœ ๋ธŒ๋ผ์šฐ์ € ์ž‘์—… ์ž๋™ํ™”

469</h2>515</h2>


896 942 

897๋˜๋Š” ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค๋ฅธ ํ‚ค๋กœ ๋‹ค์‹œ ๋ฐ”์ธ๋”ฉํ•˜์„ธ์š”: VS Code [ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค ํŽธ์ง‘๊ธฐ](https://code.visualstudio.com/docs/configure/keybindings)(`Cmd+K Cmd+S`)๋ฅผ ์—ด๊ณ  `Claude Code: Focus input`์„ ๊ฒ€์ƒ‰ํ•œ ํ›„ ์ƒˆ ๋ฐ”์ธ๋”ฉ์„ ํ• ๋‹นํ•˜์„ธ์š”.943๋˜๋Š” ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค๋ฅธ ํ‚ค๋กœ ๋‹ค์‹œ ๋ฐ”์ธ๋”ฉํ•˜์„ธ์š”: VS Code [ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค ํŽธ์ง‘๊ธฐ](https://code.visualstudio.com/docs/configure/keybindings)(`Cmd+K Cmd+S`)๋ฅผ ์—ด๊ณ  `Claude Code: Focus input`์„ ๊ฒ€์ƒ‰ํ•œ ํ›„ ์ƒˆ ๋ฐ”์ธ๋”ฉ์„ ํ• ๋‹นํ•˜์„ธ์š”.

898 944 

945<h3 id="a-resumed-conversation-is-blank-at-first">

946 ์žฌ๊ฐœํ•œ ๋Œ€ํ™”๊ฐ€ ์ฒ˜์Œ์— ๋น„์–ด ์žˆ์Œ

947</h3>

948 

949[์ด์ „ ๋Œ€ํ™”๋ฅผ ์žฌ๊ฐœ](#resume-past-conversations)ํ•˜๊ฑฐ๋‚˜ ๋Œ€ํ™”๊ฐ€ [๋‹ค์‹œ ๋กœ๋“œ ํ›„ ๋ณต์›](#continue-conversations-after-a-reload)๋˜๋ฉด, ํ•ด๋‹น ๋Œ€ํ™”์˜ Claude Code ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘๋˜๋Š” ๋™์•ˆ ๋ฉ”์‹œ์ง€๊ฐ€ ๋น„์–ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฝ 1์ดˆ ํ›„ ๋นˆ ๊ณต๊ฐ„์— `Waiting for your pluginsโ€ฆ`๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

950 

951๋ณ„๋„๋กœ ์กฐ์น˜ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘๋˜์–ด ๋จผ์ € ๋ฉ”์‹œ์ง€๋ฅผ ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์—†์Œ์„ ํ™•์ธํ•˜๋ฉด ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉฐ, ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ์—๋Š” 20์ดˆ ํ›„์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

952 

953<h3 id="the-panel-stops-responding-each-time-a-reload-reopens-a-conversation">

954 ๋‹ค์‹œ ๋กœ๋“œ๋กœ ๋Œ€ํ™”๊ฐ€ ๋‹ค์‹œ ์—ด๋ฆด ๋•Œ๋งˆ๋‹ค ํŒจ๋„์ด ์‘๋‹ตํ•˜์ง€ ์•Š์Œ

955</h3>

956 

957๋‹ค์‹œ ๋กœ๋“œํ•˜์—ฌ ๋Œ€ํ™”๊ฐ€ ๋ณต์›๋  ๋•Œ๋งˆ๋‹ค ํŒจ๋„ ์ „์ฒด๊ฐ€ ์ถฉ๋Œํ•˜๊ฑฐ๋‚˜, ๋ฉˆ์ถ”๊ฑฐ๋‚˜, `Something went wrong`๋งŒ ํ‘œ์‹œ๋œ๋‹ค๋ฉด ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ v2.1.301 ์ด์ƒ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ฐฝ์„ ๋‹ค์‹œ ๋กœ๋“œํ•˜๊ฑฐ๋‚˜ VS Code๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์„ธ์š”. ๋Œ€ํ™”๊ฐ€ ๋‘ ๋ฒˆ ์—ฐ์†์œผ๋กœ ๋๊นŒ์ง€ ์—ด๋ฆฌ์ง€ ๋ชปํ•˜๋ฉด ๊ทธ ์ž๋ฆฌ์— ์ƒˆ ์ฑ„ํŒ…์ด ์—ด๋ฆฌ๋ฉฐ, [๋Œ€ํ™”๊ฐ€ ๋‹ค์‹œ ์—ด๋ฆฌ์ง€ ์•Š์•˜๋‹ค](#a-conversation-was-not-reopened)๋Š” ์•Œ๋ฆผ์ด ํ•จ๊ป˜ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

958 

959<h3 id="a-formula-shows-as-raw-latex">

960 ์ˆ˜์‹์ด ์›์‹œ LaTeX๋กœ ํ‘œ์‹œ๋จ

961</h3>

962 

963Claude์˜ ์‘๋‹ต์— ์žˆ๋Š” ์ˆ˜์‹์ด ์ „ํ˜€ ์กฐํŒ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ๋ณด๊ธฐ์—์„œ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฒ„์ „์„ ํ™•์ธํ•˜์„ธ์š”. [์ˆ˜์‹ ๋ Œ๋”๋ง](#latex-math-in-responses)์—๋Š” ๋ฒ„์ „ 2.1.301 ์ด์ƒ์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ฒ„์ „๊ณผ ๊ด€๊ณ„์—†์ด ์ˆ˜์‹์„ ์กฐํŒํ•˜์ง€ ์•Š๋Š” [ํ„ฐ๋ฏธ๋„ ๋ชจ๋“œ](#switch-to-terminal-mode)๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๋ผ๋ฉด, Claude Code๊ฐ€ ๋Œ€์‹  ์ฑ„ํŒ… ํŒจ๋„์—์„œ ์—ด๋ฆฌ๋„๋ก [Use Terminal ์„ค์ •](vscode://settings/claudeCode.useTerminal)์˜ ์„ ํƒ์„ ํ•ด์ œํ•˜์„ธ์š”.

964 

965์ฃผ๋ณ€์˜ ๋‹ค๋ฅธ ์ˆ˜์‹์€ ์กฐํŒ๋˜๋Š”๋ฐ ํŠน์ • ์ˆ˜์‹ ํ•˜๋‚˜๋งŒ ์ž‘์„ฑ๋œ ๊ทธ๋Œ€๋กœ ํ‘œ์‹œ๋œ๋‹ค๋ฉด ๋‹ค์Œ ์›์ธ์„ ํ™•์ธํ•˜์„ธ์š”.

966 

967* **์ˆ˜์‹์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ์ธ์‹๋จ**: `$O(n log n)$`์ฒ˜๋Ÿผ ๋‹จ์–ด๋กœ ์ฝํžˆ๋Š” `$โ€ฆ$` ํ…์ŠคํŠธ๋Š” ์ž‘์„ฑ๋œ ๊ทธ๋Œ€๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. `$30$`์ด๋‚˜ `$1/N$`์ฒ˜๋Ÿผ ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•˜๋Š” `$โ€ฆ$` ํ…์ŠคํŠธ๋„ `=`, `+`, `^` ๊ฐ™์€ ๋ฌธ์ž๋กœ ์ˆ˜์‹์ž„์ด ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ํ•œ ์ž‘์„ฑ๋œ ๊ทธ๋Œ€๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๋Œ€์‹  ๋ณ„๋„์˜ ์ค„์— `$$` ๋ธ”๋ก์œผ๋กœ ์ž‘์„ฑํ•ด ๋‹ฌ๋ผ๊ณ  Claude์—๊ฒŒ ์š”์ฒญํ•˜์„ธ์š”. ํŒจ๋„์€ ์ด ๊ฒ€์‚ฌ ์—†์ด `$$` ๋ธ”๋ก์„ ์กฐํŒํ•ฉ๋‹ˆ๋‹ค.

968* **๊ณต๋ฐฑ์ด ๋“ค์–ด ์žˆ๊ฑฐ๋‚˜, ๊ธธ๊ฑฐ๋‚˜, ์—ฌ๋Ÿฌ ์ค„๋กœ ๋‚˜๋‰จ**: ๋‹ฌ๋Ÿฌ ๊ธฐํ˜ธ ์•ˆ์ชฝ์— ๊ณต๋ฐฑ์ด ์žˆ๋Š” `$ x^2 $`, 60์ž๋ฅผ ๋„˜๋Š” `$โ€ฆ$` ๋‚ด์šฉ, ๋‘ ์ค„๋กœ ๋‚˜๋‰œ `$โ€ฆ$` ๋˜๋Š” `\(โ€ฆ\)`๋Š” ์กฐํŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ๋ณ„๋„์˜ ์ค„์— `$$` ๋ธ”๋ก์œผ๋กœ ์ž‘์„ฑํ•ด ๋‹ฌ๋ผ๊ณ  Claude์—๊ฒŒ ์š”์ฒญํ•˜์„ธ์š”. `$$` ๋ธ”๋ก์—๋Š” ์ด๋Ÿฌํ•œ ์ œํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค.

969* **TeX๋ฅผ ์กฐํŒํ•  ์ˆ˜ ์—†์Œ**: ๊ตฌ๋ฌธ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ์ˆ˜์‹, `\newcommand`๋‚˜ `\def` ๊ฐ™์€ ๋งคํฌ๋กœ ์ •์˜, ์ด์Šค์ผ€์ดํ”„๋˜์ง€ ์•Š์€ `%`๋Š” ์ž‘์„ฑ๋œ ๊ทธ๋Œ€๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜, ๋งคํฌ๋กœ ์—†์ด ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜, ํผ์„ผํŠธ ๊ธฐํ˜ธ์— `\%`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์‹œ ์ž‘์„ฑํ•ด ๋‹ฌ๋ผ๊ณ  Claude์—๊ฒŒ ์š”์ฒญํ•˜์„ธ์š”.

970* **๋„ˆ๋ฌด ํผ**: 8,192์ž๋ณด๋‹ค ๊ธด ์ˆ˜์‹์ด๋‚˜ ์›๋ณธ๋ณด๋‹ค ํ›จ์”ฌ ํฌ๊ฒŒ ๊ทธ๋ ค์ง€๋Š” ์ˆ˜์‹์€ ์ž‘์„ฑ๋œ ๊ทธ๋Œ€๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ˆ˜์‹์„ ๋” ์ž‘์€ ์ˆ˜์‹์œผ๋กœ ๋‚˜๋ˆ„๊ฑฐ๋‚˜ ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑํ•ด ๋‹ฌ๋ผ๊ณ  Claude์—๊ฒŒ ์š”์ฒญํ•˜์„ธ์š”.

971* **๋งŽ์€ ์–‘์˜ ์ˆ˜์‹ ๋’ค์— ์œ„์น˜ํ•จ**: ์‘๋‹ต ๋‚ด ํ•˜๋‚˜์˜ ํ…์ŠคํŠธ ๋ธ”๋ก ์•ˆ์—์„œ ํŒจ๋„์€ ํ•œ๋„๊นŒ์ง€ ์ˆ˜์‹์„ ์ˆœ์„œ๋Œ€๋กœ ์กฐํŒํ•ฉ๋‹ˆ๋‹ค. ํ•œ๋„๋ฅผ ๋„˜๊ฒŒ ๋˜๋Š” ์ดํ›„์˜ ์ˆ˜์‹์€ ์ž‘์„ฑ๋œ ๊ทธ๋Œ€๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ์ˆ˜์‹๋งŒ ๋”ฐ๋กœ ๋‹ค์‹œ ๋ณด๋‚ด ๋‹ฌ๋ผ๊ณ  Claude์—๊ฒŒ ์š”์ฒญํ•˜์„ธ์š”.

972 

899<h3 id="claude-code-never-responds">973<h3 id="claude-code-never-responds">

900 Claude Code๊ฐ€ ์‘๋‹ตํ•˜์ง€ ์•Š์Œ974 Claude Code๊ฐ€ ์‘๋‹ตํ•˜์ง€ ์•Š์Œ

901</h3>975</h3>

web-quickstart.md +1 โˆ’1

Details

103์ด๋ฏธ ๋ธŒ๋ผ์šฐ์ €์—์„œ GitHub๋ฅผ ์—ฐ๊ฒฐํ•œ ๊ฒฝ์šฐ, `/web-setup`์€ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์— ๋Œ€ํ•œ ํ•ด๋‹น ์—ฐ๊ฒฐ์„ ๋Œ€์ฒดํ•œ๋‹ค๋Š” ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.103์ด๋ฏธ ๋ธŒ๋ผ์šฐ์ €์—์„œ GitHub๋ฅผ ์—ฐ๊ฒฐํ•œ ๊ฒฝ์šฐ, `/web-setup`์€ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์— ๋Œ€ํ•œ ํ•ด๋‹น ์—ฐ๊ฒฐ์„ ๋Œ€์ฒดํ•œ๋‹ค๋Š” ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

104 104 

105<Note>105<Note>

106 [Zero Data Retention](/docs/ko/zero-data-retention)์ด ํ™œ์„ฑํ™”๋˜์—ˆ๊ฑฐ๋‚˜ [HIPAA ๊ตฌ์„ฑ](/docs/ko/hipaa-setup)์ด ์ ์šฉ๋œ ์กฐ์ง์€ `/web-setup` ๋˜๋Š” ๊ธฐํƒ€ ํด๋ผ์šฐ๋“œ ์„ธ์…˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. GitHub CLI๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ์ธ์ฆ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, Claude Code๋Š” ๋Œ€์‹  ๋ธŒ๋ผ์šฐ์ € ์˜จ๋ณด๋”ฉ ํ๋ฆ„์„ ์—ฝ๋‹ˆ๋‹ค.106 [Zero Data Retention](/docs/ko/zero-data-retention)์ด ํ™œ์„ฑํ™”๋˜์—ˆ๊ฑฐ๋‚˜ [HIPAA ๊ตฌ์„ฑ](/docs/ko/hipaa-setup)์ด ์ ์šฉ๋œ ์กฐ์ง์€ `/web-setup` ๋˜๋Š” ๊ธฐํƒ€ ํด๋ผ์šฐ๋“œ ์„ธ์…˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. [๊ณ ๊ฐ ๊ด€๋ฆฌํ˜• ์•”ํ˜ธํ™” ํ‚ค](https://platform.claude.com/docs/en/manage-claude/cmek)(CMEK)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์กฐ์ง๋„ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. GitHub CLI๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ์ธ์ฆ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, Claude Code๋Š” ๋Œ€์‹  ๋ธŒ๋ผ์šฐ์ € ์˜จ๋ณด๋”ฉ ํ๋ฆ„์„ ์—ฝ๋‹ˆ๋‹ค.

107</Note>107</Note>

108 108 

109<Steps>109<Steps>

whats-new/2026-w30.md +4 โˆ’4

Details

74 <p className="digest-wins-title">๊ธฐํƒ€ ๊ฐœ์„  ์‚ฌํ•ญ</p>74 <p className="digest-wins-title">๊ธฐํƒ€ ๊ฐœ์„  ์‚ฌํ•ญ</p>

75 75 

76 <div className="digest-wins-grid">76 <div className="digest-wins-grid">

77 <div><a href="/docs/ko/code-review#review-a-diff-locally"><code>/code-review</code></a>๋Š” ์ด์ œ ์ž์ฒด ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๊ฐ€ ์žˆ๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„œ๋ธŒ์—์ด์ „ํŠธ๋กœ ์‹คํ–‰๋˜๋ฏ€๋กœ ๊ฒ€ํ†  ์ž‘์—…์ด ๋Œ€ํ™”์—์„œ ๋ฒ—์–ด๋‚˜๊ณ  ์™„๋ฃŒ๋˜๋ฉด ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด ๋„์ฐฉํ•ฉ๋‹ˆ๋‹ค</div>77 <div><a href="/docs/ko/code-review-local"><code>/code-review</code></a>๋Š” ์ด์ œ ์ž์ฒด ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๊ฐ€ ์žˆ๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„œ๋ธŒ์—์ด์ „ํŠธ๋กœ ์‹คํ–‰๋˜๋ฏ€๋กœ ๊ฒ€ํ†  ์ž‘์—…์ด ๋Œ€ํ™”์—์„œ ๋ฒ—์–ด๋‚˜๊ณ  ์™„๋ฃŒ๋˜๋ฉด ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์ด ๋„์ฐฉํ•ฉ๋‹ˆ๋‹ค</div>

78 <div><code>/verify</code>, <code>/code-review</code> ๋ฐ <code>/deep-research</code>๋Š” ํ˜ธ์ถœํ•  ๋•Œ๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. Claude๋Š” ๋” ์ด์ƒ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค</div>78 <div><code>/verify</code>, <code>/code-review</code> ๋ฐ <code>/deep-research</code>๋Š” ํ˜ธ์ถœํ•  ๋•Œ๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. Claude๋Š” ๋” ์ด์ƒ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค</div>

79 <div><a href="/docs/ko/interactive-mode#emoji-shortcodes">์ด๋ชจ์ง€ ๋‹จ์ถ•์ฝ”๋“œ</a>๋Š” ํ”„๋กฌํ”„ํŠธ ์ž…๋ ฅ์—์„œ ์ž๋™ ์™„์„ฑ๋ฉ๋‹ˆ๋‹ค. <code>:heart:</code>๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ด๋ชจ์ง€๋ฅผ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ <code>:</code> ๋’ค์— 2๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ œ์•ˆ์„ ๋ฐ›์œผ์‹ญ์‹œ์˜ค. <code>emojiCompletionEnabled</code>๋กœ ๋Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค</div>79 <div><a href="/docs/ko/interactive-mode#emoji-shortcodes">์ด๋ชจ์ง€ ๋‹จ์ถ•์ฝ”๋“œ</a>๋Š” ํ”„๋กฌํ”„ํŠธ ์ž…๋ ฅ์—์„œ ์ž๋™ ์™„์„ฑ๋ฉ๋‹ˆ๋‹ค. <code>:heart:</code>๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ด๋ชจ์ง€๋ฅผ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ <code>:</code> ๋’ค์— 2๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ œ์•ˆ์„ ๋ฐ›์œผ์‹ญ์‹œ์˜ค. <code>emojiCompletionEnabled</code>๋กœ ๋Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค</div>

80 <div><code>context: fork</code>๊ฐ€ ์žˆ๋Š” Skills๋Š” <a href="/docs/ko/skills#run-skills-in-a-subagent">๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ</a> ์‹คํ–‰๋˜๋ฉฐ, ์Šคํ‚ฌ์˜ frontmatter์—์„œ <code>background: false</code>๋Š” ๊ฐ™์€ ํ„ด์—์„œ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค</div>80 <div><code>context: fork</code>๊ฐ€ ์žˆ๋Š” ์Šคํ‚ฌ์€ <a href="/docs/ko/skills#run-skills-in-a-subagent">๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ</a> ์‹คํ–‰๋˜๋ฉฐ, ์Šคํ‚ฌ์˜ frontmatter์—์„œ <code>background: false</code>๋Š” ๊ฐ™์€ ํ„ด์—์„œ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค</div>

81 <div>์„ธ์…˜์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ตœ๋Œ€ 20๊ฐœ์˜ ์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. <code>CLAUDE\_CODE\_MAX\_CONCURRENT\_SUBAGENTS</code>๋กœ <a href="/docs/ko/sub-agents#concurrent-subagent-limit">์ œํ•œ</a>์„ ๋ณ€๊ฒฝํ•˜์‹ญ์‹œ์˜ค</div>81 <div>์„ธ์…˜์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ตœ๋Œ€ 20๊ฐœ์˜ ์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. <code>CLAUDE\_CODE\_MAX\_CONCURRENT\_SUBAGENTS</code>๋กœ <a href="/docs/ko/sub-agents#concurrent-subagent-limit">์ œํ•œ</a>์„ ๋ณ€๊ฒฝํ•˜์‹ญ์‹œ์˜ค</div>

82 <div>`--max-budget-usd`๋Š” ์ด์ œ ์„œ๋ธŒ์—์ด์ „ํŠธ์— ๋Œ€ํ•œ ์ƒํ•œ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ง€์ถœ์ด ๋„๋‹ฌํ•˜๋ฉด Claude๋Š” ๋” ์ด์ƒ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๊ณ  ์‹คํ–‰ ์ค‘์ธ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค</div>82 <div>`--max-budget-usd`๋Š” ์ด์ œ ์„œ๋ธŒ์—์ด์ „ํŠธ์— ๋Œ€ํ•œ ์ƒํ•œ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ง€์ถœ์ด ๋„๋‹ฌํ•˜๋ฉด Claude๋Š” ๋” ์ด์ƒ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๊ณ  ์‹คํ–‰ ์ค‘์ธ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค</div>

83 <div>์ƒˆ๋กœ์šด <a href="/docs/ko/sandboxing#disable-filesystem-isolation"><code>sandbox.filesystem.disabled</code></a> ์„ค์ •์€ ๋„คํŠธ์›Œํฌ ์†ก์‹  ์ œ์–ด๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฒฉ๋ฆฌ๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค</div>83 <div>์ƒˆ๋กœ์šด <a href="/docs/ko/sandboxing#disable-filesystem-isolation"><code>sandbox.filesystem.disabled</code></a> ์„ค์ •์€ ๋„คํŠธ์›Œํฌ ์†ก์‹  ์ œ์–ด๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฒฉ๋ฆฌ๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค</div>

84 <div>์ž๋™ ๋ชจ๋“œ์—์„œ ์œ„ํ—˜ํ•œ <code>rm</code> ๋ช…๋ น, ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—… ๋ฐ ์˜์‹ฌ์Šค๋Ÿฌ์šด Windows ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ํ™•์ธ์€ ๋” ์ด์ƒ ๊ถŒํ•œ ๋Œ€ํ™”๋ฅผ ์—ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž๋™ ๋ชจ๋“œ ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ ๋Œ€์‹  ํŒ์ •ํ•ฉ๋‹ˆ๋‹ค</div>84 <div>์ž๋™ ๋ชจ๋“œ์—์„œ ์œ„ํ—˜ํ•œ <code>rm</code> ๋ช…๋ น, ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—… ๋ฐ ์˜์‹ฌ์Šค๋Ÿฌ์šด Windows ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ํ™•์ธ์€ ๋” ์ด์ƒ ๊ถŒํ•œ ๋Œ€ํ™”๋ฅผ ์—ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž๋™ ๋ชจ๋“œ ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ ๋Œ€์‹  ํŒ์ •ํ•ฉ๋‹ˆ๋‹ค</div>

85 <div>Bash ๊ถŒํ•œ ํ™•์ธ์€ ํŒŒ์ผ ์„ค๋ช…์ž ๋ฆฌ๋””๋ ‰์…˜, <code>\[\[ ]]</code> ๋น„๊ต์˜ Zsh ๋ณ€์ˆ˜ ์ฒจ์ž, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์˜ต์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” <code>help</code> ๋ฐ <code>man</code> ํ˜ธ์ถœ, 10,000์ž๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๋ช…๋ น์„ ํฌํ•จํ•œ ๋” ๋งŽ์€ ์…ธ ํ˜•์‹์—์„œ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค</div>85 <div>Bash ๊ถŒํ•œ ํ™•์ธ์€ ํŒŒ์ผ ์„ค๋ช…์ž ๋ฆฌ๋””๋ ‰์…˜, <code>\[\[ ]]</code> ๋น„๊ต์˜ Zsh ๋ณ€์ˆ˜ ์ฒจ์ž, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์˜ต์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” <code>help</code> ๋ฐ <code>man</code> ํ˜ธ์ถœ, 10,000์ž๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๋ช…๋ น์„ ํฌํ•จํ•œ ๋” ๋งŽ์€ ์…ธ ํ˜•์‹์—์„œ ์•ˆ์ „ํ•˜๊ฒŒ ์ฐจ๋‹จ(fail closed)๋ฉ๋‹ˆ๋‹ค</div>

86 <div><a href="/docs/ko/fast-mode">Fast ๋ชจ๋“œ</a>๋Š” ๋” ์ด์ƒ Opus 4.7์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. <code>/fast</code>๋Š” ์ด์ œ Opus 5 ๋ฐ Opus 4.8์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค</div>86 <div><a href="/docs/ko/fast-mode">๋น ๋ฅธ ๋ชจ๋“œ</a>๋Š” ๋” ์ด์ƒ Opus 4.7์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. <code>/fast</code>๋Š” ์ด์ œ Opus 5 ๋ฐ Opus 4.8์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค</div>

87 <div>์žฅ์‹œ๊ฐ„ ์‹คํ–‰๋˜๋Š” ๋„๊ตฌ ํ˜ธ์ถœ์€ ์นจ๋ฌตํ•˜๋Š” ๋Œ€์‹  ์ฃผ๊ธฐ์ ์ธ ์ง„ํ–‰ ์ƒํ™ฉ ํ•˜ํŠธ๋น„ํŠธ๋ฅผ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค</div>87 <div>์žฅ์‹œ๊ฐ„ ์‹คํ–‰๋˜๋Š” ๋„๊ตฌ ํ˜ธ์ถœ์€ ์นจ๋ฌตํ•˜๋Š” ๋Œ€์‹  ์ฃผ๊ธฐ์ ์ธ ์ง„ํ–‰ ์ƒํ™ฉ ํ•˜ํŠธ๋น„ํŠธ๋ฅผ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค</div>

88 </div>88 </div>

89</div>89</div>

whats-new/2026-w32.md +6 โˆ’6

Details

87 <div>VS Code ํ™•์žฅ์ด <a href="/docs/ko/vs-code#extension-settings">ํฌ์ปค์Šค ๋ณด๊ธฐ</a>๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋Š” ๋„๊ตฌ ํ™œ๋™์„ ํ„ด๋‹น ํ•˜๋‚˜์˜ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ–‰ ๋’ค์— ์ˆจ๊น๋‹ˆ๋‹ค. ๋ช…๋ น ๋ฉ”๋‰ด์—์„œ ๋˜๋Š” <code>Ctrl+Alt+F</code> (Mac์—์„œ๋Š” <code>Ctrl+Option+F</code>)๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.</div>87 <div>VS Code ํ™•์žฅ์ด <a href="/docs/ko/vs-code#extension-settings">ํฌ์ปค์Šค ๋ณด๊ธฐ</a>๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋Š” ๋„๊ตฌ ํ™œ๋™์„ ํ„ด๋‹น ํ•˜๋‚˜์˜ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ–‰ ๋’ค์— ์ˆจ๊น๋‹ˆ๋‹ค. ๋ช…๋ น ๋ฉ”๋‰ด์—์„œ ๋˜๋Š” <code>Ctrl+Alt+F</code> (Mac์—์„œ๋Š” <code>Ctrl+Option+F</code>)๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.</div>

88 <div>์ƒŒ๋“œ๋ฐ•์Šค ์ž๊ฒฉ ์ฆ๋ช… ํŒŒ์ผ์€ Linux ๋ฐ WSL2์—์„œ <a href="/docs/ko/sandboxing#mask-credential-files"><code>mode: "mask"</code></a>๋ฅผ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ, ์ƒŒ๋“œ๋ฐ•์Šค๋œ ๋ช…๋ น์€ ์„ผํ‹ฐ๋„ ๋ณต์‚ฌ๋ณธ์„ ์ฝ๊ณ  ์ƒŒ๋“œ๋ฐ•์Šค ํ”„๋ก์‹œ๋Š” ์†ก์‹  ์‹œ ์‹ค์ œ ๊ฐ’์„ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. ์ž๊ฒฉ ์ฆ๋ช… ๋งˆ์Šคํ‚น์€ ๋˜ํ•œ <code>extract</code>, JWT ์ธ์‹ <code>decode</code> ๋ฐ AWS SigV4 ์žฌ์„œ๋ช… ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.</div>88 <div>์ƒŒ๋“œ๋ฐ•์Šค ์ž๊ฒฉ ์ฆ๋ช… ํŒŒ์ผ์€ Linux ๋ฐ WSL2์—์„œ <a href="/docs/ko/sandboxing#mask-credential-files"><code>mode: "mask"</code></a>๋ฅผ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ, ์ƒŒ๋“œ๋ฐ•์Šค๋œ ๋ช…๋ น์€ ์„ผํ‹ฐ๋„ ๋ณต์‚ฌ๋ณธ์„ ์ฝ๊ณ  ์ƒŒ๋“œ๋ฐ•์Šค ํ”„๋ก์‹œ๋Š” ์†ก์‹  ์‹œ ์‹ค์ œ ๊ฐ’์„ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. ์ž๊ฒฉ ์ฆ๋ช… ๋งˆ์Šคํ‚น์€ ๋˜ํ•œ <code>extract</code>, JWT ์ธ์‹ <code>decode</code> ๋ฐ AWS SigV4 ์žฌ์„œ๋ช… ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.</div>

89 <div>๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋Š” ์ƒˆ๋กœ์šด <code>archive</code> ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ <a href="/docs/ko/plugins/marketplace-reference#archive-plugin-source">zip ์•„์นด์ด๋ธŒ</a>๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, HTTPS๋ฅผ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œ๋˜๊ณ  ์„ ํƒ์  SHA-256 ํ•€์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, git์ด๋‚˜ npm ์—†์ด๋„ ์„ค์น˜๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.</div>89 <div>๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋Š” ์ƒˆ๋กœ์šด <code>archive</code> ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ <a href="/docs/ko/plugins/marketplace-reference#archive-plugin-source">zip ์•„์นด์ด๋ธŒ</a>๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, HTTPS๋ฅผ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œ๋˜๊ณ  ์„ ํƒ์  SHA-256 ํ•€์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, git์ด๋‚˜ npm ์—†์ด๋„ ์„ค์น˜๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.</div>

90 <div><code>/review</code>๋Š” ์ด์ œ <a href="/docs/ko/code-review#review-a-diff-locally"><code>/code-review</code></a>์˜ ๋ณ„์นญ์ด๋ฉฐ, ๋…ธ๋ ฅ ์ˆ˜์ค€ ์—†์ด <code>/code-review</code>๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋งˆ์ง€๋ง‰์œผ๋กœ ์ž…๋ ฅํ•œ ์ˆ˜์ค€์„ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.</div>90 <div><code>/review</code>๋Š” ์ด์ œ <a href="/docs/ko/code-review-local"><code>/code-review</code></a>์˜ ๋ณ„์นญ์ด๋ฉฐ, effort ์ˆ˜์ค€ ์—†์ด <code>/code-review</code>๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋งˆ์ง€๋ง‰์œผ๋กœ ์ž…๋ ฅํ•œ ์ˆ˜์ค€์„ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.</div>

91 <div><a href="/docs/ko/agent-view#copy-the-session-with-%2Ffork"><code>/fork</code></a>๋กœ ๋ณต์‚ฌํ•œ ์„ธ์…˜์€ ์ด์ œ ์›๋ณธ ์„ธ์…˜์˜ ์ฒดํฌ์•„์›ƒ ๋Œ€์‹  ์ž์ฒด worktree์—์„œ ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.</div>91 <div><a href="/docs/ko/agent-view#copy-the-session-with-%2Ffork"><code>/fork</code></a>๋กœ ๋ณต์‚ฌํ•œ ์„ธ์…˜์€ ์ด์ œ ์›๋ณธ ์„ธ์…˜์˜ ์ฒดํฌ์•„์›ƒ ๋Œ€์‹  ์ž์ฒด ์›ŒํฌํŠธ๋ฆฌ์—์„œ ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.</div>

92 <div><a href="/docs/ko/plugins/install#install-a-plugin"><code>/plugin</code></a>์—์„œ ์„ค์น˜ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์•ˆ์ „ํ•  ๋•Œ ํ˜„์žฌ ์„ธ์…˜์—์„œ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ์š”์•ฝ์€ <code>Plugin is now active.</code>๋ฅผ ๋ณด๊ณ ํ•˜๊ฑฐ๋‚˜ <code>/reload-plugins</code>๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค.</div>92 <div><a href="/docs/ko/plugins/install#install-a-plugin"><code>/plugin</code></a>์—์„œ ์„ค์น˜ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์•ˆ์ „ํ•  ๋•Œ ํ˜„์žฌ ์„ธ์…˜์—์„œ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ์š”์•ฝ์€ <code>Plugin is now active.</code>๋ฅผ ๋ณด๊ณ ํ•˜๊ฑฐ๋‚˜ <code>/reload-plugins</code>๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค.</div>

93 <div><a href="/docs/ko/agent-view#how-file-edits-are-isolated">๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜</a>์ด worktree์—์„œ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•œ ๊ฒฝ์šฐ, ์ด์ œ ์™„๋ฃŒ ์ „์— ์ปค๋ฐ‹ํ•˜๊ณ  ํ‘ธ์‹œํ•˜๋ฉฐ, ์ž‘์—…์—์„œ ์š”๊ตฌํ•  ๋•Œ๋งŒ ์ดˆ์•ˆ ํ’€ ์š”์ฒญ์„ ์—ด๊ณ , <code>CLAUDE.md</code>์˜ git ์ง€์‹œ์‚ฌํ•ญ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.</div>93 <div><a href="/docs/ko/agent-view#how-file-edits-are-isolated">๋ฐฑ๊ทธ๋ผ์šด๋“œ ์„ธ์…˜</a>์ด ์›ŒํฌํŠธ๋ฆฌ์—์„œ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•œ ๊ฒฝ์šฐ, ์ด์ œ ์™„๋ฃŒ ์ „์— ์ปค๋ฐ‹ํ•˜๊ณ  ํ‘ธ์‹œํ•˜๋ฉฐ, ์ž‘์—…์—์„œ ์š”๊ตฌํ•  ๋•Œ๋งŒ ์ดˆ์•ˆ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์—ด๊ณ , <code>CLAUDE.md</code>์˜ git ์ง€์‹œ์‚ฌํ•ญ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.</div>

94 <div>์„ธ์…˜๋‹น 200๊ฐœ ์„œ๋ธŒ์—์ด์ „ํŠธ ์ œํ•œ์ด ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฏ€๋กœ, ์žฅ๊ธฐ ์‹คํ–‰ ์„ธ์…˜์€ ๋” ์ด์ƒ ์ƒˆ ์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ๊ฑฐ๋ถ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. <a href="/docs/ko/sub-agents#concurrent-subagent-limit">๋™์‹œ์„ฑ</a> ๋ฐ ๊นŠ์ด ์ œํ•œ์€ ์—ฌ์ „ํžˆ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.</div>94 <div>์„ธ์…˜๋‹น 200๊ฐœ ์„œ๋ธŒ์—์ด์ „ํŠธ ์ œํ•œ์ด ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฏ€๋กœ, ์žฅ๊ธฐ ์‹คํ–‰ ์„ธ์…˜์€ ๋” ์ด์ƒ ์ƒˆ ์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ๊ฑฐ๋ถ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. <a href="/docs/ko/sub-agents#concurrent-subagent-limit">๋™์‹œ์„ฑ</a> ๋ฐ ๊นŠ์ด ์ œํ•œ์€ ์—ฌ์ „ํžˆ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.</div>

95 <div>์ €์žฅ์†Œ์˜ ์ฒดํฌ์ธ๋œ ์„ค์ •์€ ๋” ์ด์ƒ <a href="/docs/ko/remote-control#enable-remote-control-for-all-sessions">์›๊ฒฉ ์ œ์–ด ์ž๋™ ์—ฐ๊ฒฐ</a>์„ ์ผค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์‚ฌ์šฉ์ž ๋˜๋Š” ๊ด€๋ฆฌ ์„ค์ •์—์„œ <code>remoteControlAtStartup</code>์„ ์„ค์ •ํ•˜๊ณ , ํ”„๋กœ์ ํŠธ ๋ฐ ๋กœ์ปฌ ์„ค์ •์€ ์ด๋ฅผ ๋Œ ์ˆ˜๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.</div>95 <div>์ €์žฅ์†Œ์˜ ์ฒดํฌ์ธ๋œ ์„ค์ •์€ ๋” ์ด์ƒ <a href="/docs/ko/remote-control#enable-remote-control-for-all-sessions">Remote Control ์ž๋™ ์—ฐ๊ฒฐ</a>์„ ์ผค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์‚ฌ์šฉ์ž ๋˜๋Š” ๊ด€๋ฆฌํ˜• ์„ค์ •์—์„œ <code>remoteControlAtStartup</code>์„ ์„ค์ •ํ•˜๊ณ , ํ”„๋กœ์ ํŠธ ๋ฐ ๋กœ์ปฌ ์„ค์ •์€ ์ด๋ฅผ ๋Œ ์ˆ˜๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.</div>

96 <div><a href="/docs/ko/worktrees#how-claude-code-enforces-isolation">Worktree ๊ฒฉ๋ฆฌ</a>๋Š” ์ด์ œ ํŒŒ์ผ ํŽธ์ง‘๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ฃผ ์ฒดํฌ์•„์›ƒ์— ๋„๋‹ฌํ•˜๋Š” Bash ๋ช…๋ น ๋ฐ git ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋„ ์ฐจ๋‹จํ•˜๋ฉฐ, ๋ชจ๋“  ์„ธ์…˜ ์œ ํ˜• ๋ฐ ์„ธ์…˜์˜ ์„œ๋ธŒ์—์ด์ „ํŠธ์—์„œ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.</div>96 <div><a href="/docs/ko/worktrees#how-claude-code-enforces-isolation">์›ŒํฌํŠธ๋ฆฌ ๊ฒฉ๋ฆฌ</a>๋Š” ์ด์ œ ํŒŒ์ผ ํŽธ์ง‘๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ฃผ ์ฒดํฌ์•„์›ƒ์— ๋„๋‹ฌํ•˜๋Š” Bash ๋ช…๋ น ๋ฐ git ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋„ ์ฐจ๋‹จํ•˜๋ฉฐ, ๋ชจ๋“  ์„ธ์…˜ ์œ ํ˜• ๋ฐ ์„ธ์…˜์˜ ์„œ๋ธŒ์—์ด์ „ํŠธ์—์„œ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.</div>

97 <div>Bash ๋ช…๋ น์€ ๋” ์ด์ƒ ๊ถŒํ•œ ํ™•์ธ์—์„œ ์ž์‹ ์˜ ์ผ๋ถ€๋ฅผ ์ˆจ๊ธธ ์ˆ˜ ์—†์œผ๋ฉฐ, ํƒญ์ด๋‚˜ ๋ณด์ด์ง€ ์•Š๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ํŒจ๋”ฉ์€ ๋” ์ด์ƒ ์Šน์ธ ๋Œ€ํ™”์—์„œ ๋ช…๋ น์˜ ์ผ๋ถ€๋ฅผ ์ˆจ๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.</div>97 <div>Bash ๋ช…๋ น์€ ๋” ์ด์ƒ ๊ถŒํ•œ ํ™•์ธ์—์„œ ์ž์‹ ์˜ ์ผ๋ถ€๋ฅผ ์ˆจ๊ธธ ์ˆ˜ ์—†์œผ๋ฉฐ, ํƒญ์ด๋‚˜ ๋ณด์ด์ง€ ์•Š๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ํŒจ๋”ฉ์€ ๋” ์ด์ƒ ์Šน์ธ ๋Œ€ํ™”์—์„œ ๋ช…๋ น์˜ ์ผ๋ถ€๋ฅผ ์ˆจ๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.</div>

98 <div>PreToolUse ์ž๋™ ํ—ˆ์šฉ ํ›…์€ ๋” ์ด์ƒ ์š”์•ฝ ๋ฐ ์••์ถ•๊ณผ ๊ฐ™์€ Claude Code์˜ ๋‚ด๋ถ€ ๋ถ€์ž‘์—…์—์„œ ๋„๊ตฌ ์ œํ•œ์„ ์šฐํšŒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.</div>98 <div>PreToolUse ์ž๋™ ํ—ˆ์šฉ ํ›…์€ ๋” ์ด์ƒ ์š”์•ฝ ๋ฐ ์••์ถ•๊ณผ ๊ฐ™์€ Claude Code์˜ ๋‚ด๋ถ€ ๋ถ€์ž‘์—…์—์„œ ๋„๊ตฌ ์ œํ•œ์„ ์šฐํšŒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.</div>

99 <div><a href="/docs/ko/ultraplan">Ultraplan</a> ์—ฐ๊ตฌ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฉฐ, <code>/ultraplan</code> ๋ช…๋ น ๋ฐ <code>ultraplan</code> ํ‚ค์›Œ๋“œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹  ๊ณ„ํš ๋ชจ๋“œ ๋˜๋Š” ์›น์˜ Claude Code๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.</div>99 <div><a href="/docs/ko/ultraplan">Ultraplan</a> ๋ฆฌ์„œ์น˜ ํ”„๋ฆฌ๋ทฐ๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฉฐ, <code>/ultraplan</code> ๋ช…๋ น ๋ฐ <code>ultraplan</code> ํ‚ค์›Œ๋“œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹  ํ”Œ๋žœ ๋ชจ๋“œ ๋˜๋Š” ์›น์˜ Claude Code๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.</div>

100 </div>100 </div>

101</div>101</div>

102 102 

whats-new/2026-w33.md +11 โˆ’11

Details

4 4 

5# 33์ฃผ์ฐจ ยท 8์›” 10โ€“14์ผ, 2026๋…„5# 33์ฃผ์ฐจ ยท 8์›” 10โ€“14์ผ, 2026๋…„

6 6 

7> Claude Code Desktop์ด ์‚ฌ์šฉ๋Ÿ‰ ์ œํ•œ ๋ฆฌ์…‹ ํ›„ ์ž๋™์œผ๋กœ ๊ณ„์† ์ง„ํ–‰๋˜๋ฉฐ, ํฌํฌ ๋ชจ๋“œ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ผœ์ง€๊ณ , GitLab ๋ณ‘ํ•ฉ ์š”์ฒญ ๋ฐ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๊ฐ€ GitHub์— ํ•ฉ๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค.7> Claude Code Desktop์ด ์‚ฌ์šฉ ํ•œ๋„๊ฐ€ ๋ฆฌ์…‹๋œ ํ›„ ์ž๋™์œผ๋กœ ๊ณ„์† ์ง„ํ–‰๋˜๋ฉฐ, ํฌํฌ ๋ชจ๋“œ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ผœ์ง€๊ณ , GitLab ๋ณ‘ํ•ฉ ์š”์ฒญ ๋ฐ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๊ฐ€ GitHub์— ํ•ฉ๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค.

8 8 

9<div className="digest-meta">9<div className="digest-meta">

10 <span>๋ฆด๋ฆฌ์Šค <a href="/docs/en/changelog#2-1-225">v2.1.225 โ†’ v2.1.233</a></span>10 <span>๋ฆด๋ฆฌ์Šค <a href="/docs/en/changelog#2-1-225">v2.1.225 โ†’ v2.1.233</a></span>


13 13 

14<div className="digest-feature">14<div className="digest-feature">

15 <div className="digest-feature-header">15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Desktop์˜ ์‚ฌ์šฉ๋Ÿ‰ ์ œํ•œ ํ›„ ์ž๋™ ๊ณ„์† ์ง„ํ–‰</span>16 <span className="digest-feature-title">Desktop์˜ ์‚ฌ์šฉ ํ•œ๋„ ๋„๋‹ฌ ํ›„ ์ž๋™ ๊ณ„์† ์ง„ํ–‰</span>

17 <span className="digest-feature-pill">Desktop</span>17 <span className="digest-feature-pill">Desktop</span>

18 </div>18 </div>

19 19 

20 <p className="digest-feature-lede">Claude Code Desktop์˜ Code ํƒญ์—์„œ ์„ธ์…˜ ์ œํ•œ์— ๋„๋‹ฌํ•˜๋ฉด, ์ œํ•œ ์นด๋“œ๋Š” ์ด์ œ <strong>์ œํ•œ์ด ๋ฆฌ์…‹๋  ๋•Œ ์ž๋™์œผ๋กœ ๊ณ„์†</strong> ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์„ ํƒํ•˜๋ฉด Desktop ์•ฑ์ด ๋ฆฌ์…‹ ํ›„ ์ค‘๋‹จ๋œ ํ„ด์„ ๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์นด๋“œ๋Š” ์žฌ์‹œ๋„ ์‹œ๊ฐ„์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๊ฐ„ ์ œํ•œ ์นด๋“œ๋Š” ์ด ์˜ต์…˜์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.</p>20 <p className="digest-feature-lede">Claude Code Desktop์˜ Code ํƒญ์—์„œ ์„ธ์…˜ ํ•œ๋„์— ๋„๋‹ฌํ•˜๋ฉด, ํ•œ๋„ ์นด๋“œ๋Š” ์ด์ œ <strong>ํ•œ๋„๊ฐ€ ๋ฆฌ์…‹๋  ๋•Œ ์ž๋™์œผ๋กœ ๊ณ„์†</strong> ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์„ ํƒํ•˜๋ฉด Desktop ์•ฑ์ด ๋ฆฌ์…‹ ํ›„ ์ค‘๋‹จ๋œ ํ„ด์„ ๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์นด๋“œ๋Š” ์žฌ์‹œ๋„ ์‹œ๊ฐ„์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๊ฐ„ ํ•œ๋„ ์นด๋“œ๋Š” ์ด ์˜ต์…˜์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.</p>

21 21 

22 <Frame>22 <Frame>

23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/2SnAdpL4dJ18nKb3/images/whats-new/desktop-auto-continue.mp4?fit=max&auto=format&n=2SnAdpL4dJ18nKb3&q=85&s=1937f489695feaea715e48ecfd7e62cd" data-path="images/whats-new/desktop-auto-continue.mp4" />23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/2SnAdpL4dJ18nKb3/images/whats-new/desktop-auto-continue.mp4?fit=max&auto=format&n=2SnAdpL4dJ18nKb3&q=85&s=1937f489695feaea715e48ecfd7e62cd" data-path="images/whats-new/desktop-auto-continue.mp4" />

24 </Frame>24 </Frame>

25 25 

26 <p className="digest-feature-try">๋‹ค์Œ์— ์„ธ์…˜ ์ œํ•œ ์นด๋“œ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด <strong>์ œํ•œ์ด ๋ฆฌ์…‹๋  ๋•Œ ์ž๋™์œผ๋กœ ๊ณ„์†</strong>์„ ์„ ํƒํ•˜๊ณ  ์„ธ์…˜์„ ์—ด์–ด ๋‘ก๋‹ˆ๋‹ค. ์นด๋“œ๋Š” <code>Auto-resuming at</code> ๋’ค์— ๋ฆฌ์…‹ ์‹œ๊ฐ„์„ ํ‘œ์‹œํ•˜๋ฉฐ, ์ œํ•œ์ด ๋ฆฌ์…‹๋˜๋ฉด ํ„ด์ด ์ž๋™์œผ๋กœ ๊ณ„์†๋ฉ๋‹ˆ๋‹ค.</p>26 <p className="digest-feature-try">๋‹ค์Œ์— ์„ธ์…˜ ํ•œ๋„ ์นด๋“œ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด <strong>ํ•œ๋„๊ฐ€ ๋ฆฌ์…‹๋  ๋•Œ ์ž๋™์œผ๋กœ ๊ณ„์†</strong>์„ ์„ ํƒํ•˜๊ณ  ์„ธ์…˜์„ ์—ด์–ด ๋‘ก๋‹ˆ๋‹ค. ์นด๋“œ๋Š” <code>Auto-resuming at</code> ๋’ค์— ๋ฆฌ์…‹ ์‹œ๊ฐ„์„ ํ‘œ์‹œํ•˜๋ฉฐ, ํ•œ๋„๊ฐ€ ๋ฆฌ์…‹๋˜๋ฉด ํ„ด์ด ์ž๋™์œผ๋กœ ๊ณ„์†๋ฉ๋‹ˆ๋‹ค.</p>

27 27 

28 <a className="digest-feature-link" href="/docs/ko/errors#youve-hit-your-session-limit">์‚ฌ์šฉ๋Ÿ‰ ์ œํ•œ์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ ํ•  ์ผ</a>28 <a className="digest-feature-link" href="/docs/ko/errors#youve-hit-your-session-limit">์‚ฌ์šฉ ํ•œ๋„์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ ํ•  ์ผ</a>

29</div>29</div>

30 30 

31<div className="digest-feature">31<div className="digest-feature">


53 <span className="digest-feature-pill">v2.1.232</span>53 <span className="digest-feature-pill">v2.1.232</span>

54 </div>54 </div>

55 55 

56 <p className="digest-feature-lede">ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋Š” ์ค‘์ฒฉ๋œ ์„œ๋ธŒ๊ทธ๋ฃน์„ ํฌํ•จํ•œ ๋ฒ ์–ด <code>gitlab.com</code> URL์„ ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค. v2.1.233 ์ด์ƒ์—์„œ GitLab ๋ณ‘ํ•ฉ ์š”์ฒญ URL์„ <code>--worktree</code>์— ์ „๋‹ฌํ•˜์—ฌ ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ถ„๊ธฐํ•˜๊ณ , <code>claude agents</code> ๋ณด๊ธฐ๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ์— ์—ฐ๊ฒฐ๋œ ์„ธ์…˜์„ <code>!N</code>์œผ๋กœ ๋ ˆ์ด๋ธ”ํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ๋˜ํ•œ <code>glpat-</code> ๋ฐ <code>glrt-</code>์™€ ๊ฐ™์€ GitLab ํ† ํฐ ํŒจ๋ฐ€๋ฆฌ๋ฅผ ๋งˆ์Šคํ‚นํ•˜๊ณ , <code>glab</code> CLI์˜ ๊ตฌ์„ฑ ์ €์žฅ์†Œ๋ฅผ <code>gh</code>๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค.</p>56 <p className="digest-feature-lede">ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋Š” ์ค‘์ฒฉ๋œ ์„œ๋ธŒ๊ทธ๋ฃน์„ ํฌํ•จํ•œ ๋ฒ ์–ด <code>gitlab.com</code> URL์„ ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค. v2.1.233 ์ด์ƒ์—์„œ GitLab ๋ณ‘ํ•ฉ ์š”์ฒญ URL์„ `--worktree`์— ์ „๋‹ฌํ•˜์—ฌ ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉฐ, <code>claude agents</code> ๋ณด๊ธฐ๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ์— ์—ฐ๊ฒฐ๋œ ์„ธ์…˜์„ <code>!N</code>์œผ๋กœ ๋ ˆ์ด๋ธ”ํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ๋˜ํ•œ <code>glpat-</code> ๋ฐ <code>glrt-</code>์™€ ๊ฐ™์€ GitLab ํ† ํฐ ํŒจ๋ฐ€๋ฆฌ๋ฅผ ๋งˆ์Šคํ‚นํ•˜๊ณ , <code>glab</code> CLI์˜ ๊ตฌ์„ฑ ์ €์žฅ์†Œ๋ฅผ <code>gh</code>๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค.</p>

57 57 

58 <p className="digest-feature-try">๋ณ‘ํ•ฉ ์š”์ฒญ์—์„œ ๋ถ„๊ธฐํ•œ worktree์—์„œ ์„ธ์…˜์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค:</p>58 <p className="digest-feature-try">๋ณ‘ํ•ฉ ์š”์ฒญ์—์„œ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“  worktree์—์„œ ์„ธ์…˜์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค:</p>

59 59 

60 ```bash terminal theme={null}60 ```bash terminal theme={null}

61 claude --worktree https://gitlab.com/group/project/-/merge_requests/4261 claude --worktree https://gitlab.com/group/project/-/merge_requests/42

62 ```62 ```

63 63 

64 <p className="digest-feature-try"><code>origin</code>์ด gitlab.com์— ์žˆ์œผ๋ฉด Claude Code๋Š” <code>merge-requests/42/head</code>๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์ž์‹ ์˜ worktree์—์„œ ํ•ด๋‹น ๋ถ„๊ธฐ์˜ ์„ธ์…˜์„ ์—ฝ๋‹ˆ๋‹ค.</p>64 <p className="digest-feature-try"><code>origin</code>์ด gitlab.com์— ์žˆ์œผ๋ฉด Claude Code๋Š” <code>merge-requests/42/head</code>๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์ž์‹ ์˜ worktree์—์„œ ํ•ด๋‹น ๋ธŒ๋žœ์น˜์˜ ์„ธ์…˜์„ ์—ฝ๋‹ˆ๋‹ค.</p>

65 65 

66 <a className="digest-feature-link" href="/docs/ko/worktrees#branch-from-a-pull-request">ํ’€ ๋˜๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ์—์„œ worktree ๋ถ„๊ธฐ</a>66 <a className="digest-feature-link" href="/docs/ko/worktrees#branch-from-a-pull-request">ํ’€ ๋˜๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ์—์„œ worktree ๋ธŒ๋žœ์น˜ ๋งŒ๋“ค๊ธฐ</a>

67</div>67</div>

68 68 

69<div className="digest-wins">69<div className="digest-wins">


75 <div>ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋Š” <a href="/docs/ko/plugins/marketplace-reference#command-plugin-source"><code>command</code> ์†Œ์Šค</a>๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋ช…๋ น์€ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ธ์‡„ํ•˜๋ฉฐ, Claude Code๋Š” ๊ฐ ์„ธ์…˜๋งˆ๋‹ค ๋‹ค์‹œ ํ™•์ธํ•˜๊ณ  ์žฌ์‹œ์ž‘ ์—†์ด ์ ์šฉํ•ฉ๋‹ˆ๋‹ค</div>75 <div>ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋Š” <a href="/docs/ko/plugins/marketplace-reference#command-plugin-source"><code>command</code> ์†Œ์Šค</a>๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋ช…๋ น์€ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ธ์‡„ํ•˜๋ฉฐ, Claude Code๋Š” ๊ฐ ์„ธ์…˜๋งˆ๋‹ค ๋‹ค์‹œ ํ™•์ธํ•˜๊ณ  ์žฌ์‹œ์ž‘ ์—†์ด ์ ์šฉํ•ฉ๋‹ˆ๋‹ค</div>

76 <div>Linux ๋ฐ WSL์—์„œ <a href="/docs/ko/tools-reference#memory-limit-on-linux-and-wsl"><code>CLAUDE\_CODE\_TOOL\_MEMORY\_LIMIT</code></a>์„ <code>4G</code>์™€ ๊ฐ™์€ ํฌ๊ธฐ๋กœ ์„ค์ •ํ•˜์—ฌ Bash ๋ฐ PowerShell ๋„๊ตฌ ๋ช…๋ น์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค</div>76 <div>Linux ๋ฐ WSL์—์„œ <a href="/docs/ko/tools-reference#memory-limit-on-linux-and-wsl"><code>CLAUDE\_CODE\_TOOL\_MEMORY\_LIMIT</code></a>์„ <code>4G</code>์™€ ๊ฐ™์€ ํฌ๊ธฐ๋กœ ์„ค์ •ํ•˜์—ฌ Bash ๋ฐ PowerShell ๋„๊ตฌ ๋ช…๋ น์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค</div>

77 <div><code>TaskCreate</code>, <code>TaskUpdate</code>, <code>TodoWrite</code>์™€ ๊ฐ™์€ ์ž‘์—… ์ถ”์  ๋„๊ตฌ๋Š” <a href="/docs/ko/tools-reference#task-tool-availability">Opus 4.8, Sonnet 5, Fable 5, Mythos 5 ๋ฐ ์ดํ›„ ๋ชจ๋ธ์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค</a>. <code>CLAUDE\_CODE\_ENABLE\_TODO\_TOOLS=1</code>์„ ์„ค์ •ํ•˜์—ฌ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค</div>77 <div><code>TaskCreate</code>, <code>TaskUpdate</code>, <code>TodoWrite</code>์™€ ๊ฐ™์€ ์ž‘์—… ์ถ”์  ๋„๊ตฌ๋Š” <a href="/docs/ko/tools-reference#task-tool-availability">Opus 4.8, Sonnet 5, Fable 5, Mythos 5 ๋ฐ ์ดํ›„ ๋ชจ๋ธ์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค</a>. <code>CLAUDE\_CODE\_ENABLE\_TODO\_TOOLS=1</code>์„ ์„ค์ •ํ•˜์—ฌ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค</div>

78 <div>๋†’์Œ, ๋งค์šฐ ๋†’์Œ, ์ตœ๋Œ€ ๋…ธ๋ ฅ์—์„œ <a href="/docs/ko/code-review#review-a-diff-locally"><code>/code-review</code></a>๋Š” ์ด์ œ ๋‹ค๋ฅธ ์ˆ˜์ค€์ฒ˜๋Ÿผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์—์ด์ „ํŠธ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค</div>78 <div>๋†’์Œ, ๋งค์šฐ ๋†’์Œ, ์ตœ๋Œ€ ๋…ธ๋ ฅ์—์„œ <a href="/docs/ko/code-review-local"><code>/code-review</code></a>๋Š” ์ด์ œ ๋‹ค๋ฅธ ์ˆ˜์ค€์ฒ˜๋Ÿผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์—์ด์ „ํŠธ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค</div>

79 <div><a href="/docs/ko/plugins/install#install-a-plugin"><code>/plugin install plugin\@marketplace</code></a>๋Š” ๋จผ์ € ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜๋ฏ€๋กœ ์ƒˆ๋กœ ๊ฒŒ์‹œ๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ˆ˜๋™ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์—…๋ฐ์ดํŠธ ์—†์ด ์„ค์น˜๋ฉ๋‹ˆ๋‹ค</div>79 <div><a href="/docs/ko/plugins/install#install-a-plugin"><code>/plugin install plugin\@marketplace</code></a>๋Š” ๋จผ์ € ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜๋ฏ€๋กœ ์ƒˆ๋กœ ๊ฒŒ์‹œ๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ˆ˜๋™ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์—…๋ฐ์ดํŠธ ์—†์ด ์„ค์น˜๋ฉ๋‹ˆ๋‹ค</div>

80 <div>์„ค์ •์€ <a href="/docs/ko/settings-reference#marketplace-key-aliases"><code>additionalMarketplaces</code> ๋ฐ <code>allowedMarketplaces</code></a>๋ฅผ <code>extraKnownMarketplaces</code> ๋ฐ <code>strictKnownMarketplaces</code>์˜ ๋ณ„์นญ์œผ๋กœ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค</div>80 <div>์„ค์ •์€ <a href="/docs/ko/settings-reference#marketplace-key-aliases"><code>additionalMarketplaces</code> ๋ฐ <code>allowedMarketplaces</code></a>๋ฅผ <code>extraKnownMarketplaces</code> ๋ฐ <code>strictKnownMarketplaces</code>์˜ ๋ณ„์นญ์œผ๋กœ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค</div>

81 <div>์ตœ์‹  ๋ชจ๋ธ์—์„œ Claude๋Š” ์ด ์„ธ์…˜์—์„œ ๋จผ์ € ์ฝ์ง€ ์•Š๊ณ  Write ๋„๊ตฌ๋กœ <a href="/docs/ko/tools-reference#write-tool-behavior">๊ธฐ์กด ํŒŒ์ผ์„ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค</a>. Edit ๋„๊ตฌ์˜ ๊ทœ์น™๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ชจ๋ธ์€ ์ฝ๊ธฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค</div>81 <div>์ตœ์‹  ๋ชจ๋ธ์—์„œ Claude๋Š” ์ด ์„ธ์…˜์—์„œ ๋จผ์ € ์ฝ์ง€ ์•Š๊ณ  Write ๋„๊ตฌ๋กœ <a href="/docs/ko/tools-reference#write-tool-behavior">๊ธฐ์กด ํŒŒ์ผ์„ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค</a>. Edit ๋„๊ตฌ์˜ ๊ทœ์น™๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ชจ๋ธ์€ ์ฝ๊ธฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค</div>

82 <div>VS Code ํ™•์žฅ์€ <a href="/docs/ko/vs-code#organize-sessions-into-groups">์„ธ์…˜ ๋ชฉ๋ก์„ ๊ทธ๋ฃน์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค</a>. ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ๊ทธ๋ฃน์„ ๋งŒ๋“ค๊ฑฐ๋‚˜, ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜, ์‚ญ์ œํ•˜๊ณ , Cmd/Ctrl- ๋˜๋Š” Shift-ํด๋ฆญ์œผ๋กœ ์—ฌ๋Ÿฌ ์„ธ์…˜์„ ํ•œ ๋ฒˆ์— ์ด๋™ํ•ฉ๋‹ˆ๋‹ค</div>82 <div>VS Code ํ™•์žฅ์€ <a href="/docs/ko/vs-code#organize-sessions-into-groups">์„ธ์…˜ ๋ชฉ๋ก์„ ๊ทธ๋ฃน์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค</a>. ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ๊ทธ๋ฃน์„ ๋งŒ๋“ค๊ฑฐ๋‚˜, ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜, ์‚ญ์ œํ•˜๊ณ , Cmd/Ctrl- ๋˜๋Š” Shift-ํด๋ฆญ์œผ๋กœ ์—ฌ๋Ÿฌ ์„ธ์…˜์„ ํ•œ ๋ฒˆ์— ์ด๋™ํ•ฉ๋‹ˆ๋‹ค</div>

83 <div>์กฐ์ง์ด Claude Code๋ฅผ <a href="/docs/ko/claude-apps-gateway-spend-limits">์ง€์ถœ ์ œํ•œ์ด ์žˆ๋Š” Claude ์•ฑ ๊ฒŒ์ดํŠธ์›จ์ด</a>๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ…ํ•˜๋Š” ๊ฒฝ์šฐ, Claude Code๋Š” ์ œํ•œ์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ ์ œํ•œ ๊ธฐ๊ฐ„, ๋ฆฌ์…‹ ์‹œ๊ฐ„ ๋ฐ ์šด์˜์ž์˜ ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค</div>83 <div>์กฐ์ง์ด Claude Code๋ฅผ <a href="/docs/ko/claude-apps-gateway-spend-limits">์ง€์ถœ ํ•œ๋„๊ฐ€ ์žˆ๋Š” Claude ์•ฑ ๊ฒŒ์ดํŠธ์›จ์ด</a>๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ…ํ•˜๋Š” ๊ฒฝ์šฐ, Claude Code๋Š” ํ•œ๋„์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ ํ•œ๋„ ๊ธฐ๊ฐ„, ๋ฆฌ์…‹ ์‹œ๊ฐ„ ๋ฐ ์šด์˜์ž์˜ ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค</div>

84 </div>84 </div>

85</div>85</div>

86 86 

workflows.md +4 โˆ’4

Details

205 205 

206`claude -p` ๋ฐ Agent SDK์—์„œ Claude Code๋Š” ์ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์„ธ์…˜์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„๊ณผ ๋™์ผํ•œ [๊ถŒํ•œ ํ‰๊ฐ€](/docs/ko/agent-sdk/permissions#how-permissions-are-evaluated)๋ฅผ ํ†ตํ•ด Workflow ๋„๊ตฌ ํ˜ธ์ถœ์„ ์‹คํ–‰ํ•˜๋ฏ€๋กœ ๊ฑฐ๋ถ€ ๊ทœ์น™, ์š”์ฒญ ๊ทœ์น™, ๋ฐ `dontAsk` ๋ชจ๋“œ๊ฐ€ ๋ชจ๋“  ๋„๊ตฌ ํ˜ธ์ถœ์— ์ ์šฉ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์‹คํ–‰์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹คํ–‰์—์„œ ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ์‹œ์ž‘๋˜๋„๋ก ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค:206`claude -p` ๋ฐ Agent SDK์—์„œ Claude Code๋Š” ์ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์„ธ์…˜์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„๊ณผ ๋™์ผํ•œ [๊ถŒํ•œ ํ‰๊ฐ€](/docs/ko/agent-sdk/permissions#how-permissions-are-evaluated)๋ฅผ ํ†ตํ•ด Workflow ๋„๊ตฌ ํ˜ธ์ถœ์„ ์‹คํ–‰ํ•˜๋ฏ€๋กœ ๊ฑฐ๋ถ€ ๊ทœ์น™, ์š”์ฒญ ๊ทœ์น™, ๋ฐ `dontAsk` ๋ชจ๋“œ๊ฐ€ ๋ชจ๋“  ๋„๊ตฌ ํ˜ธ์ถœ์— ์ ์šฉ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์‹คํ–‰์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹คํ–‰์—์„œ ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ์‹œ์ž‘๋˜๋„๋ก ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค:

207 207 

208* **๊ถŒํ•œ ๊ทœ์น™**: ํ—ˆ์šฉ ๊ทœ์น™์˜ `Workflow`๋Š” ๋ชจ๋“  ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์Šน์ธํ•˜๊ณ , `Workflow(<name>)`์€ ์ด๋ฆ„์œผ๋กœ ์ €์žฅ๋œ ์›Œํฌํ”Œ๋กœ์šฐ ํ•˜๋‚˜๋ฅผ ์Šน์ธํ•ฉ๋‹ˆ๋‹ค.208* **๊ถŒํ•œ ๊ทœ์น™**: ๋ชจ๋“  ์›Œํฌํ”Œ๋กœ๋ฅผ ์Šน์ธํ•˜๋ ค๋ฉด ํ—ˆ์šฉ ๊ทœ์น™์— `Workflow`๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ์ €์žฅ๋œ ์›Œํฌํ”Œ๋กœ ํ•˜๋‚˜๋ฅผ ์ด๋ฆ„์œผ๋กœ ์Šน์ธํ•˜๋ ค๋ฉด `Workflow(<name>)`๋ฅผ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.

209* **์ž๋™ ๊ถŒํ•œ ๋ชจ๋“œ**: [๋ถ„๋ฅ˜๊ธฐ](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)๋Š” ํ˜ธ์ถœ์„ ๊ฒ€ํ† ํ•˜๊ณ  ์Šน์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.209* **์ž๋™ ๊ถŒํ•œ ๋ชจ๋“œ**: [์ž๋™ ๋ชจ๋“œ](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)๋กœ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. ์ด ๋ชจ๋“œ์—์„œ๋Š” ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ ํ˜ธ์ถœ์„ ๊ฒ€ํ† ํ•˜๊ณ  ์Šน์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

210* **๊ถŒํ•œ ๋ฌด์‹œ ๋ชจ๋“œ**: Claude Code๋Š” ํ˜ธ์ถœ์„ ์Šน์ธํ•ฉ๋‹ˆ๋‹ค.210* **๊ถŒํ•œ ๋ฌด์‹œ ๋ชจ๋“œ**: ๊ถŒํ•œ ๋ฌด์‹œ ๋ชจ๋“œ๋กœ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

211* **ํ›…**: ํ˜ธ์ถœ์„ ํ—ˆ์šฉํ•˜๋Š” [`PreToolUse`](/docs/ko/hooks#pretooluse) ํ›…์ด ์ด๋ฅผ ์Šน์ธํ•ฉ๋‹ˆ๋‹ค.211* **ํ›…**: [`PreToolUse`](/docs/ko/hooks#pretooluse) ํ›…์—์„œ ํ•ด๋‹น ํ˜ธ์ถœ์— ๋Œ€ํ•ด `"allow"`๋ฅผ ๋ฐ˜ํ™˜ํ•˜์‹ญ์‹œ์˜ค. [ํ”Œ๋žœ ๋ชจ๋“œ](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)์—์„œ๋Š” ํ›…์˜ ์Šน์ธ๋งŒ์œผ๋กœ ์›Œํฌํ”Œ๋กœ๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋Œ€์‹  ๊ถŒํ•œ ๊ทœ์น™์ด๋‚˜ ํ˜ธ์ŠคํŠธ์˜ ์Šน์ธ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

212* **ํ˜ธ์ŠคํŠธ**: [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags) ๋˜๋Š” Agent SDK๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ [`canUseTool`](/docs/ko/agent-sdk/permissions) ์ฝœ๋ฐฑ์ด ์ด๋ฅผ ์Šน์ธํ•ฉ๋‹ˆ๋‹ค.212* **ํ˜ธ์ŠคํŠธ**: [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags) ๋˜๋Š” Agent SDK๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ [`canUseTool`](/docs/ko/agent-sdk/permissions) ์ฝœ๋ฐฑ์ด ์ด๋ฅผ ์Šน์ธํ•ฉ๋‹ˆ๋‹ค.

213 213 

214Desktop ์•ฑ์—์„œ ์Šน์ธ ์นด๋“œ๋Š” ์›Œํฌํ”Œ๋กœ์šฐ ์ด๋ฆ„, ๋‹จ๊ณ„ ๋ชฉ๋ก, ํ† ํฐ ์‚ฌ์šฉ ์ฃผ์˜์™€ ํ•จ๊ป˜ **ํ•œ ๋ฒˆ**, **ํ•ญ์ƒ**, **๊ฑฐ๋ถ€** ์ž‘์—…์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ง„ํ–‰ ์ƒํ™ฉ ๋ณด๊ธฐ๋Š” Background tasks ์‚ฌ์ด๋“œ ํŒจ๋„์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.214Desktop ์•ฑ์—์„œ ์Šน์ธ ์นด๋“œ๋Š” ์›Œํฌํ”Œ๋กœ์šฐ ์ด๋ฆ„, ๋‹จ๊ณ„ ๋ชฉ๋ก, ํ† ํฐ ์‚ฌ์šฉ ์ฃผ์˜์™€ ํ•จ๊ป˜ **ํ•œ ๋ฒˆ**, **ํ•ญ์ƒ**, **๊ฑฐ๋ถ€** ์ž‘์—…์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ง„ํ–‰ ์ƒํ™ฉ ๋ณด๊ธฐ๋Š” Background tasks ์‚ฌ์ด๋“œ ํŒจ๋„์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.