---
title: Dreams
url: https://platform.claude.com/docs/it/managed-agents/dreams
description: Lascia che Claude rifletta sulle sessioni passate per curare la memoria di un agente e far emergere nuove intuizioni.
---

<Tip>
  Il dreaming è una funzionalità in anteprima di ricerca. [Richiedi l'accesso](https://claude.com/form/claude-managed-agents) per provarla.
</Tip>

Gli agenti scrivono nei loro [memory store](https://platform.claude.com/docs/it/managed-agents/memory) (archivi di memoria) mentre lavorano, ma queste scritture sono locali e incrementali: nel corso di molte sessioni un memory store accumula duplicati, contraddizioni e voci obsolete.

I **Dreams** (sogni) permettono a Claude di fare pulizia. Un dream legge un memory store esistente insieme alle trascrizioni delle sessioni passate, quindi produce un nuovo memory store riorganizzato: duplicati uniti, voci obsolete o contraddette sostituite con il valore più recente e nuove intuizioni fatte emergere.

Lo store di input non viene mai modificato, quindi puoi esaminare l'output e scartarlo se il risultato non ti soddisfa.

<Note>
  Gli endpoint dei dream sono protetti dall'header beta `dreaming-2026-04-21`; l'header `managed-agents-2026-04-01` da solo non concede l'accesso ai dream. Gli esempi degli endpoint dei dream in questa pagina inviano entrambi gli header; le chiamate a sessioni e memory store richiedono solo `managed-agents-2026-04-01`. L'SDK li imposta automaticamente.
</Note>

## Come funziona

Un **dream** è un job asincrono che riceve:

* un **memory store** preesistente: lo store che Claude verifica, deduplica e riorganizza, e
* da 1 a 100 **sessioni:** trascrizioni passate che Claude analizza alla ricerca di pattern e intuizioni da incorporare nell'output.

Il dream produce un altro **memory store di output**, separato da quello di input. L'ID dello store di output compare nell'array `outputs` (csharp, go: `Outputs`) del dream poco dopo che il dream passa allo stato `running`, una volta che il workflow ha clonato lo store di input; un dream in stato `running` può riportare brevemente un array `outputs` (csharp, go: `Outputs`) vuoto.

## Crea un dream

<CodeGroup>
  ```bash cURL
  curl -s https://api.anthropic.com/v1/dreams \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "anthropic-beta: managed-agents-2026-04-01,dreaming-2026-04-21" \
    -H "content-type: application/json" \
    --data '{
      "inputs": [
        { "type": "memory_store", "memory_store_id": "'"$store_id"'" },
        { "type": "sessions", "session_ids": ["'"$session_a"'", "'"$session_b"'"] }
      ],
      "model": "claude-opus-5-5",
      "instructions": "Focus on coding-style preferences; ignore one-off debugging notes."
    }'
  ```

  ```bash CLI
  ant beta:dreams create <<YAML
  inputs:
    - type: memory_store
      memory_store_id: $store_id
    - type: sessions
      session_ids: [$session_a, $session_b]
  model: claude-opus-5-5
  instructions: Focus on coding-style preferences; ignore one-off debugging notes.
  YAML
  ```

  ```python Python
  dream = client.beta.dreams.create(
      inputs=[
          {"type": "memory_store", "memory_store_id": store_id},
          {"type": "sessions", "session_ids": [session_a, session_b]},
      ],
      model="claude-opus-5-5",
      instructions="Focus on coding-style preferences; ignore one-off debugging notes.",
  )
  print(dream.id)  # drm_01...
  ```

  ```typescript TypeScript
  let dream = await client.beta.dreams.create({
    inputs: [
      { type: "memory_store", memory_store_id: storeId },
      { type: "sessions", session_ids: [sessionA, sessionB] }
    ],
    model: "claude-opus-5-5",
    instructions: "Focus on coding-style preferences; ignore one-off debugging notes."
  });
  console.log(dream.id); // drm_01...
  ```

  ```csharp C#
  var dream = await client.Beta.Dreams.Create(new()
  {
      Inputs =
      [
          new BetaDreamMemoryStoreInput
          {
              Type = BetaDreamMemoryStoreInputType.MemoryStore,
              MemoryStoreID = storeID,
          },
          new BetaDreamSessionsInput
          {
              Type = BetaDreamSessionsInputType.Sessions,
              SessionIds = [sessionA, sessionB],
          },
      ],
      Model = "claude-opus-5-5",
      Instructions = "Focus on coding-style preferences; ignore one-off debugging notes.",
  });
  Console.WriteLine(dream.ID);  // drm_01...
  ```

  ```go Go
  dream, err := client.Beta.Dreams.New(ctx, anthropic.BetaDreamNewParams{
  	Inputs: []anthropic.BetaDreamInputUnionParam{
  		anthropic.BetaDreamInputParamOfMemoryStore(storeID),
  		anthropic.BetaDreamInputParamOfSessions([]string{sessionA, sessionB}),
  	},
  	Model: anthropic.BetaDreamNewParamsModelUnion{
  		OfString: anthropic.String("claude-opus-5-5"),
  	},
  	Instructions: anthropic.String("Focus on coding-style preferences; ignore one-off debugging notes."),
  })
  if err != nil {
  	panic(err)
  }
  fmt.Println(dream.ID) // drm_01...
  ```

  ```java Java
  var dream = client.beta().dreams().create(
      DreamCreateParams.builder()
          .addMemoryStoreInput(storeId)
          .addSessionsInput(List.of(sessionA, sessionB))
          .model("claude-opus-5-5")
          .instructions("Focus on coding-style preferences; ignore one-off debugging notes.")
          .build()
  );
  IO.println(dream.id());  // drm_01...
  ```

  ```php PHP
  $dream = $client->beta->dreams->create(
      inputs: [
          ['type' => 'memory_store', 'memory_store_id' => $storeId],
          ['type' => 'sessions', 'session_ids' => [$sessionA, $sessionB]],
      ],
      model: 'claude-opus-5-5',
      instructions: 'Focus on coding-style preferences; ignore one-off debugging notes.',
  );
  echo "{$dream->id}\n"; // drm_01...
  ```

  ```ruby Ruby
  dream = client.beta.dreams.create(
    inputs: [
      {type: "memory_store", memory_store_id: store_id},
      {type: "sessions", session_ids: [session_a, session_b]}
    ],
    model: "claude-opus-5-5",
    instructions: "Focus on coding-style preferences; ignore one-off debugging notes."
  )
  puts dream.id # drm_01...
  ```
</CodeGroup>

Gli input del dreaming includono il memory store preesistente e un array di sessioni. Il modello selezionato esegue la pipeline di dreaming. Durante l'anteprima di ricerca sono supportati `claude-opus-5-5`, `claude-fable-5-1`, `claude-opus-5`, `claude-fable-5`, `claude-opus-4-8`, `claude-opus-4-7`, `claude-sonnet-5-5`, `claude-sonnet-5` e `claude-sonnet-4-6`. Facoltativamente puoi passare `instructions` (csharp, go: `Instructions`) per orientare il processo di dreaming. Consulta [Orienta con le istruzioni](https://platform.claude.com/docs/it/managed-agents/dreams#steer-with-instructions).

La risposta è la risorsa `dream` completa con `status: "pending"`:

```json
{
  "type": "dream",
  "id": "drm_01AbCDefGhIjKlMnOpQrStUv",
  "status": "pending",
  "inputs": [
    { "type": "memory_store", "memory_store_id": "memstore_01Hx..." },
    { "type": "sessions", "session_ids": ["sesn_01...", "sesn_02..."] }
  ],
  "outputs": [],
  "model": { "id": "claude-opus-5-5" },
  "instructions": "Focus on coding-style preferences; ignore one-off debugging notes.",
  "session_id": null,
  "created_at": "2026-04-29T17:04:10Z",
  "ended_at": null,
  "archived_at": null,
  "usage": {
    "input_tokens": 0,
    "output_tokens": 0,
    "cache_read_input_tokens": 0,
    "cache_creation_input_tokens": 0
  },
  "error": null
}
```

<Tip>
  Se disponi solo di trascrizioni di sessioni e di nessuno store esistente, [crea prima un memory store vuoto](https://platform.claude.com/docs/it/managed-agents/memory#create-a-memory-store) e passalo come input `memory_store`.
</Tip>

### Orienta con le istruzioni

Il campo facoltativo `instructions` (csharp, go: `Instructions`) orienta ciò che la pipeline di dreaming sintetizza. Viene applicato in tutta la pipeline: cosa leggere con attenzione, cosa unire o scartare e come strutturare lo store di output.

Usa `instructions` (csharp, go: `Instructions`) per indicazioni di sintesi di alto livello, come aree di interesse ("concentrati sulle preferenze di stile di programmazione"), contenuti da preservare invariati o convenzioni di output che vuoi applicare all'intero store. La pipeline è un passaggio di sintesi sugli input, non un editor applicato al testo dello store, quindi le direttive imperative che mirano a righe specifiche ("cambia la frase X in Y", "correggi il conteggio nella sezione Z") in genere non producono alcuna modifica. Per apportare modifiche mirate a singole memorie, usa direttamente la [Memory Stores API](https://platform.claude.com/docs/it/managed-agents/memory#view-and-edit-memories) sullo store di output.

## Monitora l'avanzamento

I dream vengono eseguiti in modo asincrono e richiedono in genere da alcuni minuti a qualche ora, a seconda del numero di trascrizioni di input. Interroga il dream tramite ID per verificarne lo stato:

<CodeGroup>
  ```bash cURL
  curl -s "https://api.anthropic.com/v1/dreams/$dream_id" \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "anthropic-beta: managed-agents-2026-04-01,dreaming-2026-04-21"
  ```

  ```bash CLI
  ant beta:dreams retrieve --dream-id "$dream_id"
  ```

  ```python Python
  while dream.status in ("pending", "running"):
      time.sleep(10)
      dream = client.beta.dreams.retrieve(dream.id)
      print(f"status={dream.status} input_tokens={dream.usage.input_tokens}")
  ```

  ```typescript TypeScript
  while (dream.status === "pending" || dream.status === "running") {
    await sleep(10_000);
    dream = await client.beta.dreams.retrieve(dream.id);
    console.log(`status=${dream.status} input_tokens=${dream.usage.input_tokens}`);
  }
  ```

  ```csharp C#
  while (dream.Status.Value() is BetaDreamStatus.Pending or BetaDreamStatus.Running)
  {
      await Task.Delay(TimeSpan.FromSeconds(10));
      dream = await client.Beta.Dreams.Retrieve(dream.ID);
      Console.WriteLine($"status={dream.Status.Raw()} input_tokens={dream.Usage.InputTokens}");
  }
  ```

  ```go Go
  for dream.Status == anthropic.BetaDreamStatusPending || dream.Status == anthropic.BetaDreamStatusRunning {
  	time.Sleep(10 * time.Second)
  	dream, err = client.Beta.Dreams.Get(ctx, dream.ID, anthropic.BetaDreamGetParams{})
  	if err != nil {
  		panic(err)
  	}
  	fmt.Printf("status=%s input_tokens=%d\n", dream.Status, dream.Usage.InputTokens)
  }
  ```

  ```java Java
  while (dream.status().equals(BetaDreamStatus.PENDING)
          || dream.status().equals(BetaDreamStatus.RUNNING)) {
      Thread.sleep(10_000);
      dream = client.beta().dreams().retrieve(dream.id());
      IO.println("status=" + dream.status() + " input_tokens=" + dream.usage().inputTokens());
  }
  ```

  ```php PHP
  while (in_array($dream->status, [BetaDreamStatus::PENDING->value, BetaDreamStatus::RUNNING->value], true)) {
      sleep(10);
      $dream = $client->beta->dreams->retrieve($dream->id);
      echo "status={$dream->status} input_tokens={$dream->usage->inputTokens}\n";
  }
  ```

  ```ruby Ruby
  while %i[pending running].include?(dream.status)
    sleep 10
    dream = client.beta.dreams.retrieve(dream.id)
    puts "status=#{dream.status} input_tokens=#{dream.usage.input_tokens}"
  end
  ```
</CodeGroup>

### Ciclo di vita

| `status` (csharp, go: `Status`) | Significato                                                                                                                                               |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pending`                       | Dream creato correttamente e messo in coda.                                                                                                               |
| `running`                       | La pipeline è in elaborazione. `usage` (csharp, go: `Usage`) si aggiorna man mano che il lavoro procede.                                                  |
| `completed`                     | Terminato correttamente. Il valore `outputs` (csharp, go: `Outputs`) è il nuovo memory store.                                                             |
| `failed`                        | L'esecuzione del dreaming è terminata con un errore. Il memory store di output viene lasciato così com'è, con quanto era stato scritto prima dell'errore. |
| `canceled`                      | Esecuzione del dreaming annullata. Il memory store di output viene lasciato così com'è.                                                                   |

### Osserva l'esecuzione della pipeline

Quando un dream è in stato `running`, il suo campo `session_id` (java: `sessionId`; php: `sessionID`; csharp, go: `SessionID`) punta alla [sessione](https://platform.claude.com/docs/it/managed-agents/sessions) sottostante che esegue la pipeline. Puoi ricevere in streaming gli [eventi](https://platform.claude.com/docs/it/managed-agents/events-and-streaming) di quella sessione per osservare in tempo reale cosa il dream sta leggendo e scrivendo. La sessione viene archiviata (non eliminata) quando il dream raggiunge uno stato terminale, quindi la trascrizione rimane disponibile anche in seguito.

## Usa l'output

Quando `status` (csharp, go: `Status`) raggiunge `completed`, la voce `memory_store` in `outputs` (csharp, go: `Outputs`) fa riferimento a uno store completamente popolato. Si tratta di un normale memory store nel tuo workspace. Esaminalo con la [Memory Stores API](https://platform.claude.com/docs/it/managed-agents/memory#view-and-edit-memories) o nella Console, quindi:

* **Sfruttalo:** collegalo alle sessioni future come risorsa `memory_store` al posto del (o insieme al) memory store di input, oppure
* **Scartalo:** [elimina il memory store](https://platform.claude.com/docs/it/api/beta/memory_stores/delete) o [archivia il memory store](https://platform.claude.com/docs/it/api/beta/memory_stores/archive).

<CodeGroup>
  ```bash cURL
  # $output_store_id is the memory_store_id of the completed dream's memory_store output
  curl -s https://api.anthropic.com/v1/sessions \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "anthropic-beta: managed-agents-2026-04-01" \
    -H "content-type: application/json" \
    --data '{
      "agent": "'"$agent_id"'",
      "environment_id": "'"$environment_id"'",
      "resources": [
        { "type": "memory_store", "memory_store_id": "'"$output_store_id"'" }
      ]
    }'
  ```

  ```bash CLI
  # $output_store_id is the memory_store_id of the completed dream's memory_store output
  ant beta:sessions create <<YAML
  agent: $agent_id
  environment_id: $environment_id
  resources:
    - type: memory_store
      memory_store_id: $output_store_id
  YAML
  ```

  ```python Python
  # Al termine del dream, l'output contiene l'archivio di memoria ricostruito
  output_store_id = next(
      output.memory_store_id for output in dream.outputs if output.type == "memory_store"
  )

  session = client.beta.sessions.create(
      agent=agent_id,
      environment_id=environment_id,
      resources=[
          {"type": "memory_store", "memory_store_id": output_store_id},
      ],
  )
  ```

  ```typescript TypeScript
  // Al termine del dream, l'output contiene l'archivio di memoria ricostruito
  const output = dream.outputs.find((entry) => entry.type === "memory_store");
  const outputStoreId = output!.memory_store_id;

  await client.beta.sessions.create({
    agent: agentId,
    environment_id: environmentId,
    resources: [{ type: "memory_store", memory_store_id: outputStoreId }]
  });
  ```

  ```csharp C#
  var output = dream.Outputs.FirstOrDefault(entry => entry.Type == "memory_store");
  if (output is { MemoryStoreID: var outputStoreID })
  {
      await client.Beta.Sessions.Create(new()
      {
          Agent = agentID,
          EnvironmentID = environmentID,
          Resources =
          [
              new BetaManagedAgentsMemoryStoreResourceParam
              {
                  Type = BetaManagedAgentsMemoryStoreResourceParamType.MemoryStore,
                  MemoryStoreID = outputStoreID,
              },
          ],
      });
  }
  ```

  ```go Go
  for _, output := range dream.Outputs {
  	if output.Type != "memory_store" {
  		continue
  	}
  	outputStoreID := output.MemoryStoreID

  	session, err := client.Beta.Sessions.New(ctx, anthropic.BetaSessionNewParams{
  		Agent: anthropic.BetaSessionNewParamsAgentUnion{
  			OfString: anthropic.String(agentID),
  		},
  		EnvironmentID: environmentID,
  		Resources: []anthropic.BetaSessionNewParamsResourceUnion{{
  			OfMemoryStore: &anthropic.BetaManagedAgentsMemoryStoreResourceParam{
  				Type:          anthropic.BetaManagedAgentsMemoryStoreResourceParamTypeMemoryStore,
  				MemoryStoreID: outputStoreID,
  			},
  		}},
  	})
  	if err != nil {
  		panic(err)
  	}
  	fmt.Println(session.ID)
  	break
  }
  ```

  ```java Java
  var output = dream.outputs().stream()
      .filter(entry -> entry.type().equals(BetaDreamOutput.Type.MEMORY_STORE))
      .findFirst();
  if (output.isPresent()) {
      var outputStoreId = output.get().memoryStoreId();

      var session = client.beta().sessions().create(
          SessionCreateParams.builder()
              .agent(agentId)
              .environmentId(environmentId)
              .addMemoryStoreResource(outputStoreId)
              .build()
      );
  }
  ```

  ```php PHP
  $matches = array_filter($dream->outputs, fn($output) => $output->type === 'memory_store');
  $output = $matches ? reset($matches) : null;
  if ($output !== null) {
      $session = $client->beta->sessions->create(
          agent: $agentId,
          environmentID: $environmentId,
          resources: [
              ['type' => 'memory_store', 'memory_store_id' => $output->memoryStoreID],
          ],
      );
  }
  ```

  ```ruby Ruby
  output = dream.outputs.find { it.type == :memory_store }
  if output
    client.beta.sessions.create(
      agent: agent_id,
      environment_id: environment_id,
      resources: [
        {type: "memory_store", memory_store_id: output.memory_store_id}
      ]
    )
  end
  ```
</CodeGroup>

Il dream in sé non elimina né modifica mai i propri input. In caso di `failed` o `canceled` lo store di output persiste con contenuti parziali, così puoi ispezionare ciò che è stato prodotto prima dell'interruzione; ripuliscilo tramite la Memory Stores API se non ti serve.

<Warning>
  Mentre un dream è `pending` o `running`, la protezione 400 si applica all'archiviazione del dream stesso, non dei suoi store. Archiviare o eliminare un memory store di *input* durante l'esecuzione (o eliminare una sessione di input) farà fallire il dream con `input_memory_store_unavailable` o `input_session_unavailable`.
</Warning>

## Annulla un dream

L'annullamento porta immediatamente un dream `pending` o `running` allo stato `canceled`. Annullare un dream già `canceled` è un'operazione idempotente senza effetti; annullare un dream `completed` o `failed` restituisce 400.

<Note>
  Dopo l'annullamento, i campi `usage` (csharp, go: `Usage`) del dream potrebbero continuare ad aggiornarsi per alcuni secondi mentre il lavoro in corso si conclude. Interroga il dream finché `usage` (csharp, go: `Usage`) non si stabilizza se ti serve il conteggio finale.
</Note>

<CodeGroup>
  ```bash cURL
  curl -s -X POST "https://api.anthropic.com/v1/dreams/$dream_id/cancel" \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "anthropic-beta: managed-agents-2026-04-01,dreaming-2026-04-21"
  ```

  ```bash CLI
  ant beta:dreams cancel --dream-id "$dream_id"
  ```

  ```python Python
  client.beta.dreams.cancel(dream.id)
  ```

  ```typescript TypeScript
  await client.beta.dreams.cancel(dream.id);
  ```

  ```csharp C#
  await client.Beta.Dreams.Cancel(dream.ID);
  ```

  ```go Go
  dream, err = client.Beta.Dreams.Cancel(ctx, dream.ID, anthropic.BetaDreamCancelParams{})
  if err != nil {
  	panic(err)
  }
  ```

  ```java Java
  client.beta().dreams().cancel(dream.id());
  ```

  ```php PHP
  $client->beta->dreams->cancel($dream->id);
  ```

  ```ruby Ruby
  client.beta.dreams.cancel(dream.id)
  ```
</CodeGroup>

## Archivia un dream

L'archiviazione imposta `archived_at` (java, php: `archivedAt`; csharp, go: `ArchivedAt`) su un dream che ha raggiunto uno stato terminale (`completed`, `failed` o `canceled`); `status` (csharp, go: `Status`) rimane invariato. I dream archiviati sono esclusi dalle risposte di elenco predefinite, ma restano leggibili tramite ID. Archiviare un dream già archiviato è un'operazione idempotente senza effetti. Archiviare un dream in stato `pending` o `running` restituisce 400; annullalo prima. Non è possibile annullare l'archiviazione.

<CodeGroup>
  ```bash cURL
  curl -s -X POST "https://api.anthropic.com/v1/dreams/$dream_id/archive" \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "anthropic-beta: managed-agents-2026-04-01,dreaming-2026-04-21"
  ```

  ```bash CLI
  ant beta:dreams archive --dream-id "$dream_id"
  ```

  ```python Python
  client.beta.dreams.archive(dream.id)
  ```

  ```typescript TypeScript
  await client.beta.dreams.archive(dream.id);
  ```

  ```csharp C#
  await client.Beta.Dreams.Archive(dream.ID);
  ```

  ```go Go
  dream, err = client.Beta.Dreams.Archive(ctx, dream.ID, anthropic.BetaDreamArchiveParams{})
  if err != nil {
  	panic(err)
  }
  ```

  ```java Java
  client.beta().dreams().archive(dream.id());
  ```

  ```php PHP
  $client->beta->dreams->archive($dream->id);
  ```

  ```ruby Ruby
  client.beta.dreams.archive(dream.id)
  ```
</CodeGroup>

L'archiviazione di un dream non tocca il suo memory store di output; gestiscilo separatamente tramite la [Memory Stores API](https://platform.claude.com/docs/it/managed-agents/memory#view-and-edit-memories).

## Elenca i dream

Restituisce tutti i dream non archiviati nel workspace, dal più recente. Usa `limit` (csharp, go: `Limit`) (predefinito 20, massimo 100) e il cursore `page` (csharp, go: `Page`) per la paginazione. Imposta `include_archived` (java, php: `includeArchived`; csharp, go: `IncludeArchived`) su `true` per includere i dream archiviati.

<CodeGroup>
  ```bash cURL
  curl -s "https://api.anthropic.com/v1/dreams?limit=20" \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "anthropic-beta: managed-agents-2026-04-01,dreaming-2026-04-21"
  ```

  ```bash CLI
  ant beta:dreams list --limit 20
  ```

  ```python Python
  for listed_dream in client.beta.dreams.list(limit=20):
      print(listed_dream.id, listed_dream.status)
  ```

  ```typescript TypeScript
  for await (const listedDream of client.beta.dreams.list({ limit: 20 })) {
    console.log(listedDream.id, listedDream.status);
  }
  ```

  ```csharp C#
  var page = await client.Beta.Dreams.List(new() { Limit = 20 });
  await foreach (var listed in page.Paginate())
  {
      Console.WriteLine($"{listed.ID} {listed.Status.Raw()}");
  }
  ```

  ```go Go
  dreams := client.Beta.Dreams.ListAutoPaging(ctx, anthropic.BetaDreamListParams{
  	Limit: anthropic.Int(20),
  })
  for dreams.Next() {
  	listed := dreams.Current()
  	fmt.Println(listed.ID, listed.Status)
  }
  if err := dreams.Err(); err != nil {
  	panic(err)
  }
  ```

  ```java Java
  for (var listedDream : client.beta().dreams().list(
      DreamListParams.builder().limit(20).build()
  ).autoPager()) {
      IO.println(listedDream.id() + " " + listedDream.status());
  }
  ```

  ```php PHP
  foreach ($client->beta->dreams->list(limit: 20)->pagingEachItem() as $dream) {
      echo "{$dream->id} {$dream->status}\n";
  }
  ```

  ```ruby Ruby
  client.beta.dreams.list(limit: 20).auto_paging_each do
    puts "#{it.id} #{it.status}"
  end
  ```
</CodeGroup>

## Errori

Segue un elenco non esaustivo dei possibili errori del dreaming.

| `error.type`                      | Quando                                                                                                                    |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `timeout`                         | La pipeline ha superato il proprio budget di tempo di esecuzione.                                                         |
| `internal_error`                  | Errore della pipeline non classificato.                                                                                   |
| `memory_store_org_limit_exceeded` | La tua organizzazione ha raggiunto il limite di memory store mentre la pipeline stava predisponendo lo storage di lavoro. |
| `input_memory_store_too_large`    | Il memory store di input supera il limite di dimensione della pipeline.                                                   |
| `input_memory_store_unavailable`  | Il memory store di input è stato archiviato o eliminato dopo la creazione del dream.                                      |
| `input_session_unavailable`       | Una sessione di input è stata eliminata dopo la creazione del dream.                                                      |

## Fatturazione

I dream vengono fatturati alle tariffe standard per token dell'API per il modello selezionato; `usage` (csharp, go: `Usage`) sulla risorsa riporta i totali esatti. Il costo cresce in modo approssimativamente lineare con il numero e la lunghezza delle sessioni di input. Inizia con un piccolo gruppo di sessioni e aumenta una volta soddisfatto della qualità della curatela.

## Limiti

| Limite                                                   | Valore                                                                                                                                                                      |
| -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Sessioni per dream                                       | 100                                                                                                                                                                         |
| Lunghezza di `instructions` (csharp, go: `Instructions`) | 4.096 caratteri                                                                                                                                                             |
| Modelli supportati                                       | `claude-opus-5-5`, `claude-fable-5-1`, `claude-opus-5`, `claude-fable-5`, `claude-opus-4-8`, `claude-opus-4-7`, `claude-sonnet-5-5`, `claude-sonnet-5`, `claude-sonnet-4-6` |

Alla creazione dei dream si applicano i limiti di velocità predefiniti mentre questa funzionalità è in anteprima di ricerca. [Contatta il supporto](https://support.claude.com) se hai bisogno di limiti più elevati.
