> ## Documentation Index
> Fetch the complete documentation index at: https://help.memoryplugin.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Memory Buckets

> Organize your memories into separate contexts with MemoryPlugin's bucket system

export const ArticleInfo = ({author, lastUpdated}) => {
  const authorAvatar = author === 'Alara' ? '/images/author-alara.jpg' : author === 'asad' ? '/images/author-alara.jpg' : null;
  const formatDate = dateInput => {
    if (!dateInput) return '';
    if (typeof dateInput === 'string' && !dateInput.match(/^\d{4}-\d{2}-\d{2}/)) {
      return dateInput;
    }
    try {
      const date = new Date(dateInput);
      const now = new Date();
      const diffTime = Math.abs(now - date);
      const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
      if (diffDays === 0) return 'today';
      if (diffDays === 1) return '1 day ago';
      if (diffDays < 7) return `${diffDays} days ago`;
      if (diffDays < 30) return `${Math.ceil(diffDays / 7)} week${Math.ceil(diffDays / 7) > 1 ? 's' : ''} ago`;
      if (diffDays < 365) return `${Math.ceil(diffDays / 30)} month${Math.ceil(diffDays / 30) > 1 ? 's' : ''} ago`;
      return `${Math.ceil(diffDays / 365)} year${Math.ceil(diffDays / 365) > 1 ? 's' : ''} ago`;
    } catch {
      return dateInput;
    }
  };
  return <div style={{
    display: "flex",
    alignItems: "center",
    gap: "8px",
    marginBottom: "16px",
    padding: "8px 12px",
    backgroundColor: "var(--ifm-color-emphasis-100)",
    borderRadius: "6px",
    fontSize: "14px",
    color: "var(--ifm-color-content-secondary)",
    border: "1px solid var(--ifm-color-emphasis-200)",
    opacity: "0.8"
  }}>
      <div style={{
    width: "40px",
    height: "40px",
    borderRadius: "50%",
    background: authorAvatar || "linear-gradient(45deg, #4F46E5, #7C3AED)",
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    color: "white",
    fontWeight: "bold",
    fontSize: "18px"
  }}>
        {authorAvatar ? <img src={authorAvatar} alt={author} style={{
    width: "100%",
    height: "100%",
    borderRadius: "50%"
  }} /> : author?.[0]?.toUpperCase()}
      </div>
      <div>
        <div style={{
    fontWeight: "400",
    fontSize: "14px"
  }}>Written by <span style={{
    fontWeight: "600"
  }}>{author}</span></div>
        <div style={{
    fontSize: "14px"
  }}>Last updated <span style={{
    fontWeight: "600"
  }}>{formatDate(lastUpdated)}</span></div>
      </div>
    </div>;
};

<ArticleInfo author="Alara" lastUpdated="2026-07-04" />

Keep everything in one pile and your AI starts mixing your side project into your day job, or your dinner preferences into a work question. Memory buckets group related memories into separate, isolated collections. Think of them as folders for your memories.

## What buckets are for

Each bucket is isolated from the others, so your work memories stay apart from personal ones, and one project's details don't mix into another's. Common ways to split them up:

* **Context**: personal, work, hobbies
* **Projects**: separate clients or personal projects
* **Topics**: research, learning material, creative ideas
* **Time periods**: quarterly goals, an event you are planning

<Info>
  Every account starts with a **General** bucket, and new memories land there by default. General cannot be deleted, shared, or reordered, so you always have a place for memories to go.
</Info>

## Two kinds of bucket

* **Memory buckets** store text snippets, notes, and facts your AI can reference.
* **File buckets** hold uploaded documents (PDF, Word, Markdown, text) that you can search through.

<Warning>
  File buckets are still under development. You can upload files through the dashboard and search them from the [Ask](/features/ask) tool, the MCP server, and the TypingMind plugin, but they are not yet wired into the browser extension. If you need memories your AI can read everywhere, use a memory bucket.
</Warning>

## Creating a bucket

