Reference · Tools

Claude Memory

Manage conversation memory — stores and retrieves context across messages using multi-turn conversation patterns.

Action AI v1

Claude Memory keeps conversation history alive across workflow runs by storing previous exchanges and replaying them to Claude on every new message. Use it to build support bots that remember what a user said three messages ago, or long-running assistants that condense their own history before hitting token limits. It handles three operations — chat, summarize, and clear — and passes the updated history array downstream so other nodes can branch on it.

Node type
Action
Parameters
8
Outputs
Output, Error
Credentials
Anthropic

Claude Memory

Manage conversation memory — stores and retrieves context across messages using multi-turn conversation patterns.

Overview

Claude Memory manages conversation context by maintaining message history. It stores previous exchanges and sends them as conversation history to Claude via POST /v1/messages. Supports three operations: “chat” (send a message with full conversation history), “summarize” (condense conversation history into a summary), and “clear” (reset conversation history). The tool trims history to a configurable maximum number of messages and returns the updated history alongside the response for downstream chaining.

Category: AI
Tool Name: claude_memory
Version: 1

Appearance: Icon: anthropic | Color: #d4a574

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Anthropic credentials. See the Credentials Guide for setup instructions.

Operations

OperationValueDescription
ChatchatSend a message with full conversation history and receive a response
SummarizesummarizeCondense the conversation history into a concise summary
ClearclearReset the conversation history to start fresh

Parameters

Summarize and Clear take no parameters of their own — see All Operations.

Chat (chat)

ParameterTypeRequiredDefaultDescription
User MessagestringYesThe user message to send to Claude. Falls back to item.message or item.prompt if empty. Required for “chat” operation. Supports expressions like {{ $json.text }}.

All Operations

ParameterTypeRequiredDefaultDescription
ModeloptionsNoClaude SonnetThe Claude model to use for conversation. Always uses the latest version (auto-updated).
Options: Claude Opus (most capable — complex analysis, coding and multi-step reasoning), Claude Sonnet (balanced — strong quality at lower cost and latency), Claude Haiku (fastest — simple tasks, classification and high-volume work). Each option tracks the current release of its tier, so the underlying model ID updates without any change to your node.
System PromptstringNoOptional system prompt to set the model’s behavior and context. Leave empty for default behavior. Supports expressions.
Conversation HistorystringNoJSON array of {role, content} objects representing prior conversation turns. Can be a JSON string or expression referencing an array. Also reads from item.conversationHistory if empty.
OptionscollectionNo{}Advanced generation, history and output settings.
— Max TokensnumberNo4096Maximum number of tokens to generate in the response.
— TemperaturenumberNo1Sampling temperature (0-1). Lower values are more deterministic, higher values more creative.
— Max History MessagesnumberNo20Maximum number of history messages to include. Older messages are trimmed from the beginning.
— Response Field NamestringNoresponseThe output field name where the Claude response text will be stored.
Include InputbooleanNofalseWhether to include the original input item fields in the output alongside the response.
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

One output item per input item. The result text lands on the field named by Response Field Name (response by default), and every operation also returns updatedHistory — the conversation array to feed into the next node in the chain. Binary data on the input item is forwarded unchanged, and with Include Input on the original item fields are merged in alongside the result.

{
  "response": "The assistant's reply",
  "updatedHistory": [
    { "role": "user", "content": "What did we decide about the API?" },
    { "role": "assistant", "content": "The assistant's reply" }
  ],
  "model": "claude-...",
  "usage": { "input_tokens": 860, "output_tokens": 190 },
  "stopReason": "end_turn"
}

What each operation returns:

OperationFields on the output item
chatThe response field with the reply text, updatedHistory (the trimmed history plus this turn’s user and assistant messages), model, usage, stopReason
summarizeThe response field with the summary text, updatedHistory reset to a two-message primer carrying that summary forward, model, usage, stopReason — or, when there is nothing to summarize, the message No conversation history to summarize. and an empty updatedHistory
clearThe response field with the message Conversation history cleared. and an empty updatedHistory. No model call is made, so model, usage and stopReason are absent

