- L’app Desktop
- L’app mobile Claude
- Il tuo browser su claude.ai/code
- Il terminale con
claude --cloud - Le attività pianificate cloud
- Claude Tag
L’ambiente Default
Se non avete ancora un ambiente, l’onboarding configura l’ambiente Default per voi. Come dipende da dove eseguite l’onboarding:- Flussi CLI come
/web-setup: creano Default per voi - Onboarding web su Pro e Max: crea Default per voi
- Onboarding web su Team ed Enterprise: mostra un modulo Create your first cloud environment a meno che un Owner non abbia attivato Quick setup; mantieni i valori predefiniti del modulo e fai clic su Create & finish per ottenere lo stesso ambiente Default
- Accesso di rete Trusted: le sessioni raggiungono i registri dei pacchetti e altri domini consentiti, e nient’altro attraverso la rete della sessione.
- Nessun’altra configurazione: Default non definisce variabili di ambiente o script di configurazione, quindi le sessioni iniziano con solo gli strumenti preinstallati.
- Nell’app Desktop, nell’app mobile e su claude.ai/code, le sessioni che avviate voi stessi utilizzano l’ambiente mostrato nel selettore. Un default dell’organizzazione impostato da un Owner riempie la selezione quando non ne avete scelto uno. I thread in un progetto utilizzano invece l’ambiente impostato nelle impostazioni del progetto.
- Dalla CLI, Claude Code utilizza la vostra scelta
/remote-env, o ricade nell’ambiente ospitato da Anthropic quando il vostro elenco ne ha uno, e altrimenti nel primo ambiente nel vostro elenco che non è un ambiente bridge, una voce Remote Control che registra per rappresentare la vostra macchina piuttosto che un ambiente cloud. Per un ambiente self-hosted, passare--environment <environment-id>con il suo IDccpool_quando inviate una sessione sostituisce la scelta/remote-enve il fallback per quella invocazione. Claude Code rifiuta gli IDenv_ospitati da Anthropic passati al flag, quindi utilizzate/remote-envper indirizzare quelli. Il flag richiede Claude Code v2.1.224 o successiva.
Configurare il vostro ambiente
Aggiungi, modifica e archivia gli ambienti dal selettore di ambiente sotto la casella di messaggio, nella schermata in cui avvii una nuova sessione su claude.ai/code. Per raggiungere quella schermata, completa l’onboarding web. Per l’app Desktop, consulta Sessioni cloud. Gli ambienti che crei sono personali al tuo account; gli ambienti condivisi creati da un Owner appaiono nel selettore insieme a questi. Consulta Strumenti installati per vedere cosa è disponibile senza alcuna configurazione. Il selettore appare solo finché non invii il primo messaggio di una nuova sessione. Per modificare l’ambiente di una tua sessione cloud in esecuzione, seleziona il cursore a freccia dopo il titolo della sessione in alto, quindi seleziona Edit cloud environment.Aprire il selettore di ambiente
Aggiungere o modificare un ambiente
- Aggiungere un ambiente: seleziona New environment in fondo al menu per aprire la finestra di dialogo New environment. Compila il modulo e seleziona Add environment. La tua nuova sessione utilizza quindi l’ambiente che hai aggiunto.
- Modificare un ambiente: trova la sua riga sotto Cloud. Se Cloud è una singola riga, selezionala per aprire l’elenco. Se il tuo ambiente non è elencato sotto Cloud, seleziona la riga More sotto quell’intestazione. Passa il mouse sulla riga dell’ambiente e seleziona l’icona delle impostazioni che appare a destra per aprire la sua finestra di dialogo.
Impostare le variabili di ambiente
Le variabili di ambiente utilizzano il formato.env, una coppia KEY=value per riga. I valori semplici non hanno bisogno di virgolette, e se quotate un valore con una coppia corrispondente, le virgolette non diventano parte del valore. Quotate un valore che si estende su più righe o contiene un #: in un valore non quotato, # inizia un commento e il resto della riga viene eliminato.
L’esempio seguente definisce tre variabili.
OTEL_*. Claude Code utilizza quelle per l’esportazione della telemetria propria e non le passa ai comandi che esegue.
In un ambiente ospitato da Anthropic, una sessione legge i valori dell’ambiente quando lo create e di nuovo ogni volta che Claude Code si avvia nella VM della sessione in seguito, il che accade in due casi:
- La VM viene ripristinata dopo essere stata inattiva: dopo alcuni minuti senza attività, la VM di una sessione si mette in pausa con i suoi file salvati. Il vostro messaggio successivo ripristina la stessa VM e avvia di nuovo Claude Code.
- La VM è stata recuperata e viene ricostruita: se la VM in pausa è stata successivamente recuperata, riaprire la sessione provisiona una VM nuova.
LOG_LEVEL=trace npm test, oppure avviate una nuova sessione.
Una sessione cloud imposta anche alcune variabili da sola quando si avvia. Per CLAUDE_AUTOCOMPACT_PCT_OVERRIDE, il valore che la sessione imposta sostituisce uno che aggiungete qui, quindi aggiungere quella chiave qui non ha effetto.
Chiunque utilizzi l’ambiente può leggere i valori. In un ambiente ospitato da Anthropic, utilizza invece un segreto di rete per una chiave che il proxy dell’agente può allegare a una richiesta. Le richieste che non ricevono mai un segreto sono elencate lì.
Aggiungere segreti di rete
Un segreto di rete è una chiave API o un token che memorizzi in un ambiente cloud in modo che Claude possa chiamare quell’API da qualsiasi sessione nell’ambiente senza vedere la chiave. Il proxy dell’agente di Anthropic aggiunge la chiave alle richieste per gli host che elenchi, dopo che ogni richiesta esce dalla VM della sessione, quindi la chiave stessa resta fuori dalla VM. I segreti di rete sono disponibili sui piani Pro, Max, Team ed Enterprise. Per verificare se puoi aggiungerne uno tu stesso, consulta Requisiti.Requisiti
Questi requisiti determinano se puoi aggiungere un segreto e se il proxy dell’agente può utilizzarlo una volta aggiunto:- Ruolo: sui piani Pro, Max e Team, puoi aggiungere ed eliminare segreti nei tuoi ambienti qualunque sia il tuo ruolo. Su Team ed Enterprise, gli Owner detengono un ruolo di amministratore dell’organizzazione nella tua organizzazione claude.ai e gli Admin no, il che cambia ciò che vedi in questi casi:
- Il tuo ambiente su Enterprise: con un ruolo di amministratore dell’organizzazione, aggiungi ed elimini i segreti. Senza di esso, la riga Network secrets apre l’elenco dei segreti con la nota “Only an organization admin can add or delete network secrets”, senza il pulsante Add secret né quello di eliminazione. Chiedi a un Owner di aggiungere il segreto a un ambiente condiviso, quindi esegui lì le tue sessioni
- Un ambiente condiviso: gli Owner aggiungono ed eliminano i suoi segreti dalle impostazioni di amministrazione. Senza un ruolo di amministratore dell’organizzazione, chiedi a un Owner di aggiungere il segreto, perché la finestra di dialogo dell’ambiente non ha una sezione Network secrets
- Il tuo ambiente su Team: senza un ruolo di amministratore dell’organizzazione, Add secret apre un modulo più breve che accetta un solo host
- Tipo di ambiente: un ambiente cloud ospitato da Anthropic che esiste già. Un ambiente self-hosted non ha segreti di rete
- Raggiungibilità API: l’API accetta connessioni da internet, perché le richieste escono dalla rete di Anthropic
- Chiavi di crittografia: se la tua organizzazione utilizza chiavi di crittografia gestite dal cliente, non puoi salvare segreti di rete
Aggiungere un segreto
Aggiungi i segreti uno alla volta. Per cambiare gli host o il valore di un segreto, eliminalo e aggiungilo di nuovo. Per aggiungere un segreto a un ambiente condiviso, aprilo per la modifica dalla pagina Cloud environments nelle impostazioni di amministrazione, quindi prosegui dal passaggio 2 nella sua sezione Network secrets. Se sei su un piano Team e non detieni un ruolo di amministratore dell’organizzazione, segui il passaggio 1 sul tuo ambiente, quindi compila il modulo più breve.Aprire i segreti di rete dell'ambiente
Aggiungere il segreto
- Name: un’etichetta per il segreto, come
Internal billing API - Allowed websites: gli host dell’API, come
api.example.com. Un*.iniziale corrisponde a ogni sottodominio - Custom headers: una riga per l’intestazione che trasporta la chiave. La riga inizia con
Authorizationcome Name dell’intestazione eBearercome suo Prefix; incolla la chiave stessa come Value. Per un’intestazione comeX-Api-Keyche accetta il valore nudo, cambia il nome e cancella il prefisso
Salvare il segreto
curl. L’API risponde come se la chiave fosse nella richiesta, e la chiave non appare nelle variabili d’ambiente della sessione né in alcun file. Se invece l’elenco contrassegna un segreto come Not sent, la nota sotto di esso spiega il motivo e cosa fare. Due segreti i cui host si sovrappongono senza corrispondere esattamente non ricevono alcun contrassegno, e il proxy dell’agente ne invia solo uno.
Aggiungere un segreto su un piano Team senza un ruolo di amministratore dell’organizzazione
Se sei su un piano Team e non detieni un ruolo di amministratore dell’organizzazione, il modulo Add secret accetta un segreto per un solo host. Seleziona la riga Network secrets del tuo ambiente e poi Add secret. Compila questi campi e seleziona il pulsante Add secret del modulo:- Host: l’unico host che riceve il segreto, come
api.example.com. Il modulo non accetta un carattere jolly*. - Name: un’etichetta facoltativa per il segreto
- Secret type: Token per una chiave che viaggia in un’intestazione della richiesta, oppure Username and password. Per un token, incolla la chiave come Value
Quali richieste ricevono il segreto
Il proxy dell’agente allega un segreto a una richiesta quando l’host della richiesta corrisponde a uno che hai elencato su quel segreto. Le sessioni possono raggiungere quegli host anche quando il livello di accesso di rete dell’ambiente non lo permetterebbe altrimenti, tranne gli host che non ricevono mai il segreto. Il segreto si applica in ogni sessione eseguita nell’ambiente, chiunque l’abbia avviata, finché non lo elimini.Richieste che non ricevono mai il segreto
Il proxy dell’agente non allega mai un segreto che aggiungi a queste richieste:- GitHub: è invece il proxy GitHub ad autenticare le richieste a GitHub, quindi non hai bisogno di un segreto di rete per esso
- L’API Anthropic e i registri di pacchetti pubblici:
api.anthropic.com,registry.npmjs.org,jsr.io,npm.jsr.io,pypi.org,files.pythonhosted.org,index.crates.ioeproxy.golang.org - Richieste dello script di configurazione: Claude Code si connette al proxy dell’agente quando si avvia, dopo che lo script di configurazione è stato eseguito
- Esportazione della telemetria di Claude Code: Claude Code invia l’esportazione della telemetria propria piuttosto che attraverso un comando che esegue, e quella richiesta non passa attraverso il proxy dell’agente
Selezionare un ambiente dalla CLI
Eseguite/remote-env nel vostro terminale per scegliere l’ambiente predefinito per le sessioni cloud che create dalla CLI, come claude --cloud. Il comando apre un selettore dei vostri ambienti esistenti e salva la vostra scelta nella chiave remote.defaultEnvironmentId nelle vostre impostazioni utente, quindi si applica in ogni progetto sulla vostra macchina fino a quando non la cambiate, a meno che la stessa chiave non sia impostata a un livello di impostazioni di precedenza più alta, come le impostazioni del progetto di un repository.
Un ID di ambiente self-hosted, che ha la forma ccpool_..., segue una regola di origine più ristretta. Consultate remote.defaultEnvironmentId per i livelli di impostazioni che Claude Code onora da esso.
/remote-env imposta solo il default: non avvia una sessione e non può aggiungere o modificare ambienti. Gestite gli ambienti dal selettore di ambiente.
Archiviare un ambiente
Per archiviare uno dei tuoi ambienti, aprilo per la modifica, seleziona Archive environment e conferma. Se l’ambiente è condiviso con la tua organizzazione, è invece un Owner ad archiviarlo dalla pagina Cloud environments nelle impostazioni di amministrazione, quindi chiedi a un Owner, a meno che tu non lo sia. L’archiviazione influisce sulle nuove sessioni, non su quelle in esecuzione:- Le sessioni già in esecuzione nell’ambiente continuano a funzionare.
- L’ambiente scompare dal selettore e da
/remote-env, quindi non potete sceglierlo per le nuove sessioni. - I segreti di rete dell’ambiente rimangono allegati nelle sue sessioni in esecuzione. Elimina quelli che non vuoi più prima di archiviare.
- Nessuna nuova sessione può iniziare in un ambiente archiviato, su nessuna superficie:
- Default CLI salvato: se l’ambiente era il tuo default CLI salvato, Claude Code avvia le sessioni cloud CLI nell’ambiente ospitato da Anthropic quando il tuo elenco ne ha uno. Altrimenti, le avvia nel primo ambiente del tuo elenco che non è un ambiente bridge Remote Control.
- Configurato esplicitamente: qualsiasi cosa configurata esplicitamente con l’ambiente, come un’attività pianificata cloud, non può avviare nuove sessioni in esso. Puntala a un altro ambiente.
Ambienti condivisi dell’organizzazione
Sui piani Team ed Enterprise, un Owner può creare ambienti cloud che sono condivisi con ogni membro dell’organizzazione. Lo stesso ruolo gestisce tutto il resto sulla pagina Cloud environments dell’amministrazione, inclusi gli ambienti self-hosted; il ruolo Admin non può aprire la pagina. L’elenco completo dei ruoli che possono aprirla è quello per gestire le impostazioni gestite dal server. Gli ambienti condivisi appaiono nel selettore di ambiente di ogni membro sotto un’intestazione Organization, dopo gli ambienti personali del membro sotto Personal, quindi un team può standardizzare su una configurazione invece di farla ricreare a ogni membro. Selezionando l’icona delle impostazioni di un ambiente condiviso lì apre un riepilogo di sola lettura della sua configurazione per ogni membro, Owner inclusi. Un Owner rende un ambiente disponibile all’organizzazione in uno di due modi:- Creare un ambiente condiviso: utilizzate la pagina Cloud environments nelle impostazioni di amministrazione, che è anche dove gli Owner modificano e archiviano gli ambienti condivisi. Ognuno ha un nome, un livello di accesso di rete, variabili di ambiente in formato
.enve uno script di configurazione. - Condividere un ambiente personale: apri uno dei tuoi ambienti per la modifica nel selettore di ambiente, quindi condividilo dalla riga Who can use it. L’ambiente mantiene il suo ID, quindi le sessioni e le attività pianificate che lo utilizzano già non sono interessate, e ogni membro può quindi vederlo e avviare sessioni in esso.
Impostare l’ambiente che un canale Claude Tag utilizza
Nei canali Claude Tag, Claude lavora come identità condivisa della vostra organizzazione, non come nessun membro, quindi le sessioni dei canali utilizzano solo ambienti a livello di organizzazione, sia ambienti condivisi che ambienti self-hosted. Per dare a un canale un toolchain che non è preinstallato, come .NET, un Owner può creare un ambiente condiviso dalla pagina Cloud environments dell’amministrazione con uno script di configurazione che lo installa. Puntate il canale a un ambiente in uno di due modi:- Impostate un ambiente condiviso o self-hosted come l’ambiente predefinito dell’organizzazione su claude.ai/admin-settings/claude-code.
- Fissate uno a un canale nelle impostazioni di amministrazione di Claude Tag.
Accesso di rete
Ogni ambiente imposta un livello di accesso di rete, che controlla le connessioni in uscita che le sue sessioni possono effettuare. Il livello predefinito, Trusted, consente i registri dei pacchetti e altri domini consentiti; Custom accetta il vostro elenco di domini. Per modificare l’accesso di rete di un ambiente, aprilo per la modifica e utilizza il selettore Network access nella finestra di dialogo. Un ambiente condiviso si apre lì in sola lettura, quindi un Owner ne modifica l’accesso di rete dalla pagina Cloud environments nelle impostazioni di amministrazione. Il controllo che apre il selettore appare sulle superfici dell’app elencate sotto L’ambiente Default e nell’editor delle attività pianificate cloud. Gli ambienti personali non hanno una pagina separata nelle impostazioni del tuo account claude.ai. Quando modificate l’accesso di rete di un ambiente ospitato da Anthropic, le sue sessioni esistenti seguono la nuova impostazione entro circa un minuto, per le richieste che passano attraverso l’elenco di consentiti di rete della sessione. Non è necessario avviare una nuova sessione.Livelli di accesso
Il campo Network access nella finestra di dialogo dell’ambiente accetta uno di quattro livelli:- GitHub, attraverso il suo proxy separato
- I connettori MCP che abilitate, il cui traffico viaggia attraverso i server di Anthropic
- Gli host che hai elencato nei segreti di rete dell’ambiente, tranne gli host che non ricevono mai il segreto
- L’API Anthropic, per le richieste di Claude Code stesso, anche a None, come notato sotto Sicurezza e isolamento
Consentire domini specifici
Per consentire domini che non sono nella lista Trusted, selezionate Custom nelle impostazioni di accesso di rete dell’ambiente, quindi elencate un dominio per riga nel campo Allowed domains. Questo esempio consente tre host che un progetto interno potrebbe necessitare.api.example.com, qualsiasi sottodominio di internal.example.com e registry.example.com, e nessun altro dominio attraverso la rete della sessione. Il traffico GitHub, il traffico dei connettori MCP e le richieste agli host dei segreti di rete dell’ambiente, diversi dagli host che non ricevono mai il segreto, non passano attraverso questa allowlist. Un *. iniziale corrisponde a ogni sottodominio. Per mantenere anche i domini Trusted, seleziona Also include default list of common package managers; lascialo deselezionato per consentire solo ciò che elenchi.
Se la vostra organizzazione utilizza gli artifact, non avete bisogno di *.frame.claudeusercontent.com nell’elenco affinché le sessioni li leggano. Quando l’elenco lascia fuori quell’host, Claude Code legge il contenuto dell’artifact attraverso la connessione della sessione ad Anthropic invece. Mantenete l’host in un elenco di consentiti in due situazioni:
- Le sessioni in questo ambiente aprono gli artifact pubblici di un’altra organizzazione: Claude Code li recupera dall’host direttamente, quindi aggiungetelo a questo elenco.
- State configurando la CLI locale o un runner self-hosted: mantenete l’host in quell’elenco di consentiti. Consultate i requisiti di accesso di rete e i requisiti di rete self-hosted.
Proxy GitHub
Negli ambienti ospitati da Anthropic, tutte le operazioni GitHub passano attraverso un proxy dedicato che mantiene le vostre credenziali GitHub reali al di fuori della VM della sessione, indipendentemente dal livello di accesso dell’ambiente. Le sessioni in un ambiente self-hosted si autenticano con le operazioni git con le credenziali che la vostra distribuzione fornisce; Configurare git copre le opzioni, incluse le credenziali coniate per sessione e un opt-in a questo stesso proxy. Il proxy fornisce:- Credenziali Git: il client git all’interno della VM utilizza una credenziale con ambito, che il proxy verifica e scambia con il vostro token GitHub effettivo.
- Richieste API: le richieste dagli strumenti GitHub integrati e da
ghsotto il segnapostoproxy-injected, vengono inviate con le vostre credenziali reali sostituite. - Restrizioni sui push: il proxy rifiuta le eliminazioni di branch e i push di qualsiasi cosa diversa da un branch, come un tag. Non limita quali branch un push può aggiornare. Per farlo, usa le regole di protezione dei branch o i ruleset su GitHub.
- Ambito del repository: il proxy gestisce le richieste API GitHub per i repository collegati alla sessione. Una richiesta API per un altro repository riceve un 403 il cui messaggio inizia con
GitHub access toe contieneis not enabled for this session. Un archivio sorgente che recuperi tramite un URLgithub.com/{owner}/{repo}/archive/ocodeload.github.comriceve lo stesso 403 quando il repository non è collegato, anche se è pubblico. - Restrizioni GraphQL: il proxy rifiuta le richieste all’endpoint GraphQL di GitHub con un 403 il cui messaggio inizia con
GitHub GraphQL is not available from Claude Code sessionse indica il fallback REST,gh api repos/{owner}/{repo}/.... I sottocomandi dighche usano GraphQL, comegh pregh issue, ricevono lo stesso 403. La restrizione si applica a ogni richiesta attraverso il proxy indipendentemente dalle credenziali che fornisci, quindi anche unGH_TOKENche imposti riceve lo stesso 403. Claude non può raggiungere attraverso il proxy le API GitHub che esistono solo in GraphQL, come Projects v2.
raw.githubusercontent.com, che il proxy di sicurezza gestisce invece. Quel dominio è nella lista Trusted predefinita, quindi quei file rimangono raggiungibili a meno che il livello di accesso dell’ambiente non lo escluda.
Proxy di sicurezza
Le sessioni cloud negli ambienti ospitati da Anthropic vengono eseguite dietro un proxy di rete HTTP/HTTPS per scopi di sicurezza e prevenzione degli abusi; in un ambiente self-hosted, il traffico in uscita esce attraverso il vostro confine di rete invece. Tutto il traffico internet in uscita da una sessione ospitata da Anthropic passa attraverso questo proxy, che fornisce:- Protezione contro richieste dannose
- Limitazione della velocità e prevenzione degli abusi
Cosa è disponibile nelle sessioni cloud
Negli ambienti ospitati da Anthropic, ogni sessione ottiene una macchina virtuale (VM) nuova che esegue Ubuntu 24.04 su x86_64, indipendentemente dal tuo sistema operativo e dall’architettura della tua CPU, con il tuo repository clonato e i toolchain comuni preinstallati. Quando una dipendenza fornisce binari precompilati, come gem Ruby con estensioni native o wheel Python precompilati, usa la sua build Linux x86_64 per corrispondere alla VM. Questa sezione copre i default degli ambienti ospitati da Anthropic, gli strumenti GitHub integrati, come eseguire test e servizi, i limiti di risorse di ogni VM e i limiti di tempo sul lavoro a lunga esecuzione.Cosa viene trasferito dalla tua configurazione
CLAUDE.md, .claude/CLAUDE.md e .claude/rules/ nella radice del repository che non sono specifici per percorso. Consulta Cosa recuperano i thread dai tuoi repository.Aggiungere preferenze personali senza fare il commit nel repository
In un ambiente ospitato da Anthropic, aggiungi uno script di configurazione che scriva~/.claude/CLAUDE.md per le preferenze che preferisci non inserire in un repository condiviso. Claude Code carica quel file come istruzioni utente nella sessione. Questo esempio imposta una preferenza per i messaggi di commit:
/context nella tua prossima sessione cloud e verifica che /root/.claude/CLAUDE.md compaia sotto Memory files.
Strumenti installati
Le sessioni cloud includono runtime di linguaggio comuni, strumenti di build e database preinstallati. La tabella seguente riassume cosa è incluso per categoria.check-tools in una sessione cloud. È un comando shell installato sulla VM della sessione, non un comando che digiti con /; lo chiedi a Claude perché Claude esegue tutti i comandi della VM per te. Per uno strumento che non riporta, come Ruby, PHP, bun, PostgreSQL o Redis, chiedi a Claude di eseguire il comando di versione dello strumento stesso, ad esempio psql --version.
Le versioni di Node.js sono installate in /opt/node20, /opt/node21 e /opt/node22, con la 22 su PATH per impostazione predefinita. Per lavorare con una versione diversa, chiedi a Claude di anteporre a PATH la directory bin di quella versione, come /opt/node20/bin.
I toolchain non presenti in questo elenco, come .NET SDK, non sono preinstallati anche quando i relativi registri di pacchetti sono nell’allowlist predefinita. Installali con uno script di configurazione.
Lavorare con issue e pull request di GitHub
Le sessioni cloud includono strumenti GitHub integrati che consentono a Claude di leggere le issue, elencare le pull request, recuperare i diff e pubblicare commenti senza alcuna configurazione. Questi strumenti si autenticano tramite il proxy GitHub usando il metodo che hai configurato in Opzioni di autenticazione GitHub, quindi il tuo token non entra mai nel container. Puoi impostareGH_TOKEN o GITHUB_TOKEN tu stesso nelle impostazioni dell’ambiente, oppure lasciarli entrambi non impostati e lasciare che il proxy GitHub gestisca l’autenticazione per te:
- Se imposti un token, viene passato al container senza modifiche, quindi i tuoi script e la CLI
ghdi GitHub lo usano direttamente. - Se non ne imposti nessuno e il proxy GitHub gestisce l’autenticazione per la tua sessione, entrambe le variabili contengono la stringa segnaposto
proxy-injectednei comandi che Claude esegue, e il proxy sostituisce le tue credenziali reali nelle richieste GitHub in uscita. Le chiamategh apiper i repository collegati funzionano senza un tuo token, ma uno script che legge direttamenteGITHUB_TOKENottiene il segnaposto, non un token utilizzabile.
echo $GH_TOKEN.
La CLI gh di GitHub è preinstallata. Se ti serve un’operazione GitHub non coperta dagli strumenti integrati, chiedi a Claude di chiamare la REST API con gh api. Funzionano anche i sottocomandi gh che usano la REST API, come gh workflow list. Il proxy rifiuta i sottocomandi che usano GraphQL, come gh pr e gh issue. gh legge GH_TOKEN automaticamente, quindi non devi eseguire gh auth login.
Collegare l’output alla sessione
Ogni sessione cloud ha un URL di trascrizione su claude.ai, e la sessione può leggere il proprio ID dalla variabile d’ambienteCLAUDE_CODE_REMOTE_SESSION_ID. Usalo per inserire un link tracciabile nel corpo delle PR, nei messaggi di commit, nei post Slack o nei report generati, in modo che un revisore possa aprire l’esecuzione che li ha prodotti.
I commit che Claude crea in una sessione cloud includono un trailer git Claude-Session: <url>, e il corpo delle PR include l’URL della sessione su una riga a sé. Per omettere il trailer e il link nel corpo della PR, imposta attribution.sessionUrl su false.
Per includere il link della sessione in qualcosa di diverso da un commit o una PR, come un messaggio Slack che Claude pubblica o un file di report che scrive, fai eseguire a Claude il comando seguente e usane l’output. Il comando converte il prefisso cse_ nel valore della variabile d’ambiente nel prefisso session_ che l’URL della trascrizione si aspetta:
Eseguire test, avviare servizi e aggiungere pacchetti
Non hai accesso a una shell nella VM della sessione. Claude esegue ogni comando per te, quindi formula le attività di questa sezione come richieste nel tuo prompt.Eseguire test
Claude esegue i test come parte del lavoro su un’attività. Chiedilo nel tuo prompt, ad esempio “fix the failing tests intests/” o “run pytest after each change.” I test runner inclusi nei toolchain preinstallati, come pytest e cargo test, funzionano senza configurazione aggiuntiva. Un runner che il tuo progetto dichiara come dipendenza, come jest, viene installato insieme alle tue dipendenze.
Avviare servizi
PostgreSQL e Redis sono preinstallati ma non in esecuzione per impostazione predefinita. Chiedi a Claude di avviare quello che ti serve; i comandi che esegue sono:docker compose up per avviare i servizi del tuo progetto. L’accesso di rete per scaricare le immagini segue il livello di accesso del tuo ambiente, e i default Trusted includono Docker Hub e altri registri comuni.
Se le tue immagini sono grandi o lente da scaricare, aggiungi docker compose pull o docker compose build al tuo script di configurazione. La cache dell’ambiente conserva le immagini scaricate, quindi ogni nuova sessione le ha già su disco. La cache memorizza solo file, non processi in esecuzione, quindi Claude avvia comunque i container in ogni sessione.
Aggiungere pacchetti
Per aggiungere pacchetti non preinstallati, usa uno script di configurazione. La cache dell’ambiente conserva ciò che lo script installa, quindi i pacchetti installati lì sono disponibili all’inizio di ogni sessione senza doverli reinstallare ogni volta. Puoi anche chiedere a Claude di installare pacchetti a metà sessione, ma queste installazioni non vengono trasferite ad altre sessioni.Limiti di risorse
Le sessioni cloud negli ambienti ospitati da Anthropic vengono eseguite con limiti di risorse approssimativi che possono cambiare nel tempo:- 4 vCPU
- 16 GB di RAM
- 30 GB di disco
Limiti di tempo
Negli ambienti ospitati da Anthropic, questi limiti di tempo si applicano al lavoro a lunga esecuzione in una sessione cloud, come una build, un’installazione o un’esecuzione di test. Ogni voce rimanda alla sezione che definisce il limite.-
Comandi che Claude esegue: un ambiente cloud non imposta un proprio timeout per i comandi, quindi si applicano i default dello strumento Bash. Per impostazione predefinita Claude attende 2 minuti per un comando in primo piano e può richiedere fino a 10 minuti.
Quando un comando raggiunge il suo timeout, Claude Code lo sposta in background invece di interromperlo, a meno che il comando non inizi con
sleep. Un comando spostato in questo modo può continuare a essere eseguito per altri 30 minuti al massimo prima che Claude Code lo interrompa al raggiungimento del limite di tempo per i comandi in background. ImpostareBASH_DEFAULT_TIMEOUT_MSoltre1800000millisecondi allunga sia quel limite sia il default per i comandi in primo piano. -
Hook SessionStart: Claude Code annulla un hook
commanddopo 600 secondi, a meno che tu non impostitimeout, in secondi, nella voce dell’hook. Claude Code non applica il timeout a un hook che esegui conasync: true. - Script di configurazione: uno script che impiega più di circa cinque minuti non viene memorizzato nella cache. Requisiti dello script spiega come restare sotto questo limite.
- Sessioni inattive: dopo alcuni minuti senza attività, la VM di una sessione va in pausa con i suoi file salvati, e una VM in pausa può essere successivamente recuperata dal sistema. Impostare variabili d’ambiente descrive cosa una sessione recepisce in ciascun caso, e Environment expired spiega come riaprire una sessione la cui VM è stata recuperata.
BASH_DEFAULT_TIMEOUT_MS e BASH_MAX_TIMEOUT_MS alle sue variabili d’ambiente. Entrambe accettano valori in millisecondi. Ad esempio, BASH_DEFAULT_TIMEOUT_MS=600000 imposta 10 minuti come default.
Script di configurazione
Uno script di configurazione è uno script Bash che viene eseguito quando inizia una nuova sessione cloud, prima che Claude Code si avvii. Utilizzare gli script di configurazione per installare dipendenze, configurare strumenti o recuperare qualsiasi cosa di cui la sessione ha bisogno e che non è preinstallata. Gli script vengono eseguiti come root su Ubuntu 24.04, quindiapt install e la maggior parte dei gestori di pacchetti del linguaggio funzionano.
Aggiungere uno script di configurazione
Per aggiungere uno script di configurazione al tuo ambiente, puoi digitarlo o incollarlo, oppure caricare un file di testo comesetup.sh. Aggiungi o modifica l’ambiente e seleziona la riga Setup script. Inserisci lo script nel campo che si apre, oppure seleziona Choose file per sostituire il contenuto del campo con il testo di un file fino a 64 KB. Quindi seleziona Add environment o Save changes.
Questo esempio installa ShellCheck, che non è preinstallato.
Requisiti dello script
Uno script di configurazione ha quattro vincoli da considerare:- Exit zero: se lo script esce con un codice diverso da zero, la sessione non si avvia. Aggiungere
|| trueai comandi non critici in modo che un errore di installazione intermittente non blocchi la sessione. - Completamento entro cinque minuti: mantenere il tempo di esecuzione totale dello script sotto circa cinque minuti in modo che la cache dell’ambiente possa essere costruita. Quando la configurazione richiede più tempo di quello, l’ambiente non viene memorizzato nella cache. Eseguire le installazioni indipendenti in parallelo con
&ewait, e spostare qualsiasi singolo download che non rientra in un hook SessionStart che lo avvia in background. Se le nuove sessioni si bloccano o si interrompono durante la configurazione, vedere Le nuove sessioni si bloccano o scadono durante la configurazione. - Accesso di rete per le installazioni: le installazioni di pacchetti devono raggiungere i registri. Il livello Trusted predefinito copre i domini consentiti comuni inclusi npm, PyPI, RubyGems e crates.io; con accesso di rete None, le installazioni non riescono.
- Le variabili dell’ambiente non sono ancora impostate: lo script viene eseguito prima che la sessione imposti le variabili d’ambiente dell’ambiente. Imposta nello script stesso qualsiasi valore di cui lo script ha bisogno.
Cache dell’ambiente
Lo script di configurazione viene eseguito la prima volta che si avvia una sessione in un ambiente. Quando la configurazione si completa entro circa cinque minuti, Anthropic crea uno snapshot del filesystem e riutilizza quello snapshot come punto di partenza per le sessioni successive. Le nuove sessioni iniziano con le dipendenze, gli strumenti e le immagini Docker già sul disco, e saltano il passaggio dello script di configurazione. Questo mantiene l’avvio veloce anche quando lo script installa grandi toolchain o estrae immagini di container. Se la configurazione richiede più tempo di circa cinque minuti, l’ambiente non viene memorizzato nella cache. La cache è uno snapshot del filesystem, quindi mantiene ciò che lo script di configurazione scrive su disco e perde tutto ciò che era solo in esecuzione. I pacchetti installati, le immagini Docker estratte e i file scritti vengono tutti trasferiti. Un database avviato dallo script, uno stackdocker compose up o qualsiasi altro processo in background no; avviare quelli per sessione chiedendo a Claude o con un hook SessionStart.
Lo script di configurazione viene eseguito di nuovo per ricostruire la cache quando si modifica lo script di configurazione dell’ambiente o gli host di rete consentiti, e quando la cache raggiunge la scadenza dopo circa sette giorni. In un ambiente ospitato da Anthropic, lo script di configurazione non viene eseguito quando la VM di una sessione viene ripristinata dopo essere rimasta inattiva, quindi una modifica allo script raggiunge una sessione esistente solo quando la sua VM è stata recuperata e viene ricostruita. Per applicare una modifica subito, eseguire i comandi nella sessione o avviare una nuova sessione.
Non è necessario abilitare la cache o gestire gli snapshot da soli.
Script di configurazione vs. hook SessionStart
Utilizzare uno script di configurazione per il provisioning della VM stessa: toolchain e strumenti CLI che non sono preinstallati. Utilizzare un hook SessionStart per la configurazione del progetto che dovrebbe essere eseguita ovunque, cloud e locale, comenpm install.
Gli script di configurazione e gli hook SessionStart vengono eseguiti in un ordine fisso quando inizia una sessione cloud. La tabella confronta dove li si configura, quando vengono eseguiti e dove vengono eseguiti.
~/.claude/settings.json a livello di utente, non aspettarsi che siano nel cloud. Le impostazioni a livello di utente rimangono sulla macchina. Quali altri hook vengono eseguiti dipende da dove viene eseguita la sessione:
- Ambiente ospitato da Anthropic: Claude Code esegue gli hook dalle impostazioni gestite dal server della tua organizzazione e, al di fuori di un thread di un progetto, dal repository. Le sessioni Claude Tag non ricevono impostazioni gestite dal server, quindi gli hook dalle impostazioni gestite dal server non vengono eseguiti lì.
- Ambiente self-hosted: Claude Code esegue anche gli hook che l’operatore ha seminato da
~/.claude/dell’host del runner, e gli hook nel file di impostazioni gestite dell’immagine del runner quando quel file è uno dei fonti gestite che Claude Code applica.
Installare dipendenze con un hook SessionStart
Per installare dipendenze solo nelle sessioni cloud al di fuori dei thread di un progetto, abbina un hook SessionStart a uno script che controlla dove viene eseguito. Innanzitutto, aggiungere un hook SessionStart al.claude/settings.json del repository. Questa configurazione dice a Claude Code di eseguire scripts/install_pkgs.sh dal repository ogni volta che una sessione si avvia o riprende:
matcher limita l’hook agli eventi startup e resume, e $CLAUDE_PROJECT_DIR si risolve nella radice del repository, quindi l’hook trova lo script indipendentemente dalla directory di lavoro della sessione.
Successivamente, crea lo script in scripts/install_pkgs.sh. Esce immediatamente al di fuori del cloud, quindi installa le tue dipendenze. Salta npm install finché package.json, package-lock.json e lo script stesso non sono cambiati dall’ultima installazione riuscita:
CLAUDE_CODE_REMOTE è ciò che limita l’installazione alle sessioni cloud: la VM della sessione trasporta quella variabile come true, non è mai true localmente, quindi sul laptop lo script esce prima di installare qualsiasi cosa.
Per verificare che npm install sia riuscito, avvia una sessione cloud e chiedi a Claude di mostrare node_modules/.install_pkgs.sha256. Il file elenca un hash per ciascuno dei tre file. Se il file manca, chiedi a Claude di eseguire npm install e di riportare l’errore.
npm install legge altri file, come il package.json di un workspace, un .npmrc o gli input del tuo script postinstall, aggiungili al comando sha256sum che salva gli hash. Altrimenti, mantieni i vecchi pacchetti dopo che uno di quei file cambia.Limitazioni nelle sessioni cloud
Gli hook SessionStart si comportano allo stesso modo nel cloud che localmente, con questi avvertimenti:- Un repository per sessione: in un ambiente ospitato da Anthropic, una sessione con più repository non carica gli hook dal
.claude/settings.jsondi nessun repository, quindi un hook SessionStart che definisci lì non viene eseguito. Installa invece le dipendenze per quelle sessioni con uno script di configurazione. Per un ambiente self-hosted, consulta quali impostazioni del repository si applicano. - Non nei thread cloud di un progetto: un thread cloud in un progetto non esegue gli hook dal
.claude/settings.jsondi un repository, qualunque sia il numero di repository. In un ambiente ospitato da Anthropic, installa le dipendenze per i thread con uno script di configurazione. In un ambiente self-hosted, usa invece un hook nelle impostazioni dell’host del runner. - Nessun ambito solo cloud: gli hook vengono eseguiti sia nelle sessioni locali che in quelle cloud. Per saltare l’esecuzione locale, uscire anticipatamente a meno che la variabile di ambiente
CLAUDE_CODE_REMOTEnon siatrue, come fa lo script di installazione delle dipendenze. - Richiede accesso di rete: i comandi di installazione devono raggiungere i registri dei pacchetti. Se l’ambiente utilizza accesso di rete None, questi hook non riescono. L’elenco consentiti predefinito sotto Trusted copre npm, PyPI, RubyGems e crates.io.
- Compatibilità proxy: negli ambienti ospitati da Anthropic, tutto il traffico in uscita passa attraverso un proxy di sicurezza, e alcuni gestori di pacchetti non funzionano correttamente con esso; Bun è un esempio noto. In un ambiente self-hosted, il traffico in uscita passa attraverso il proprio confine di rete.
- Aggiunge latenza all’avvio: gli hook vengono eseguiti ogni volta che una sessione si avvia o riprende, a differenza degli script di configurazione che beneficiano della cache dell’ambiente. Mantieni veloci gli script di installazione saltando il lavoro già fatto, come fa lo script di installazione delle dipendenze.
docker compose. La sostituzione completa dell’immagine di base non è ancora supportata.
Domini consentiti predefiniti
Con accesso di rete Trusted, le sessioni possono raggiungere i seguenti domini per impostazione predefinita. I domini contrassegnati con* indicano la corrispondenza del sottodominio con carattere jolly, quindi *.gcr.io consente qualsiasi sottodominio di gcr.io.
Servizi Anthropic
Servizi Anthropic
- api.anthropic.com
- docs.claude.com
- platform.claude.com
- code.claude.com
- claude.ai
- claude.com
- support.claude.com
- anthropic.com
- www.anthropic.com
Controllo versione
Controllo versione
- github.com
- www.github.com
- api.github.com
- npm.pkg.github.com
- raw.githubusercontent.com
- pkg-npm.githubusercontent.com
- objects.githubusercontent.com
- release-assets.githubusercontent.com
- codeload.github.com
- avatars.githubusercontent.com
- camo.githubusercontent.com
- gist.github.com
- gitlab.com
- www.gitlab.com
- registry.gitlab.com
- bitbucket.org
- www.bitbucket.org
- api.bitbucket.org
Registri di contenitori
Registri di contenitori
- registry-1.docker.io
- auth.docker.io
- index.docker.io
- hub.docker.com
- www.docker.com
- production.cloudflare.docker.com
- production.cloudfront.docker.com
- download.docker.com
- gcr.io
- *.gcr.io
- ghcr.io
- mcr.microsoft.com
- *.data.mcr.microsoft.com
- public.ecr.aws
Piattaforme cloud
Piattaforme cloud
- cloud.google.com
- accounts.google.com
- gcloud.google.com
- *.googleapis.com
- storage.googleapis.com
- compute.googleapis.com
- container.googleapis.com
- azure.com
- portal.azure.com
- microsoft.com
- www.microsoft.com
- *.microsoftonline.com
- packages.microsoft.com
- dotnet.microsoft.com
- dot.net
- visualstudio.com
- dev.azure.com
- *.amazonaws.com
- *.api.aws
- oracle.com
- www.oracle.com
- java.com
- www.java.com
- java.net
- www.java.net
- download.oracle.com
- yum.oracle.com
- *.r2.cloudflarestorage.com
Gestori di pacchetti JavaScript e Node
Gestori di pacchetti JavaScript e Node
- registry.npmjs.org
- www.npmjs.com
- www.npmjs.org
- npmjs.com
- npmjs.org
- yarnpkg.com
- registry.yarnpkg.com
- jsr.io
- npm.jsr.io
Gestori di pacchetti Python
Gestori di pacchetti Python
- pypi.org
- www.pypi.org
- files.pythonhosted.org
- pythonhosted.org
- test.pypi.org
- pypi.python.org
- pypa.io
- www.pypa.io
Gestori di pacchetti Ruby
Gestori di pacchetti Ruby
- rubygems.org
- www.rubygems.org
- api.rubygems.org
- index.rubygems.org
- ruby-lang.org
- www.ruby-lang.org
- rubyforge.org
- www.rubyforge.org
- rubyonrails.org
- www.rubyonrails.org
- rvm.io
- get.rvm.io
Gestori di pacchetti Rust
Gestori di pacchetti Rust
- crates.io
- www.crates.io
- index.crates.io
- static.crates.io
- rustup.rs
- static.rust-lang.org
- www.rust-lang.org
Gestori di pacchetti Go
Gestori di pacchetti Go
- proxy.golang.org
- sum.golang.org
- index.golang.org
- golang.org
- www.golang.org
- goproxy.io
- pkg.go.dev
Gestori di pacchetti JVM
Gestori di pacchetti JVM
- maven.org
- repo.maven.org
- central.maven.org
- repo1.maven.org
- repo.maven.apache.org
- maven.google.com
- jcenter.bintray.com
- gradle.org
- www.gradle.org
- services.gradle.org
- plugins.gradle.org
- plugins-artifacts.gradle.org
- kotlinlang.org
- www.kotlinlang.org
- spring.io
- repo.spring.io
Altri gestori di pacchetti
Altri gestori di pacchetti
- packagist.org (PHP Composer)
- www.packagist.org
- repo.packagist.org
- nuget.org (.NET NuGet)
- www.nuget.org
- api.nuget.org
- pub.dev (Dart/Flutter)
- api.pub.dev
- hex.pm (Elixir/Erlang)
- www.hex.pm
- cpan.org (Perl CPAN)
- www.cpan.org
- metacpan.org
- www.metacpan.org
- api.metacpan.org
- cocoapods.org (iOS/macOS)
- www.cocoapods.org
- cdn.cocoapods.org
- haskell.org
- www.haskell.org
- hackage.haskell.org
- swift.org
- www.swift.org
Distribuzioni Linux
Distribuzioni Linux
- archive.ubuntu.com
- security.ubuntu.com
- ubuntu.com
- www.ubuntu.com
- *.ubuntu.com
- ppa.launchpad.net
- launchpad.net
- www.launchpad.net
- *.nixos.org
Strumenti di sviluppo e piattaforme
Strumenti di sviluppo e piattaforme
- dl.k8s.io (Kubernetes)
- pkgs.k8s.io
- k8s.io
- www.k8s.io
- releases.hashicorp.com (HashiCorp)
- apt.releases.hashicorp.com
- rpm.releases.hashicorp.com
- archive.releases.hashicorp.com
- hashicorp.com
- www.hashicorp.com
- repo.anaconda.com (Anaconda/Conda)
- conda.anaconda.org
- anaconda.org
- www.anaconda.com
- anaconda.com
- continuum.io
- apache.org (Apache)
- www.apache.org
- archive.apache.org
- downloads.apache.org
- eclipse.org (Eclipse)
- www.eclipse.org
- download.eclipse.org
- nodejs.org (Node.js)
- www.nodejs.org
- developer.apple.com
- developer.android.com
- pkg.stainless.com
- binaries.prisma.sh
Servizi cloud e monitoraggio
Servizi cloud e monitoraggio
- http-intake.logs.datadoghq.com
- *.datadoghq.com
- *.datadoghq.eu
- api.honeycomb.io
Distribuzione di contenuti e mirror
Distribuzione di contenuti e mirror
- sourceforge.net
- *.sourceforge.net
- packagecloud.io
- *.packagecloud.io
- fonts.googleapis.com
- fonts.gstatic.com
Schema e configurazione
Schema e configurazione
- json-schema.org
- www.json-schema.org
- json.schemastore.org
- www.schemastore.org
Model Context Protocol
Model Context Protocol
- *.modelcontextprotocol.io
Risorse correlate
- Cloud sessions reference: avviare, gestire e condividere sessioni cloud
- Cloud sessions quickstart: connettere GitHub e avviare la vostra prima sessione cloud
- Claude Tag: le sessioni che Claude avvia da Slack vengono eseguite negli stessi ambienti
- Attività pianificate cloud: le esecuzioni pianificate utilizzano gli stessi ambienti e livelli di accesso di rete
- Remote Control: eseguire sessioni sulla rete e sui file della vostra macchina invece
- Ambienti self-hosted: eseguire sessioni cloud sull’infrastruttura propria della vostra organizzazione
- SessionStart hooks: configurazione sottoposta a commit nel repository che viene eseguita nelle sessioni locali e cloud
- Impostazioni gestite dal server: politica dell’organizzazione che raggiunge le sessioni cloud