<Steps>
  <Step title="Open the bucket selector">
    In your [dashboard](https://memoryplugin.com/dashboard), click the bucket selector at the top of the sidebar.
  </Step>

  <Step title="Choose the type">
    Click **New Memory Bucket** or **New File Bucket**. The **Create New Bucket** dialog opens with the matching **Bucket Type** already selected.
  </Step>

  <Step title="Name it">
    Type a name in **Bucket Name** (for example, "Work Projects").
  </Step>

  <Step title="Create">
    Click **Create Bucket**.
  </Step>
</Steps>

<video controls playsInline className="w-full aspect-video rounded-xl" src="https://mintcdn.com/memoryplugin/9o9T_0PzzkacB3w3/videos/create-bucket-and-add-memory.mp4?fit=max&auto=format&n=9o9T_0PzzkacB3w3&q=85&s=e258fe618b61b7ec0d4a842f38d20ea9" data-path="videos/create-bucket-and-add-memory.mp4" />

<Frame caption="The Create New Bucket dialog, with the Memory type selected.">
  <img className="block dark:hidden" src="https://mintcdn.com/memoryplugin/0D7zqA9Ak-TR54pG/images/screenshots/dashboard/create-bucket-dialog.png?fit=max&auto=format&n=0D7zqA9Ak-TR54pG&q=85&s=23837790d9671b37d0be6ebc71ee532d" alt="Create New Bucket dialog with Bucket Type set to Memory and the name Work Projects" width="1920" height="1280" data-path="images/screenshots/dashboard/create-bucket-dialog.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/memoryplugin/0D7zqA9Ak-TR54pG/images/screenshots/dashboard/create-bucket-dialog-dark.png?fit=max&auto=format&n=0D7zqA9Ak-TR54pG&q=85&s=d2dccf1d780398d4ad7ade00362847d6" alt="Create New Bucket dialog with Bucket Type set to Memory and the name Work Projects" width="1920" height="1280" data-path="images/screenshots/dashboard/create-bucket-dialog-dark.png" />
</Frame>

<Note>
  **Naming rules:**

  * Names must be unique, ignoring case. "Work" and "work" count as the same name.
  * A name cannot be digits only, like "123". You can include numbers as long as there is other text too, like "Project 123" or "Q1 Goals".
</Note>

## Using a bucket across tools

### Browser extension

Click the MemoryPlugin button, then pick a bucket from the dropdown to set which one the current conversation uses.

### MCP server

Ask the AI to load or store memories in a named bucket, or set a default bucket in your MCP client configuration.

### Custom GPT

Ask the MemoryPlugin Custom GPT to work with a specific bucket, for example "Load memories from my Work bucket" or "Store this in my Personal bucket."

## Managing buckets

From the bucket selector you can sort buckets by **Last Updated**, **A to Z**, or **Custom Order** (drag to reorder), and each row has actions to view info, rename, share, and delete.

### Bucket info

The bucket info dialog shows the bucket ID, memory or file count, number of Smart Categories, and total tokens. It also breaks token usage down by model, so you can see how close the bucket is to each context window (see below). The bar turns yellow at 50% and red at 90%.

### Renaming

Use the **Rename bucket** action, type a new name, and confirm. The same naming rules apply.

### Moving memories between buckets

Move a single memory from its row, or use [bulk operations](/features/bulk-operations) to move many at once. Moving a memory into a bucket that is shared with you asks for confirmation first, since it becomes visible to everyone with access to that bucket.

### Deleting

You can delete any bucket except **General**. Deleting a bucket permanently deletes every memory in it, and it cannot be undone, so the confirm dialog tells you how many memories will go with it.

## Limits

### Number of buckets

There is no limit on how many buckets you can create.

### Smart Memory

* Needs at least **30 memories** in a bucket before it can build categories.
* Won't process a bucket over **600,000 tokens** or **2,000 memories**.

### Memory Suggestions

Suggestions skip any single memory over **10,000 tokens** during analysis.

### Context windows

The bucket info dialog compares your bucket's size against each model's context window so you can tell whether it will fit:

| Model        | Context window   |
| ------------ | ---------------- |
| ChatGPT Plus | 32,000 tokens    |
| ChatGPT Pro  | 128,000 tokens   |
| Claude       | 200,000 tokens   |
| Gemini       | 1,000,000 tokens |

A bucket larger than a model's window won't fit in a single load for that model. This is one reason to split large collections into focused buckets, or to use [Smart Memory](/features/smart-memory) so only relevant categories load.

## Example structures

<CardGroup cols={2}>
  <Card title="Freelancer" icon="briefcase">
    General, Client-Acme Corp, Client-Beta LLC, Personal Projects, Learning
  </Card>

  <Card title="Software developer" icon="code">
    General, Project-WebApp, Project-MobileApp, Technical Research, Work Notes
  </Card>

  <Card title="Content creator" icon="video">
    General, YouTube Channel, Blog Content, Client Work, Research & Ideas
  </Card>

  <Card title="Researcher" icon="flask">
    General, Literature, Experiments, Methods, Writing
  </Card>
</CardGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Smart Memory" icon="brain" href="/features/smart-memory">
    Group large buckets into categories for efficient recall
  </Card>

  <Card title="Bulk Operations" icon="list" href="/features/bulk-operations">
    Move or delete many memories at once
  </Card>
</CardGroup>
