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# Panoramica di Claude Code
6
7> Claude Code è uno strumento di codifica agentivo che legge la tua base di codice, modifica i file, esegue comandi e si integra con i tuoi strumenti di sviluppo. Disponibile nel tuo terminale, IDE, app desktop e browser.
8
9export const InstallConfigurator = ({defaultSurface = 'terminal'}) => {
10 const TERM = {
11 mac: {
12 label: 'macOS / Linux',
13 cmd: 'curl -fsSL https://claude.ai/install.sh | bash'
14 },
15 win: {
16 label: 'Windows'
17 },
18 brew: {
19 label: 'Homebrew',
20 cmd: 'brew install --cask claude-code'
21 },
22 winget: {
23 label: 'WinGet',
24 cmd: 'winget install Anthropic.ClaudeCode'
25 }
26 };
27 const WIN_VARIANTS = {
28 ps: 'irm https://claude.ai/install.ps1 | iex',
29 cmd: 'curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd'
30 };
31 const TABS = [{
32 key: 'terminal',
33 label: 'Terminal'
34 }, {
35 key: 'desktop',
36 label: 'Desktop'
37 }, {
38 key: 'vscode',
39 label: 'VS Code'
40 }, {
41 key: 'jetbrains',
42 label: 'JetBrains'
43 }];
44 const ALT_TARGETS = {
45 desktop: {
46 name: 'Desktop',
47 tagline: 'The full agent in a native app for macOS and Windows.',
48 installLabel: 'Download the app',
49 installHref: 'https://claude.com/download?utm_source=claude_code&utm_medium=docs&utm_content=configurator_desktop_download',
50 guideHref: '/en/desktop-quickstart'
51 },
52 vscode: {
53 name: 'VS Code',
54 tagline: 'Review diffs, manage context, and chat without leaving your editor.',
55 installLabel: 'Install from Marketplace',
56 installHref: 'https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code',
57 altCmd: 'code --install-extension anthropic.claude-code',
58 guideHref: '/en/vs-code'
59 },
60 jetbrains: {
61 name: 'JetBrains',
62 tagline: 'Native plugin for IntelliJ, PyCharm, WebStorm, and other JetBrains IDEs.',
63 installLabel: 'Install from Marketplace',
64 installHref: 'https://plugins.jetbrains.com/plugin/27310-claude-code-beta-',
65 guideHref: '/en/jetbrains'
66 }
67 };
68 const PROVIDERS = [{
69 key: 'anthropic',
70 label: 'Anthropic'
71 }, {
72 key: 'bedrock',
73 label: 'Amazon Bedrock'
74 }, {
75 key: 'foundry',
76 label: 'Microsoft Foundry'
77 }, {
78 key: 'vertex',
79 label: 'Google Vertex AI'
80 }];
81 const PROVIDER_NOTICE = {
82 bedrock: <>
83 <strong>Configure your AWS account first.</strong> Running on Bedrock
84 requires model access enabled in the AWS console and IAM credentials.{' '}
85 <a href="/en/amazon-bedrock">Bedrock setup guide →</a>
86 </>,
87 vertex: <>
88 <strong>Configure your GCP project first.</strong> Running on Vertex AI
89 requires the Vertex API enabled and a service account with the right
90 permissions.{' '}
91 <a href="/en/google-vertex-ai">Vertex setup guide →</a>
92 </>,
93 foundry: <>
94 <strong>Configure your Azure resources first.</strong> Running on
95 Microsoft Foundry requires an Azure subscription with a Foundry resource
96 and model deployments provisioned.{' '}
97 <a href="/en/microsoft-foundry">Foundry setup guide →</a>
98 </>
99 };
100 const iconCheck = (size = 14) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
101 <polyline points="20 6 9 17 4 12" />
102 </svg>;
103 const iconCopy = (size = 14) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
104 <rect x="9" y="9" width="13" height="13" rx="2" />
105 <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" />
106 </svg>;
107 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
108 <line x1="5" y1="12" x2="19" y2="12" />
109 <polyline points="12 5 19 12 12 19" />
110 </svg>;
111 const iconArrowUpRight = (size = 14) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
112 <line x1="7" y1="17" x2="17" y2="7" />
113 <polyline points="7 7 17 7 17 17" />
114 </svg>;
115 const iconInfo = (size = 16) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
116 <circle cx="12" cy="12" r="10" />
117 <line x1="12" y1="16" x2="12" y2="12" />
118 <line x1="12" y1="8" x2="12.01" y2="8" />
119 </svg>;
120 const [target, setTarget] = useState(defaultSurface);
121 const [team, setTeam] = useState(false);
122 const [provider, setProvider] = useState('anthropic');
123 const [pkg, setPkg] = useState(() => (/Win/).test(navigator.userAgent) ? 'win' : 'mac');
124 const [winCmd, setWinCmd] = useState(false);
125 const [copied, setCopied] = useState(null);
126 const copyTimer = useRef(null);
127 const handleCopy = async (text, key) => {
128 try {
129 await navigator.clipboard.writeText(text);
130 } catch {
131 const ta = document.createElement('textarea');
132 ta.value = text;
133 document.body.appendChild(ta);
134 ta.select();
135 document.execCommand('copy');
136 document.body.removeChild(ta);
137 }
138 clearTimeout(copyTimer.current);
139 setCopied(key);
140 copyTimer.current = setTimeout(() => setCopied(null), 1800);
141 };
142 const cardBodyCmd = (cmd, prompt) => {
143 const on = copied === 'term';
144 return <div className="cc-ic-card-body">
145 <span className="cc-ic-prompt">{prompt || '$'}</span>
146 <div className="cc-ic-cmd">{cmd}</div>
147 <button type="button" className={'cc-ic-copy' + (on ? ' cc-ic-copied' : '')} onClick={() => handleCopy(cmd, 'term')}>
148 {on ? iconCheck(13) : iconCopy(13)}
149 <span>{on ? 'Copied' : 'Copy'}</span>
150 </button>
151 </div>;
152 };
153 const isWinInstaller = pkg === 'win';
154 const isWinPrompt = pkg === 'win' || pkg === 'winget';
155 const terminalCmd = isWinInstaller ? WIN_VARIANTS[winCmd ? 'cmd' : 'ps'] : TERM[pkg].cmd;
156 const alt = ALT_TARGETS[target];
157 const showNotice = team && provider !== 'anthropic';
158 const STYLES = `
159.cc-ic {
160 --ic-slate: #141413;
161 --ic-clay: #d97757;
162 --ic-clay-deep: #c6613f;
163 --ic-gray-000: #ffffff;
164 --ic-gray-150: #f0eee6;
165 --ic-gray-550: #73726c;
166 --ic-gray-700: #3d3d3a;
167 --ic-border-subtle: rgba(31, 30, 29, 0.08);
168 --ic-border-default: rgba(31, 30, 29, 0.15);
169 --ic-border-strong: rgba(31, 30, 29, 0.3);
170 --ic-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, 'Courier New', monospace;
171 font-family: 'Anthropic Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
172 font-size: 14px; line-height: 1.5; color: var(--ic-slate);
173 margin: 8px 0 32px;
174}
175.dark .cc-ic {
176 --ic-slate: #f0eee6;
177 --ic-gray-000: #262624;
178 --ic-gray-150: #1f1e1d;
179 --ic-gray-550: #91908a;
180 --ic-gray-700: #bfbdb4;
181 --ic-border-subtle: rgba(240, 238, 230, 0.08);
182 --ic-border-default: rgba(240, 238, 230, 0.14);
183 --ic-border-strong: rgba(240, 238, 230, 0.28);
184}
185.dark .cc-ic-check { background: transparent; }
186.dark .cc-ic-card { border: 0.5px solid var(--ic-border-subtle); }
187.dark .cc-ic-p-pill.cc-ic-active { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
188.cc-ic *, .cc-ic *::before, .cc-ic *::after { box-sizing: border-box; }
189.cc-ic a { text-decoration: none; }
190.cc-ic a:not([class]) { color: inherit; }
191.cc-ic button { font-family: inherit; cursor: pointer; }
192
193.cc-ic-tab-strip {
194 display: inline-flex; gap: 2px;
195 padding: 4px; background: var(--ic-gray-150);
196 border-radius: 10px; overflow-x: auto;
197 max-width: 100%;
198}
199.cc-ic-tab {
200 appearance: none; background: none; border: none;
201 padding: 10px 18px; font-size: 15px; font-weight: 430;
202 color: var(--ic-gray-550); border-radius: 7px;
203 white-space: nowrap;
204 transition: color 0.12s, background-color 0.12s;
205}
206.cc-ic-tab:hover { color: var(--ic-gray-700); }
207.cc-ic-tab.cc-ic-active {
208 color: var(--ic-slate); font-weight: 500;
209 background: var(--ic-gray-000);
210 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
211}
212.dark .cc-ic-tab.cc-ic-active { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); }
213
214.cc-ic-team-wrap { padding: 16px 0 20px; }
215.cc-ic-team-toggle {
216 display: flex; align-items: center; gap: 12px; font-family: inherit;
217 padding: 12px 16px; font-size: 14px; font-weight: 430;
218 color: var(--ic-gray-700); cursor: pointer; user-select: none;
219 width: fit-content; background: var(--ic-gray-150);
220 border: 0.5px solid var(--ic-border-subtle); border-radius: 8px;
221 transition: border-color 0.15s;
222}
223.cc-ic-team-toggle:hover { border-color: var(--ic-border-default); }
224.cc-ic-team-toggle.cc-ic-checked {
225 background: rgba(217, 119, 87, 0.08);
226 border-color: rgba(217, 119, 87, 0.25);
227}
228.cc-ic-check {
229 width: 16px; height: 16px;
230 border: 1px solid var(--ic-border-strong); border-radius: 4px;
231 background: var(--ic-gray-000);
232 display: flex; align-items: center; justify-content: center;
233 flex-shrink: 0;
234}
235.cc-ic-check svg { color: #fff; display: none; }
236.cc-ic-team-toggle.cc-ic-checked .cc-ic-check { background: var(--ic-clay-deep); border-color: var(--ic-clay-deep); }
237.cc-ic-team-toggle.cc-ic-checked .cc-ic-check svg { display: block; }
238
239.cc-ic-team-reveal { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }
240.cc-ic-sales {
241 display: flex; align-items: center; justify-content: space-between;
242 gap: 16px; padding: 14px 16px;
243 background: var(--ic-gray-000); border: 0.5px solid var(--ic-border-default);
244 border-radius: 8px; flex-wrap: wrap;
245}
246.cc-ic-sales-text { font-size: 13px; color: var(--ic-gray-700); line-height: 1.5; flex: 1; min-width: 200px; }
247.cc-ic-sales-text strong { font-weight: 550; color: var(--ic-slate); }
248.cc-ic-sales-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
249.cc-ic-btn-clay {
250 display: inline-flex; align-items: center; gap: 8px;
251 background: var(--ic-clay-deep); color: #fff; border: none;
252 border-radius: 8px; padding: 8px 14px;
253 font-size: 13px; font-weight: 500;
254 transition: background-color 0.15s; white-space: nowrap;
255}
256.cc-ic-btn-clay:hover { background: var(--ic-clay); }
257.cc-ic-btn-ghost {
258 display: inline-flex; align-items: center; gap: 8px;
259 background: transparent; color: var(--ic-gray-700);
260 border: 0.5px solid var(--ic-border-default);
261 border-radius: 8px; padding: 8px 14px;
262 font-size: 13px; font-weight: 500;
263}
264.cc-ic-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }
265
266.cc-ic-provider-bar {
267 display: flex; align-items: center; gap: 12px;
268 padding: 14px 16px; background: var(--ic-gray-150);
269 border-radius: 8px; font-size: 13px; flex-wrap: wrap;
270}
271.cc-ic-provider-bar .cc-ic-label { color: var(--ic-gray-550); flex-shrink: 0; }
272.cc-ic-provider-pills { display: flex; gap: 4px; flex-wrap: wrap; }
273.cc-ic-p-pill {
274 appearance: none; border: none; background: transparent;
275 padding: 6px 12px; border-radius: 6px;
276 font-size: 13px; font-weight: 430; color: var(--ic-gray-700);
277 white-space: nowrap;
278}
279.cc-ic-p-pill:hover { background: rgba(0, 0, 0, 0.04); }
280.cc-ic-p-pill.cc-ic-active {
281 background: var(--ic-gray-000); color: var(--ic-slate);
282 font-weight: 500; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
283}
284.cc-ic-provider-notice {
285 display: flex; padding: 16px 18px;
286 background: var(--ic-gray-000); border: 0.5px solid var(--ic-border-default);
287 border-radius: 8px; gap: 14px; align-items: flex-start;
288}
289.cc-ic-provider-notice > svg { color: var(--ic-gray-550); margin-top: 2px; flex-shrink: 0; }
290.cc-ic-provider-notice-body { font-size: 14px; line-height: 1.55; color: var(--ic-gray-700); }
291.cc-ic-provider-notice-body strong { font-weight: 550; color: var(--ic-slate); }
292.cc-ic-provider-notice-body a { color: var(--ic-clay-deep); font-weight: 500; }
293.cc-ic-provider-notice-body a:hover { text-decoration: underline; }
294
295.cc-ic-card { background: #141413; border-radius: 12px; overflow: hidden; }
296.cc-ic-subtabs {
297 display: flex; align-items: center;
298 background: #1a1918;
299 border-bottom: 0.5px solid rgba(255, 255, 255, 0.08);
300 padding: 0 8px; overflow-x: auto;
301}
302.cc-ic-subtab {
303 appearance: none; background: none; border: none;
304 padding: 12px 16px; font-size: 12px;
305 color: rgba(255, 255, 255, 0.5);
306 position: relative; white-space: nowrap;
307}
308.cc-ic-subtab:hover { color: rgba(255, 255, 255, 0.75); }
309.cc-ic-subtab.cc-ic-active { color: #fff; }
310.cc-ic-subtab.cc-ic-active::after {
311 content: ''; position: absolute;
312 left: 12px; right: 12px; bottom: -0.5px;
313 height: 2px; background: var(--ic-clay);
314}
315.cc-ic-shell-switch {
316 display: inline-flex; gap: 2px;
317 margin: 14px 26px 0; padding: 3px;
318 background: rgba(255, 255, 255, 0.06);
319 border: 0.5px solid rgba(255, 255, 255, 0.08);
320 border-radius: 8px;
321 font-family: inherit;
322}
323.cc-ic-shell-option {
324 font: inherit; font-size: 12px; font-weight: 500;
325 padding: 5px 12px; border-radius: 6px;
326 background: transparent; border: none;
327 color: rgba(255, 255, 255, 0.55);
328 cursor: pointer; user-select: none; white-space: nowrap;
329 transition: color 120ms ease, background-color 120ms ease;
330}
331.cc-ic-shell-option:hover { color: rgba(255, 255, 255, 0.85); }
332.cc-ic-shell-option.cc-ic-active {
333 background: rgba(255, 255, 255, 0.12);
334 color: #fff;
335 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
336}
337
338.cc-ic-card-body { padding: 24px 26px; display: flex; align-items: flex-start; gap: 14px; }
339.cc-ic-prompt {
340 color: var(--ic-clay); font-family: var(--ic-font-mono);
341 font-size: 17px; user-select: none; padding-top: 2px;
342}
343.cc-ic-cmd {
344 flex: 1; font-family: var(--ic-font-mono);
345 font-size: 17px; color: #f0eee6;
346 line-height: 1.55; white-space: pre-wrap; word-break: break-word;
347}
348.cc-ic-copy {
349 display: inline-flex; align-items: center; gap: 6px;
350 background: rgba(255, 255, 255, 0.08);
351 border: 0.5px solid rgba(255, 255, 255, 0.12);
352 color: rgba(255, 255, 255, 0.85);
353 padding: 7px 13px; border-radius: 8px;
354 font-size: 13px; font-weight: 500; flex-shrink: 0;
355}
356.cc-ic-copy:hover { background: rgba(255, 255, 255, 0.14); }
357.cc-ic-copy.cc-ic-copied { background: var(--ic-clay-deep); border-color: var(--ic-clay-deep); color: #fff; }
358
359.cc-ic-below {
360 margin-top: 12px; font-size: 13px; color: var(--ic-gray-550);
361 display: flex; gap: 16px; flex-wrap: wrap; align-items: baseline;
362}
363.cc-ic-below a { color: var(--ic-gray-700); border-bottom: 0.5px solid var(--ic-border-default); }
364.cc-ic-below a:hover { color: var(--ic-clay-deep); border-bottom-color: var(--ic-clay-deep); }
365.cc-ic-handoff {
366 padding: 22px 24px;
367 background: linear-gradient(180deg, #faf9f4 0%, #f3f1e9 100%);
368 border: 0.5px solid var(--ic-border-default);
369 border-radius: 12px;
370 box-shadow: 0 1px 2px rgba(31, 30, 29, 0.04), 0 6px 16px -4px rgba(31, 30, 29, 0.06);
371}
372.dark .cc-ic-handoff {
373 background: linear-gradient(180deg, #262624 0%, #1f1e1d 100%);
374 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 6px 16px -4px rgba(0, 0, 0, 0.4);
375}
376.cc-ic-handoff-title {
377 font-size: 16px; font-weight: 550; color: var(--ic-slate);
378 letter-spacing: -0.01em; margin-bottom: 4px;
379}
380.cc-ic-handoff-sub {
381 font-size: 14px; line-height: 1.5; color: var(--ic-gray-700);
382 margin-bottom: 18px;
383}
384.cc-ic-handoff-actions { display: flex; gap: 10px; flex-wrap: wrap; }
385.cc-ic-handoff-alt {
386 margin-top: 12px; font-size: 12px; color: var(--ic-gray-550);
387}
388.cc-ic-handoff-alt code {
389 font-family: var(--ic-font-mono); font-size: 11px;
390 background: var(--ic-gray-150); padding: 2px 6px;
391 border-radius: 4px; color: var(--ic-gray-700);
392}
393.cc-ic-copy-sm {
394 appearance: none; border: none;
395 display: inline-flex; align-items: center; justify-content: center;
396 width: 22px; height: 22px;
397 margin-left: 4px; vertical-align: middle;
398 background: var(--ic-gray-150); color: var(--ic-gray-550);
399 border-radius: 4px;
400 transition: color 0.1s, background-color 0.1s;
401}
402.cc-ic-copy-sm:hover { color: var(--ic-gray-700); background: var(--ic-border-default); }
403.cc-ic-copy-sm.cc-ic-copied { background: var(--ic-clay-deep); color: #fff; }
404
405@media (max-width: 720px) {
406 .cc-ic-tab { padding: 12px 14px; font-size: 14px; }
407 .cc-ic-sales-actions { width: 100%; }
408 .cc-ic-card-body { padding: 20px; }
409 .cc-ic-cmd { font-size: 15px; }
410}
411`;
412 return <div className="cc-ic not-prose">
413 <style>{STYLES}</style>
414
415 {}
416 <div className="cc-ic-tab-strip" role="tablist">
417 {TABS.map(t => <button key={t.key} type="button" role="tab" aria-selected={target === t.key} className={'cc-ic-tab' + (target === t.key ? ' cc-ic-active' : '')} onClick={() => setTarget(t.key)}>
418 {t.label}
419 </button>)}
420 </div>
421
422 {}
423 <div className="cc-ic-team-wrap">
424 <button type="button" role="switch" aria-checked={team} className={'cc-ic-team-toggle' + (team ? ' cc-ic-checked' : '')} onClick={() => setTeam(!team)}>
425 <span className="cc-ic-check">{iconCheck(11)}</span>
426 <span>
427 I’m buying for a team or company (SSO, AWS/Azure/GCP, central billing)
428 </span>
429 </button>
430 </div>
431
432 {}
433 {team && <div className="cc-ic-team-reveal">
434 <div className="cc-ic-sales">
435 <div className="cc-ic-sales-text">
436 <strong>Set up your team:</strong> self-serve or talk to sales.
437 </div>
438 <div className="cc-ic-sales-actions">
439 <a href="https://claude.ai/upgrade?initialPlanType=team&utm_source=claude_code&utm_medium=docs&utm_content=configurator_team_get_started" className="cc-ic-btn-ghost">
440 Get started
441 </a>
442 <a href="https://www.anthropic.com/contact-sales?utm_source=claude_code&utm_medium=docs&utm_content=configurator_team_contact_sales" className="cc-ic-btn-clay">
443 Contact sales {iconArrowRight()}
444 </a>
445 </div>
446 </div>
447
448 <div className="cc-ic-provider-bar">
449 <span className="cc-ic-label">Run on</span>
450 <div className="cc-ic-provider-pills" role="radiogroup" aria-label="Provider">
451 {PROVIDERS.map(p => <button key={p.key} type="button" role="radio" aria-checked={provider === p.key} className={'cc-ic-p-pill' + (provider === p.key ? ' cc-ic-active' : '')} onClick={() => setProvider(p.key)}>
452 {p.label}
453 </button>)}
454 </div>
455 </div>
456
457 {showNotice && <div className="cc-ic-provider-notice">
458 {iconInfo()}
459 <div className="cc-ic-provider-notice-body">
460 {PROVIDER_NOTICE[provider]}
461 </div>
462 </div>}
463 </div>}
464
465 {}
466 {target === 'terminal' && <div className="cc-ic-card">
467 <div className="cc-ic-subtabs" role="tablist" aria-label="Install method">
468 {Object.keys(TERM).map(k => <button key={k} type="button" role="tab" aria-selected={pkg === k} className={'cc-ic-subtab' + (pkg === k ? ' cc-ic-active' : '')} onClick={() => setPkg(k)}>
469 {TERM[k].label}
470 </button>)}
471 </div>
472 {isWinInstaller && <div className="cc-ic-shell-switch" role="tablist" aria-label="Shell">
473 {[{
474 k: 'ps',
475 label: 'PowerShell'
476 }, {
477 k: 'cmd',
478 label: 'CMD'
479 }].map(({k, label}) => {
480 const active = k === 'cmd' === winCmd;
481 return <button key={k} type="button" role="tab" aria-selected={active} className={'cc-ic-shell-option' + (active ? ' cc-ic-active' : '')} onClick={() => setWinCmd(k === 'cmd')}>
482 {label}
483 </button>;
484 })}
485 </div>}
486 {cardBodyCmd(terminalCmd, isWinPrompt ? '>' : '$')}
487 </div>}
488
489 {}
490 {target === 'terminal' && <div className="cc-ic-below">
491 {isWinInstaller && <span>
492 <a href="https://git-scm.com/downloads/win" target="_blank" rel="noopener">
493 Git for Windows
494 </a>{' '}
495 recommended. PowerShell is used if Git Bash is absent.
496 </span>}
497 {(pkg === 'brew' || pkg === 'winget') && <span>
498 Does not auto-update. Run{' '}
499 <code>{pkg === 'brew' ? 'brew upgrade claude-code' : 'winget upgrade Anthropic.ClaudeCode'}</code>{' '}
500 periodically.
501 </span>}
502 <a href="/en/troubleshoot-install">Installation troubleshooting</a>
503 </div>}
504
505 {alt && <div className="cc-ic-handoff">
506 <div className="cc-ic-handoff-title">Claude Code for {alt.name}</div>
507 <div className="cc-ic-handoff-sub">{alt.tagline}</div>
508 <div className="cc-ic-handoff-actions">
509 <a href={alt.installHref} className="cc-ic-btn-clay" {...alt.installHref.startsWith('http') ? {
510 target: '_blank',
511 rel: 'noopener'
512 } : {}}>
513 {alt.installLabel} {iconArrowUpRight(13)}
514 </a>
515 <a href={alt.guideHref} className="cc-ic-btn-ghost">
516 {alt.name} guide {iconArrowRight(12)}
517 </a>
518 </div>
519 {alt.altCmd && <div className="cc-ic-handoff-alt">
520 or run <code>{alt.altCmd}</code>
521 <button type="button" className={'cc-ic-copy-sm' + (copied === 'alt' ? ' cc-ic-copied' : '')} onClick={() => handleCopy(alt.altCmd, 'alt')} aria-label="Copy command">
522 {copied === 'alt' ? iconCheck(11) : iconCopy(11)}
523 </button>
524 </div>}
525 </div>}
526 </div>;
527};
528
529export const Experiment = ({flag, treatment, children}) => {
530 const VID_KEY = 'exp_vid';
531 const CONSENT_COUNTRIES = new Set(['AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'RE', 'GP', 'MQ', 'GF', 'YT', 'BL', 'MF', 'PM', 'WF', 'PF', 'NC', 'AW', 'CW', 'SX', 'FO', 'GL', 'AX', 'GB', 'UK', 'AI', 'BM', 'IO', 'VG', 'KY', 'FK', 'GI', 'MS', 'PN', 'SH', 'TC', 'GG', 'JE', 'IM', 'CA', 'BR', 'IN']);
532 const fnv1a = s => {
533 let h = 0x811c9dc5;
534 for (let i = 0; i < s.length; i++) {
535 h ^= s.charCodeAt(i);
536 h += (h << 1) + (h << 4) + (h << 7) + (h << 8) + (h << 24);
537 }
538 return h >>> 0;
539 };
540 const bucket = (seed, vid) => fnv1a(fnv1a(seed + vid) + '') % 10000 < 5000 ? 'control' : 'treatment';
541 const [decision] = useState(() => {
542 const params = new URLSearchParams(location.search);
543 const preBucketed = document.documentElement.dataset['gb_' + flag.replace(/-/g, '_')];
544 const force = params.get('gb-force');
545 if (force) {
546 for (const p of force.split(',')) {
547 const [k, v] = p.split(':');
548 if (k === flag) return {
549 variant: v || 'treatment',
550 track: false
551 };
552 }
553 }
554 if (navigator.globalPrivacyControl) {
555 return {
556 variant: 'control',
557 track: false
558 };
559 }
560 const prefsMatch = document.cookie.match(/(?:^|; )anthropic-consent-preferences=([^;]+)/);
561 if (prefsMatch) {
562 try {
563 if (JSON.parse(decodeURIComponent(prefsMatch[1])).analytics !== true) {
564 return {
565 variant: 'control',
566 track: false
567 };
568 }
569 } catch {
570 return {
571 variant: 'control',
572 track: false
573 };
574 }
575 } else {
576 const country = params.get('country')?.toUpperCase() || (document.cookie.match(/(?:^|; )cf_geo=([A-Z]{2})/) || [])[1];
577 if (!country || CONSENT_COUNTRIES.has(country)) {
578 return {
579 variant: 'control',
580 track: false
581 };
582 }
583 }
584 let vid;
585 try {
586 const ajsMatch = document.cookie.match(/(?:^|; )ajs_anonymous_id=([^;]+)/);
587 if (ajsMatch) {
588 vid = decodeURIComponent(ajsMatch[1]).replace(/^"|"$/g, '');
589 } else {
590 vid = localStorage.getItem(VID_KEY);
591 if (!vid) {
592 vid = crypto.randomUUID();
593 }
594 document.cookie = `ajs_anonymous_id=${vid}; domain=.claude.com; path=/; Secure; SameSite=Lax; max-age=31536000`;
595 }
596 try {
597 localStorage.setItem(VID_KEY, vid);
598 } catch {}
599 } catch {
600 return {
601 variant: 'control',
602 track: false
603 };
604 }
605 const variant = preBucketed === '1' ? 'treatment' : preBucketed === '0' ? 'control' : bucket(flag, vid);
606 return {
607 variant,
608 track: true,
609 vid
610 };
611 });
612 useEffect(() => {
613 if (!decision.track) return;
614 fetch('https://api.anthropic.com/api/event_logging/v2/batch', {
615 method: 'POST',
616 headers: {
617 'Content-Type': 'application/json',
618 'x-service-name': 'claude_code_docs'
619 },
620 body: JSON.stringify({
621 events: [{
622 event_type: 'GrowthbookExperimentEvent',
623 event_data: {
624 device_id: decision.vid,
625 anonymous_id: decision.vid,
626 timestamp: new Date().toISOString(),
627 experiment_id: flag,
628 variation_id: decision.variant === 'treatment' ? 1 : 0,
629 environment: 'production'
630 }
631 }]
632 }),
633 keepalive: true
634 }).catch(() => {});
635 }, []);
636 return decision.variant === 'treatment' ? treatment : children;
637};
638
639Claude Code è un assistente di codifica alimentato da IA che ti aiuta a creare funzionalità, correggere bug e automatizzare attività di sviluppo. Comprende l'intera tua base di codice e può lavorare su più file e strumenti per portare a termine le cose.
640
641<div data-gb-slot="overview-install-configurator">
642 <Experiment flag="overview-install-configurator" treatment={<InstallConfigurator />} />
643</div>
644
645## Inizia
646
647Scegli il tuo ambiente per iniziare. La maggior parte delle superfici richiede un [abbonamento a Claude](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_pricing) o un account [Anthropic Console](https://console.anthropic.com/). Il Terminal CLI e VS Code supportano anche [provider di terze parti](/it/third-party-integrations).
648
649<Tabs>
650 <Tab title="Terminal">
651 Il CLI completo per lavorare con Claude Code direttamente nel tuo terminale. Modifica file, esegui comandi e gestisci l'intero progetto dalla riga di comando.
652
653 To install Claude Code, use one of the following methods:
654
655 <Tabs>
656 <Tab title="Native Install (Recommended)">
657 **macOS, Linux, WSL:**
658
659 ```bash theme={null}
660 curl -fsSL https://claude.ai/install.sh | bash
661 ```
662
663 **Windows PowerShell:**
664
665 ```powershell theme={null}
666 irm https://claude.ai/install.ps1 | iex
667 ```
668
669 **Windows CMD:**
670
671 ```batch theme={null}
672 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
673 ```
674
675 If you see `The token '&&' is not a valid statement separator`, you're in PowerShell, not CMD. If you see `'irm' is not recognized as an internal or external command`, you're in CMD, not PowerShell. Your prompt shows `PS C:\` when you're in PowerShell and `C:\` without the `PS` when you're in CMD.
676
677 [Git for Windows](https://git-scm.com/downloads/win) is recommended on native Windows so Claude Code can use the Bash tool. If Git for Windows is not installed, Claude Code uses PowerShell as the shell tool instead. WSL setups do not need Git for Windows.
678
679 <Info>
680 Native installations automatically update in the background to keep you on the latest version.
681 </Info>
682 </Tab>
683
684 <Tab title="Homebrew">
685 ```bash theme={null}
686 brew install --cask claude-code
687 ```
688
689 Homebrew offers two casks. `claude-code` tracks the stable release channel, which is typically about a week behind and skips releases with major regressions. `claude-code@latest` tracks the latest channel and receives new versions as soon as they ship.
690
691 <Info>
692 Homebrew installations do not auto-update. Run `brew upgrade claude-code` or `brew upgrade claude-code@latest`, depending on which cask you installed, to get the latest features and security fixes.
693 </Info>
694 </Tab>
695
696 <Tab title="WinGet">
697 ```powershell theme={null}
698 winget install Anthropic.ClaudeCode
699 ```
700
701 <Info>
702 WinGet installations do not auto-update. Run `winget upgrade Anthropic.ClaudeCode` periodically to get the latest features and security fixes.
703 </Info>
704 </Tab>
705 </Tabs>
706
707 You can also install with [apt, dnf, or apk](/en/setup#install-with-linux-package-managers) on Debian, Fedora, RHEL, and Alpine.
708
709 Quindi avvia Claude Code in qualsiasi progetto:
710
711 ```bash theme={null}
712 cd your-project
713 claude
714 ```
715
716 Ti verrà chiesto di accedere al primo utilizzo. È tutto! [Continua con la Guida rapida →](/it/quickstart)
717
718 <Tip>
719 Vedi [configurazione avanzata](/it/setup) per le opzioni di installazione, gli aggiornamenti manuali o le istruzioni di disinstallazione. Visita [risoluzione dei problemi di installazione](/it/troubleshoot-install) se riscontri problemi.
720 </Tip>
721 </Tab>
722
723 <Tab title="VS Code">
724 L'estensione VS Code fornisce diff inline, @-mentions, revisione del piano e cronologia delle conversazioni direttamente nel tuo editor.
725
726 * [Installa per VS Code](vscode:extension/anthropic.claude-code)
727 * [Installa per Cursor](cursor:extension/anthropic.claude-code)
728
729 Oppure cerca "Claude Code" nella visualizzazione Estensioni (`Cmd+Shift+X` su Mac, `Ctrl+Shift+X` su Windows/Linux). Dopo l'installazione, apri il Palette dei comandi (`Cmd+Shift+P` / `Ctrl+Shift+P`), digita "Claude Code" e seleziona **Apri in Nuova Scheda**.
730
731 [Inizia con VS Code →](/it/vs-code#get-started)
732 </Tab>
733
734 <Tab title="App desktop">
735 Un'app standalone per eseguire Claude Code al di fuori del tuo IDE o terminale. Rivedi i diff visivamente, esegui più sessioni affiancate, pianifica attività ricorrenti e avvia sessioni cloud.
736
737 Scarica e installa:
738
739 * [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) (Intel e Apple Silicon)
740 * [Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs) (x64)
741 * [Windows ARM64](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)
742
743 Dopo l'installazione, avvia Claude, accedi e fai clic sulla scheda **Code** per iniziare a codificare. È richiesto un [abbonamento a pagamento](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=overview_desktop_pricing).
744
745 [Scopri di più sull'app desktop →](/it/desktop-quickstart)
746 </Tab>
747
748 <Tab title="Web">
749 Esegui Claude Code nel tuo browser senza configurazione locale. Avvia attività a lunga esecuzione e controlla quando sono completate, lavora su repository che non hai localmente o esegui più attività in parallelo. Disponibile su browser desktop e sull'app Claude iOS.
750
751 Inizia a codificare su [claude.ai/code](https://claude.ai/code).
752
753 [Inizia sul web →](/it/web-quickstart)
754 </Tab>
755
756 <Tab title="JetBrains">
757 Un plugin per IntelliJ IDEA, PyCharm, WebStorm e altri IDE JetBrains con visualizzazione diff interattiva e condivisione del contesto di selezione.
758
759 Installa il [plugin Claude Code](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) dal JetBrains Marketplace e riavvia il tuo IDE.
760
761 [Inizia con JetBrains →](/it/jetbrains)
762 </Tab>
763</Tabs>
764
765## Cosa puoi fare
766
767Ecco alcuni dei modi in cui puoi utilizzare Claude Code:
768
769<AccordionGroup>
770 <Accordion title="Automatizza il lavoro che continui a rimandare" icon="wand-magic-sparkles">
771 Claude Code gestisce i compiti noiosi che consumano la tua giornata: scrivere test per il codice non testato, correggere errori di lint in un progetto, risolvere conflitti di merge, aggiornare dipendenze e scrivere note di rilascio.
772
773 ```bash theme={null}
774 claude "write tests for the auth module, run them, and fix any failures"
775 ```
776 </Accordion>
777
778 <Accordion title="Crea funzionalità e correggi bug" icon="hammer">
779 Descrivi quello che vuoi in linguaggio naturale. Claude Code pianifica l'approccio, scrive il codice su più file e verifica che funzioni.
780
781 Per i bug, incolla un messaggio di errore o descrivi il sintomo. Claude Code traccia il problema attraverso la tua base di codice, identifica la causa principale e implementa una correzione. Vedi [flussi di lavoro comuni](/it/common-workflows) per altri esempi.
782 </Accordion>
783
784 <Accordion title="Crea commit e pull request" icon="code-branch">
785 Claude Code funziona direttamente con git. Mette in stage le modifiche, scrive messaggi di commit, crea branch e apre pull request.
786
787 ```bash theme={null}
788 claude "commit my changes with a descriptive message"
789 ```
790
791 In CI, puoi automatizzare la revisione del codice e il triage dei problemi con [GitHub Actions](/it/github-actions) o [GitLab CI/CD](/it/gitlab-ci-cd).
792 </Accordion>
793
794 <Accordion title="Connetti i tuoi strumenti con MCP" icon="plug">
795 Il [Model Context Protocol (MCP)](/it/mcp) è uno standard aperto per connettere gli strumenti di IA alle fonti di dati esterne. Con MCP, Claude Code può leggere i tuoi documenti di progettazione in Google Drive, aggiornare i ticket in Jira, estrarre dati da Slack o utilizzare i tuoi strumenti personalizzati.
796 </Accordion>
797
798 <Accordion title="Personalizza con istruzioni, skills e hooks" icon="sliders">
799 [`CLAUDE.md`](/it/memory) è un file markdown che aggiungi alla radice del tuo progetto che Claude Code legge all'inizio di ogni sessione. Usalo per impostare standard di codifica, decisioni architettoniche, librerie preferite e checklist di revisione. Claude costruisce anche [memoria automatica](/it/memory#auto-memory) mentre lavora, salvando insegnamenti come comandi di build e intuizioni di debug tra le sessioni senza che tu debba scrivere nulla.
800
801 Crea [comandi personalizzati](/it/skills) per pacchettizzare flussi di lavoro ripetibili che il tuo team può condividere, come `/review-pr` o `/deploy-staging`.
802
803 [Hooks](/it/hooks) ti permettono di eseguire comandi shell prima o dopo le azioni di Claude Code, come la formattazione automatica dopo ogni modifica di file o l'esecuzione di lint prima di un commit.
804 </Accordion>
805
806 <Accordion title="Esegui team di agenti e crea agenti personalizzati" icon="users">
807 Genera [più agenti Claude Code](/it/sub-agents) che lavorano su diverse parti di un'attività contemporaneamente. Un agente principale coordina il lavoro, assegna sottoattività e unisce i risultati.
808
809 Per flussi di lavoro completamente personalizzati, l'[Agent SDK](/it/agent-sdk/overview) ti permette di creare i tuoi agenti alimentati dagli strumenti e dalle capacità di Claude Code, con controllo completo sull'orchestrazione, l'accesso agli strumenti e i permessi.
810 </Accordion>
811
812 <Accordion title="Pipe, script e automatizza con il CLI" icon="terminal">
813 Claude Code è componibile e segue la filosofia Unix. Pipe i log in esso, eseguilo in CI o concatenalo con altri strumenti:
814
815 ```bash theme={null}
816 # Analizza l'output dei log recenti
817 tail -200 app.log | claude -p "Slack me if you see any anomalies"
818
819 # Automatizza le traduzioni in CI
820 claude -p "translate new strings into French and raise a PR for review"
821
822 # Operazioni in blocco su file
823 git diff main --name-only | claude -p "review these changed files for security issues"
824 ```
825
826 Vedi il [riferimento CLI](/it/cli-reference) per l'insieme completo di comandi e flag.
827 </Accordion>
828
829 <Accordion title="Pianifica attività ricorrenti" icon="clock">
830 Esegui Claude su una pianificazione per automatizzare il lavoro che si ripete: revisioni PR mattutine, analisi dei fallimenti CI durante la notte, audit delle dipendenze settimanali o sincronizzazione dei documenti dopo l'unione dei PR.
831
832 * [Routines](/it/routines) vengono eseguite su infrastruttura gestita da Anthropic, quindi continuano a funzionare anche quando il tuo computer è spento. Possono anche attivarsi su chiamate API o eventi GitHub. Creale dal web, dall'app Desktop o eseguendo `/schedule` nel CLI.
833 * [Attività pianificate desktop](/it/desktop-scheduled-tasks) vengono eseguite sulla tua macchina, con accesso diretto ai tuoi file e strumenti locali
834 * [`/loop`](/it/scheduled-tasks) ripete un prompt all'interno di una sessione CLI per il polling rapido
835 </Accordion>
836
837 <Accordion title="Lavora da qualsiasi luogo" icon="globe">
838 Le sessioni non sono legate a una singola superficie. Sposta il lavoro tra gli ambienti mentre il tuo contesto cambia:
839
840 * Allontanati dalla tua scrivania e continua a lavorare dal tuo telefono o da qualsiasi browser con [Remote Control](/it/remote-control)
841 * Invia un messaggio a [Dispatch](/it/desktop#sessions-from-dispatch) con un'attività dal tuo telefono e apri la sessione Desktop che crea
842 * Avvia un'attività a lunga esecuzione sul [web](/it/claude-code-on-the-web) o [app iOS](https://apps.apple.com/app/claude-by-anthropic/id6473753684), quindi trascinala nel tuo terminale con `claude --teleport`
843 * Trasferisci una sessione di terminale all'[app Desktop](/it/desktop) con `/desktop` per la revisione visiva dei diff
844 * Instrada le attività dalla chat del team: menziona `@Claude` in [Slack](/it/slack) con un rapporto di bug e ottieni una pull request in cambio
845 </Accordion>
846</AccordionGroup>
847
848## Usa Claude Code ovunque
849
850Ogni superficie si connette allo stesso motore Claude Code sottostante, quindi i tuoi file CLAUDE.md, le impostazioni e i MCP server funzionano su tutti loro.
851
852Oltre agli ambienti [Terminal](/it/quickstart), [VS Code](/it/vs-code), [JetBrains](/it/jetbrains), [Desktop](/it/desktop) e [Web](/it/claude-code-on-the-web) sopra, Claude Code si integra con flussi di lavoro CI/CD, chat e browser:
853
854| Voglio... | Opzione migliore |
855| ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------- |
856| Continuare una sessione locale dal mio telefono o da un altro dispositivo | [Remote Control](/it/remote-control) |
857| Inviare eventi da Telegram, Discord, iMessage o i miei webhook in una sessione | [Channels](/it/channels) |
858| Avviare un'attività localmente, continuare su mobile | [Web](/it/claude-code-on-the-web) o [app Claude iOS](https://apps.apple.com/app/claude-by-anthropic/id6473753684) |
859| Eseguire Claude su una pianificazione ricorrente | [Routines](/it/routines) o [Attività pianificate desktop](/it/desktop-scheduled-tasks) |
860| Automatizzare le revisioni PR e il triage dei problemi | [GitHub Actions](/it/github-actions) o [GitLab CI/CD](/it/gitlab-ci-cd) |
861| Ottenere revisione automatica del codice su ogni PR | [GitHub Code Review](/it/code-review) |
862| Instradare i rapporti di bug da Slack alle pull request | [Slack](/it/slack) |
863| Eseguire il debug di applicazioni web live | [Chrome](/it/chrome) |
864| Creare agenti personalizzati per i tuoi flussi di lavoro | [Agent SDK](/it/agent-sdk/overview) |
865
866## Passaggi successivi
867
868Una volta installato Claude Code, queste guide ti aiutano ad approfondire.
869
870* [Guida rapida](/it/quickstart): esamina il tuo primo compito reale, dall'esplorazione di una base di codice al commit di una correzione
871* [Archivia istruzioni e memorie](/it/memory): dai a Claude istruzioni persistenti con file CLAUDE.md e memoria automatica
872* [Flussi di lavoro comuni](/it/common-workflows) e [best practice](/it/best-practices): modelli per ottenere il massimo da Claude Code
873* [Impostazioni](/it/settings): personalizza Claude Code per il tuo flusso di lavoro
874* [Risoluzione dei problemi](/it/troubleshooting): soluzioni per i problemi comuni
875* [code.claude.com](https://code.claude.com/): demo, prezzi e dettagli del prodotto