dashsquad

Memory

How squad members keep facts about you and your work from one conversation to the next.

Memory lets a squad member keep facts from one conversation to the next. It can keep who you are, how you want it to work, what a project needs and where to find a resource. You do not have to tell it the same thing again.

Memory belongs to one squad member. All conversations and channels of that squad member share it. Other squad members cannot see it.

What the agent remembers

Each memory is one fact with a type:

TypeWhat it keepsExample
userWho the user is"Works on the platform team, based in Singapore"
feedbackHow the user wants the agent to work, with corrections"Always ask before you delete a file"
projectWork that continues, with its goals or limits"Move the billing service to the new payments API by the end of the quarter"
referenceA pointer to an external resource"The shared design doc lives at this link"

The agent decides what to keep. It does not save all that you say. Its instructions tell it not to save these items:

  • Secrets and credentials
  • Facts that are only important for the current conversation
  • Task status, branch, pull request or deploy status
  • Plans, designs and the structure of the code

Do not paste secrets into chat

Do not paste passwords, API keys or tokens into chat. The rule about secrets is only an instruction to the agent. dashsquad does not filter the memory files. If a model ignores the instruction, it can write a credential to disk.

Where it lives

Each squad member has its own memory directory:

~/.dash/gateway/memory/<agent-id>/

This path is for a standalone HQ. For an HQ that Desktop starts, ~/.dash/gateway on this page means ~/.dashsquad/<hq id>. See Data folders. Each memory is a separate markdown file, <name>.md.

The directory also has MEMORY.md. This file is an index of the memory names and descriptions, in groups by type. It does not contain the memory text. The index has a limit of 4,000 characters. If the memories do not fit, the HQ replaces the other entries with one line, …and N more — use recall_memory. These memories continue to exist, and the agent can recall them.

Do not edit MEMORY.md. The HQ writes this file again each time a memory is saved or deleted, so your changes go away. Use Desktop to manage memories.

Limits

ItemLimit
Memories for each squad member200
Name64 characters: lowercase letters, digits and hyphens
Description200 characters on one line
Content2,048 characters

If a squad member has 200 memories, a save of a new memory fails with this error: This agent already has 200 memories; update or forget one first. The agent can still update a memory that exists. If a squad member often gets to the limit, open its Memory tab and delete old entries.

How it is used

The agent gets the memory index on each turn. Thus it always knows what it remembers, also when it did not read the full text.

The HQ also recalls up to 5 memories automatically for each message. It compares the words of your message with the name and description of each memory. The agent gets these memories as background, not as instructions. The agent can read the full text of a different memory at any time with the recall_memory tool.

How the agent saves memories

Most models save, update and delete their own memories during the conversation. You do not have to set up anything. The agent uses three tools: save_memory, recall_memory and forget_memory.

If the agent saves a memory with a name that exists, the HQ updates that memory. It does not make a copy. The agent cannot delete a memory that you wrote or that came from an import.

The chat shows a chip when the agent changes a memory:

ClientChip text
Desktop and web app"Remembered: …", "Updated memory: …", "Forgot: …"
iOS appRemembered, Updated memory or Forgot memory, with the description or the name
Android appNo memory chip. The chat can show a status line for the event.

Post-turn sweep

Some models do not save memories reliably. For these models, the HQ can do a short review after a turn. The review examines the last exchange and saves the facts to keep. This is the post-turn sweep. Set it in the Post-turn sweep list on the Memory tab in Desktop:

OptionWhat it does
Auto (non-frontier models) (default)The sweep runs for all models, but not for Anthropic, OpenAI and Google models. This rule also applies to these models through OpenRouter.
OnThe sweep always runs.
OffThe sweep does not run. Only the saves of the agent apply.

The sweep runs only after a turn that completes. It does not run if the agent saved or deleted a memory in that turn. It does not run for sub-agents.

The sweep never changes a memory that you wrote or that came from an import. If it finds an entry with the same name as one of yours, it discards its entry.

Each sweep uses one more model call on the model of the squad member. This call costs tokens. When the sweep saves memories, the conversation shows a notice that starts with "Remembered:".

View, edit and delete memories

Desktop

Open the squad member and click the Memory tab. The tab shows the memories in groups by type, for example "User (3)". Each row shows the name, the description and the author: agent, sweep, user or import.

  • If there are more than 5 memories, type in Filter memories… to find a memory by name or description.
  • Click a row to see the date of the last update and the Edit and Delete links.
  • Click Edit to change the Description, Type and Content. Click Save. After you save, the author is user.
  • Click Delete to delete the memory. Desktop does not ask you to confirm.

The Overview tab also has a Memory card. It shows the first 5 memories.

You cannot make a new memory in Desktop.

iOS app

Open the squad member and tap Memory. The screen shows the memories in groups by type. Use Search memories to find a memory. Tap a memory to see its description, name, type, source, dates and size. The iOS app does not show the memory text.

To delete a memory, swipe left on it and tap Delete. The iOS app cannot edit a memory.

Web app and Android app

The web app and the Android app cannot show, edit or delete memories. Use Desktop or the iOS app.

When you delete an agent

If you delete a squad member, its memories stay on disk. Its conversations go to the archive and it goes away from Desktop. The files in ~/.dash/gateway/memory/<agent-id>/ do not change.

The directory name is the internal ID of the squad member. The HQ gives this ID when you make the squad member. If you deploy a new squad member with the same name and settings, it gets a new ID. Thus it starts with no memories, and it does not use the old files.

To remove the memories of a squad member, delete them on its Memory tab before you delete it. If you deleted the squad member already, remove its directory in ~/.dash/gateway/memory/ yourself.

Sub-agents

A sub-agent can read the memory of its parent agent, but it cannot change it. It gets the memory index and the memories that the HQ recalls automatically for its task. It does not get the memory tools, so it cannot save, delete or recall more memories. If a sub-agent learns a useful fact, it puts the fact in its result. The parent agent then decides if it saves the fact.

The built-in Explore and Plan sub-agents get no memory.

Turn off memory

Automatic memory is on for all squad members by default. To turn it off, open the Memory tab in Desktop and clear Automatic memory.

When automatic memory is off, the agent does not get the index, the recalled memories or the memory tools. The sweep stops. The memory files stay on disk. You can still see and delete memories, but you cannot edit them. To use the memories again, turn the setting back on.

Import of old notes

A workspace can have a MEMORY.md file from before this feature. If it has one, the HQ imports it as one project memory with the name legacy-memory-md. The import occurs when the first chat session of the squad member starts.

  • The HQ keeps the first 8,192 characters. If the file is longer, the memory ends with a [truncated] marker. Examine the memory and save again the important text that it lost.
  • The import occurs only one time, and only if the squad member has no memories.
  • The HQ does not change or delete the original file.
  • If you delete the imported memory, the HQ does not import it again.

On this page