---
title: Dreams
url: https://platform.claude.com/docs/pt-BR/managed-agents/dreams
description: Deixe Claude refletir sobre sessões passadas para fazer a curadoria da memória de um agente e revelar novos insights.
---

<Tip>
  Dreaming (sonhar) é um recurso em research preview (prévia de pesquisa). [Solicite acesso](https://claude.com/form/claude-managed-agents) para experimentá-lo.
</Tip>

Os agentes gravam em seus [memory stores](https://platform.claude.com/docs/pt-BR/managed-agents/memory) (armazenamentos de memória) enquanto trabalham, mas essas gravações são locais e incrementais: ao longo de muitas sessões, um memory store acumula duplicatas, contradições e entradas desatualizadas.

Os **Dreams** (sonhos) permitem que Claude limpe isso. Um dream lê um memory store existente junto com transcrições de sessões passadas e, em seguida, produz um novo memory store reorganizado: duplicatas mescladas, entradas desatualizadas ou contraditas substituídas pelo valor mais recente e novos insights revelados.

O store de entrada nunca é modificado, portanto você pode revisar a saída e descartá-la se não gostar do resultado.

<Note>
  Os endpoints de dream são controlados pelo cabeçalho beta `dreaming-2026-04-21`; o cabeçalho `managed-agents-2026-04-01` por si só não concede acesso aos dreams. Os exemplos de endpoints de dream nesta página enviam ambos os cabeçalhos; as chamadas de sessão e de memory store precisam apenas de `managed-agents-2026-04-01`. O SDK define esses cabeçalhos automaticamente.
</Note>

## Como funciona

Um **dream** é um job assíncrono que recebe:

* um **memory store** pré-existente: o store que Claude verifica, deduplica e reorganiza, e
* de 1 a 100 **sessões:** transcrições passadas que Claude explora em busca de padrões e insights para incorporar à saída.

O dream produz outro **memory store de saída**, separado do de entrada. O ID do store de saída aparece no array `outputs` (csharp, go: `Outputs`) do dream logo após o dream entrar em `running`, assim que o fluxo de trabalho tiver clonado o store de entrada; um dream em `running` pode brevemente reportar um array `outputs` (csharp, go: `Outputs`) vazio.

## Criar um 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>

As entradas do dreaming incluem o memory store preexistente e um array de sessões. O modelo selecionado executa o pipeline de dreaming. Durante a prévia de pesquisa, `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` são suportados. Opcionalmente, você pode passar `instructions` (csharp, go: `Instructions`) para direcionar o processo de dreaming. Consulte [Direcionar com instruções](https://platform.claude.com/docs/pt-BR/managed-agents/dreams#steer-with-instructions).

A resposta é o recurso `dream` completo com `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 você tiver apenas transcrições de sessões e nenhum store existente, [crie um memory store vazio](https://platform.claude.com/docs/pt-BR/managed-agents/memory#create-a-memory-store) primeiro e passe-o como a entrada `memory_store`.
</Tip>

### Direcionar com instruções

O campo opcional `instructions` (csharp, go: `Instructions`) direciona o que o pipeline de dreaming sintetiza. Ele é aplicado ao longo de todo o pipeline: o que ler com atenção, o que mesclar ou descartar e como estruturar o store de saída.

Use `instructions` (csharp, go: `Instructions`) para orientações de síntese de alto nível, como áreas de foco ("foque em preferências de estilo de código"), conteúdo a ser preservado sem alterações ou convenções de saída que você deseja aplicar em todo o store. O pipeline é uma passagem de síntese sobre as entradas, não um editor aplicado ao texto do store, portanto diretivas imperativas que visam linhas específicas ("altere a frase X para Y", "corrija a contagem na seção Z") geralmente não produzem nenhuma alteração. Para fazer edições direcionadas em memórias individuais, use a [API de Memory Stores](https://platform.claude.com/docs/pt-BR/managed-agents/memory#view-and-edit-memories) diretamente no store de saída.

## Acompanhar o progresso

Os dreams são executados de forma assíncrona e normalmente levam de minutos a algumas horas, dependendo do número de transcrições de entrada. Consulte o dream por ID para verificar o status:

<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 de vida

| `status` (csharp, go: `Status`) | Significado                                                                                                                            |
| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `pending`                       | Dream criado com sucesso e enfileirado.                                                                                                |
| `running`                       | O pipeline está processando. `usage` (csharp, go: `Usage`) é atualizado conforme o trabalho avança.                                    |
| `completed`                     | Concluído com sucesso. O valor de `outputs` (csharp, go: `Outputs`) é o novo memory store.                                             |
| `failed`                        | A execução do dreaming terminou com um erro. O memory store de saída é deixado como está, com o que tiver sido gravado antes da falha. |
| `canceled`                      | Execução do dreaming cancelada. O memory store de saída é deixado como está.                                                           |

### Observar a execução do pipeline

Quando um dream está em `running`, seu campo `session_id` (java: `sessionId`; php: `sessionID`; csharp, go: `SessionID`) aponta para a [sessão](https://platform.claude.com/docs/pt-BR/managed-agents/sessions) subjacente que executa o pipeline. Você pode fazer streaming dos [eventos](https://platform.claude.com/docs/pt-BR/managed-agents/events-and-streaming) dessa sessão para observar o que o dream está lendo e gravando em tempo real. A sessão é arquivada (não excluída) quando o dream atinge um estado terminal, então a transcrição continua disponível depois.

## Usar a saída

Quando `status` (csharp, go: `Status`) chega a `completed`, a entrada `memory_store` em `outputs` (csharp, go: `Outputs`) referencia um store totalmente preenchido. É um memory store comum no seu workspace. Revise-o com a [API de Memory Stores](https://platform.claude.com/docs/pt-BR/managed-agents/memory#view-and-edit-memories) ou no Console e, em seguida:

* **Aproveite-o:** anexe-o a sessões futuras como um recurso `memory_store` no lugar do (ou junto com o) memory store de entrada, ou
* **Descarte-o:** [exclua o memory store](https://platform.claude.com/docs/pt-BR/api/beta/memory_stores/delete) ou [arquive o memory store](https://platform.claude.com/docs/pt-BR/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
  # Após o dream terminar, a saída contém o armazenamento de memória reconstruído
  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
  // Após o dream terminar, a saída contém o armazenamento de memória reconstruído
  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>

O dream em si nunca exclui nem modifica suas entradas. Em `failed` ou `canceled`, o store de saída persiste com conteúdo parcial para que você possa inspecionar o que foi produzido antes da interrupção; limpe-o por meio da API de Memory Stores se não precisar dele.

<Warning>
  Enquanto um dream está `pending` ou `running`, a proteção 400 se aplica ao arquivamento do próprio dream, não de seus stores. Arquivar ou excluir um memory store de *entrada* durante a execução (ou excluir uma sessão de entrada) fará com que o dream falhe com `input_memory_store_unavailable` ou `input_session_unavailable`.
</Warning>

## Cancelar um dream

O cancelamento move um dream `pending` ou `running` para `canceled` imediatamente. Cancelar um dream já `canceled` é uma operação idempotente sem efeito; cancelar um dream `completed` ou `failed` retorna 400.

<Note>
  Após o cancelamento, os campos `usage` (csharp, go: `Usage`) do dream podem continuar sendo atualizados por alguns segundos enquanto o trabalho em andamento é finalizado. Consulte o dream até que `usage` (csharp, go: `Usage`) se estabilize se você precisar da contagem final.
</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>

## Arquivar um dream

O arquivamento define `archived_at` (java, php: `archivedAt`; csharp, go: `ArchivedAt`) em um dream que atingiu um estado terminal (`completed`, `failed` ou `canceled`); `status` (csharp, go: `Status`) permanece inalterado. Dreams arquivados são excluídos das respostas de listagem padrão, mas continuam legíveis pelo ID. Arquivar um dream já arquivado é uma operação idempotente sem efeito. Arquivar um dream em `pending` ou `running` retorna 400; cancele-o primeiro. Não há como desarquivar.

<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>

Arquivar um dream não afeta seu memory store de saída; gerencie-o separadamente por meio da [API de Memory Stores](https://platform.claude.com/docs/pt-BR/managed-agents/memory#view-and-edit-memories).

## Listar dreams

Retorna todos os dreams não arquivados no workspace, dos mais recentes para os mais antigos. Use `limit` (csharp, go: `Limit`) (padrão 20, máximo 100) e o cursor `page` (csharp, go: `Page`) para paginar. Defina `include_archived` (java, php: `includeArchived`; csharp, go: `IncludeArchived`) como `true` para incluir dreams arquivados.

<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>

## Erros

Segue uma lista não exaustiva de possíveis erros de dreaming.

| `error.type`                      | Quando                                                                                                        |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `timeout`                         | O pipeline excedeu seu limite de tempo de execução.                                                           |
| `internal_error`                  | Falha não classificada do pipeline.                                                                           |
| `memory_store_org_limit_exceeded` | Sua organização atingiu o limite de memory stores enquanto o pipeline provisionava armazenamento de trabalho. |
| `input_memory_store_too_large`    | O memory store de entrada excede o limite de tamanho do pipeline.                                             |
| `input_memory_store_unavailable`  | O memory store de entrada foi arquivado ou excluído após a criação do dream.                                  |
| `input_session_unavailable`       | Uma sessão de entrada foi excluída após a criação do dream.                                                   |

## Cobrança

Os dreams são cobrados pelas tarifas padrão de tokens da API para o modelo que você selecionar; `usage` (csharp, go: `Usage`) no recurso informa os totais exatos. O custo escala de forma aproximadamente linear com o número e o tamanho das sessões de entrada. Comece com um pequeno lote de sessões e aumente a escala quando estiver satisfeito com a qualidade da curadoria.

## Limites

| Limite                                                 | Valor                                                                                                                                                                       |
| ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Sessões por dream                                      | 100                                                                                                                                                                         |
| Tamanho de `instructions` (csharp, go: `Instructions`) | 4.096 caracteres                                                                                                                                                            |
| Modelos suportados                                     | `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` |

Os limites de taxa padrão se aplicam à criação de dreams enquanto este recurso estiver em research preview. [Entre em contato com o suporte](https://support.claude.com) se precisar de limites mais altos.