Chain the conversation forward by expression, e.g. {{ $json.updatedHistory }}.

Usage Examples

  • Chat with Claude while maintaining conversation context across multiple turns
  • Summarize a long conversation history into key points
  • Clear conversation history to start a fresh context
  • Chain multiple Claude Memory nodes to build multi-step conversations
  • Use conversation history from a database or previous workflow step

Example Configuration

Chat with the history carried on the item:

{
  "type": "claude_memory",
  "parameters": {
    "operation": "chat",
    "userMessage": "What were the key points from our earlier discussion?",
    "conversationHistory": "{{ $json.conversationHistory }}",
    "systemPrompt": "You are a helpful assistant with a concise communication style.",
    "options": {
      "maxTokens": 1024,
      "temperature": 0.7,
      "maxHistoryMessages": 20,
      "responseFieldName": "response"
    }
  }
}

Compress a long history before it grows past the context window:

{
  "type": "claude_memory",
  "parameters": {
    "operation": "summarize",
    "conversationHistory": "{{ $json.conversationHistory }}",
    "includeInput": true,
    "maxConcurrency": 5,
    "options": {
      "maxTokens": 512,
      "temperature": 0.3,
      "maxHistoryMessages": 50,
      "responseFieldName": "summary"
    }
  }
}

Start a fresh context:

{
  "type": "claude_memory",
  "parameters": {
    "operation": "clear",
    "conversationHistory": ""
  }
}

A stateful support bot — feed each node’s updatedHistory into the next turn:

{
  "type": "claude_memory",
  "parameters": {
    "operation": "chat",
    "userMessage": "{{ $json.userInput }}",
    "conversationHistory": "{{ $json.updatedHistory }}",
    "systemPrompt": "You are a customer support agent for Acme Corp.",
    "includeInput": true,
    "maxConcurrency": 10,
    "options": {
      "maxTokens": 2048,
      "temperature": 0.8,
      "maxHistoryMessages": 20,
      "responseFieldName": "response"
    }
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Claude Memory manages multi-turn conversation context by persisting message history and submitting it to Claude via POST /v1/messages, supporting chat, summarize, and clear operations. Choose this tool when a workflow requires stateful dialogue continuity, history condensation to prevent token overflow, or a full context reset between conversation sessions. It outputs the Claude response text and the updated message history array on the main channel, with failures routed to the error channel.

Frequently asked questions

What are the three operations and when should I use each one?

'chat' sends a new message along with the full stored history, giving Claude full context to reply. 'summarize' condenses the existing history into a shorter form, which is useful before the conversation grows too long and starts consuming excessive tokens. 'clear' wipes the history entirely, which you'd typically trigger at the start of a new session or when a user explicitly resets a conversation.

What credentials does this node require?

Claude Memory requires an Anthropic credential configured in BusyBot. This is the same Anthropic API key used by other Anthropic-based nodes, so if you've already set one up you can reuse it here without creating a new credential.

How does the node prevent conversation history from growing indefinitely?

The node trims the stored message history to a configurable maximum number of messages. Once that limit is reached, older messages are dropped. If you need to preserve meaning rather than just drop messages, run the 'summarize' operation first to condense the history before it hits the cap.

What does the node actually output, and how do I use it in the next step?

On the main Output channel the node returns both the Claude response text and the updated message history array. That history array is what you pass into subsequent Claude Memory calls to maintain continuity. Errors — such as failed API calls — are routed to the separate Error output, so you can handle failures without breaking your main workflow path.

Is this the right node if I just want a single one-off Claude response with no memory?

No. Claude Memory is specifically designed for stateful, multi-turn dialogue where context from earlier messages matters. If you only need a single prompt-and-response with no history, a simpler Claude or Anthropic node without memory management would be more appropriate and less overhead to configure.

Build with the Claude Memory node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Anthropic credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.