By default, all DMs share one session for continuity. This is fine for
single-user setups.
If multiple people can message your agent, enable DM isolation. Without it, all
users share the same conversation context — Alice’s private messages would be
visible to Bob.
Daily reset (default) — new session at 4:00 AM local time on the gateway
host.
Idle reset (optional) — new session after a period of inactivity. Set
session.reset.idleMinutes.
Manual reset — type /new or /reset in chat. /new <model> also
switches the model.
When both daily and idle resets are configured, whichever expires first wins.Sessions with an active provider-owned CLI session are not cut by the implicit
daily default. Use /reset or configure session.reset explicitly when those
sessions should expire on a timer.
FluffBuzz automatically bounds session storage over time. By default, it runs
in warn mode (reports what would be cleaned). Set session.maintenance.mode
to "enforce" for automatic cleanup:
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"FluffBuzz","description":"Self-hosted gateway that connects Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo, and more to AI coding agents. Run one Gateway process on your own machine and message your AI assistant from anywhere.","colors":{"primary":"#FF5A36","light":"#FF8A6B","dark":"#FF5A36"},"logo":{"light":"https://mintcdn.com/fluffbuzz/VO8hwd9kPKIfBD4j/assets/pixel-puppy.svg?fit=max\u0026auto=format\u0026n=VO8hwd9kPKIfBD4j\u0026q=85\u0026s=c7c49f589942c32b48525de4cc5cb3b8","dark":"https://mintcdn.com/fluffbuzz/VO8hwd9kPKIfBD4j/assets/pixel-puppy.svg?fit=max\u0026auto=format\u0026n=VO8hwd9kPKIfBD4j\u0026q=85\u0026s=c7c49f589942c32b48525de4cc5cb3b8"},"favicon":"https://mintcdn.com/fluffbuzz/VO8hwd9kPKIfBD4j/assets/pixel-puppy.svg?fit=max\u0026auto=format\u0026n=VO8hwd9kPKIfBD4j\u0026q=85\u0026s=c7c49f589942c32b48525de4cc5cb3b8","navbar":{"links":[{"icon":"github","href":"https://github.com/fluffbuzz/fluffbuzz","label":"GitHub"},{"icon":"package","href":"https://github.com/fluffbuzz/fluffbuzz/releases","label":"Releases"},{"icon":"discord","href":"https://discord.com/invite/buzz","label":"Discord"}]},"fonts":{"heading":{"family":"DM Sans"},"body":{"family":"Fragment Mono"}},"icons":{"library":"lucide"},"styling":{"codeblocks":{"theme":{"light":"min-light","dark":"min-dark"}},"latex":true},"navigation":{"languages":[{"language":"en","href":""}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"fluffbuzz","hasAudioNarration":false,"actualSubdomain":"fluffbuzz","customDomains":["docs.fluffbuzz.com"],"gitSource":{"type":"github","owner":"fluffbuzz","repo":"fluffbuzz","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21d3e170c69447c7253106","collectionId":"ed17b4fc-264c-4fbe-86d2-09225735a998","schemaVersion":"v2"},"entitlements":{},"buildId":"6ae94919bf5f6a4758f2bb8e:success","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"en","tag":"Reference","count":81},{"language":"en","tag":"Tools \u0026 Plugins","count":76},{"language":"en","tag":"Gateway \u0026 Ops","count":57},{"language":"en","tag":"Models","count":54},{"language":"en","tag":"CLI commands","count":52},{"language":"en","tag":"Providers","count":49},{"language":"en","tag":"Tools","count":38},{"language":"en","tag":"Gateway","count":36},{"language":"en","tag":"Channels","count":32},{"language":"en","tag":"Install","count":30}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"#content>h1:first-of-type{display:none!important}.nav-tabs{position:relative}.nav-tabs-item>div{opacity:0}.nav-tabs-underline{position:absolute;left:0;bottom:0;height:1.5px;width:var(--nav-tab-underline-width, 0);transform:translateX(var(--nav-tab-underline-x, 0));background-color:rgb(var(--primary));border-radius:999px;pointer-events:none;opacity:0;transition:transform 260ms ease-in-out,width 260ms ease-in-out,opacity 160ms ease-in-out;will-change:transform,width}html.dark .nav-tabs-underline{background-color:rgb(var(--primary-light))}.nav-tabs-underline-ready .nav-tabs-underline{opacity:1}.showcase-actions a,.showcase-hero,.showcase-jump-links a{border:1px solid color-mix(in oklab,rgb(var(--primary)) 24%,transparent);border-radius:8px}.showcase-hero{display:grid;gap:18px;margin:8px 0 22px;padding:clamp(18px,3vw,30px);background:color-mix(in oklab,rgb(var(--primary)) 5%,transparent);box-shadow:0 18px 48px -34px rgba(0,0,0,.45)}.showcase-kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.showcase-lead{margin:0;max-width:48rem;font-size:clamp(18px,2vw,23px);line-height:1.6}.showcase-actions,.showcase-jump-links{display:flex;flex-wrap:wrap;gap:10px}.showcase-actions a,.showcase-jump-links a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-bottom:1px solid color-mix(in oklab,rgb(var(--primary)) 24%,transparent);background:color-mix(in oklab,rgb(var(--primary)) 4%,transparent);text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease}.showcase-actions a:first-child{background:color-mix(in oklab,rgb(var(--primary)) 12%,transparent);border-color:color-mix(in oklab,rgb(var(--primary)) 36%,transparent)}.showcase-actions a:hover,.showcase-jump-links a:hover{transform:translateY(-1px);border-color:color-mix(in oklab,rgb(var(--primary)) 46%,transparent)}.showcase-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.showcase-highlight,.showcase-video-card{border:1px solid color-mix(in oklab,rgb(var(--primary)) 18%,transparent);border-radius:8px;background:color-mix(in oklab,rgb(var(--primary)) 3%,transparent)}.showcase-highlight{padding:14px}.showcase-highlight strong{display:block;margin-bottom:6px}.showcase-highlight span,.showcase-section-intro,.showcase-video-card p{opacity:.74}.showcase-jump-links{margin:18px 0 28px}.showcase-section-intro{margin:0 0 16px}.showcase-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 28px}.showcase-video-card{padding:14px;box-shadow:0 18px 44px -32px rgba(0,0,0,.48)}.showcase-video-card h3{margin:0 0 8px}.showcase-video-card p{margin:0 0 12px}.showcase-video-card a{border-bottom:0}.showcase-video-shell{position:relative;margin-bottom:14px;padding-bottom:56.25%;overflow:hidden;border-radius:8px;background:#0a0a0a}.showcase-video-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0}@media (max-width:960px){.showcase-highlights,.showcase-video-grid{grid-template-columns:1fr}}"}],"page":{"pagePath":"concepts/session","slug":"/concepts/session","pageMetadata":{"summary":"How FluffBuzz manages conversation sessions","read_when":["You want to understand session routing and isolation","You want to configure DM scope for multi-user setups"],"title":"Session management","description":null,"href":"/concepts/session"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`FluffBuzz organizes conversations into `,_jsx(_components.strong,{children:`sessions`}),`. Each message is routed to a\nsession based on where it came from — DMs, group chats, cron jobs, etc.`]}),`\n`,_jsx(Heading,{level:`2`,id:`how-messages-are-routed`,children:`How messages are routed`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Source`}),_jsx(_components.th,{children:`Behavior`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Direct messages`}),_jsx(_components.td,{children:`Shared session by default`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Group chats`}),_jsx(_components.td,{children:`Isolated per group`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Rooms/channels`}),_jsx(_components.td,{children:`Isolated per room`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cron jobs`}),_jsx(_components.td,{children:`Fresh session per run`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Webhooks`}),_jsx(_components.td,{children:`Isolated per hook`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`dm-isolation`,children:`DM isolation`}),`\n`,_jsx(_components.p,{children:`By default, all DMs share one session for continuity. This is fine for\nsingle-user setups.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`If multiple people can message your agent, enable DM isolation. Without it, all\nusers share the same conversation context — Alice’s private messages would be\nvisible to Bob.`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`The fix:`})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`json5`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-light min-dark`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#24292eff`,\"--shiki-dark\":`#b392f0`},language:`json5`,children:_jsxs(_components.code,{language:`json5`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` session`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` dmScope`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"per-channel-peer\"`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`}),_jsx(_components.span,{style:{color:`#C2C3C5`,\"--shiki-dark\":`#6B737C`},children:` // isolate by channel + sender`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` }`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Other options:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`main`}),` (default) — all DMs share one session.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`per-peer`}),` — isolate by sender (across channels).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`per-channel-peer`}),` — isolate by channel + sender (recommended).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`per-account-channel-peer`}),` — isolate by account + channel + sender.`]}),`\n`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`If the same person contacts you from multiple channels, use\n`,_jsx(_components.code,{children:`session.identityLinks`}),` to link their identities so they share one session.`]})}),`\n`,_jsxs(_components.p,{children:[`Verify your setup with `,_jsx(_components.code,{children:`fluffbuzz security audit`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`session-lifecycle`,children:`Session lifecycle`}),`\n`,_jsx(_components.p,{children:`Sessions are reused until they expire:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Daily reset`}),` (default) — new session at 4:00 AM local time on the gateway\nhost.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Idle reset`}),` (optional) — new session after a period of inactivity. Set\n`,_jsx(_components.code,{children:`session.reset.idleMinutes`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Manual reset`}),` — type `,_jsx(_components.code,{children:`/new`}),` or `,_jsx(_components.code,{children:`/reset`}),` in chat. `,_jsx(_components.code,{children:`/new \u003cmodel>`}),` also\nswitches the model.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`When both daily and idle resets are configured, whichever expires first wins.`}),`\n`,_jsxs(_components.p,{children:[`Sessions with an active provider-owned CLI session are not cut by the implicit\ndaily default. Use `,_jsx(_components.code,{children:`/reset`}),` or configure `,_jsx(_components.code,{children:`session.reset`}),` explicitly when those\nsessions should expire on a timer.`]}),`\n`,_jsx(Heading,{level:`2`,id:`where-state-lives`,children:`Where state lives`}),`\n`,_jsxs(_components.p,{children:[`All session state is owned by the `,_jsx(_components.strong,{children:`gateway`}),`. UI clients query the gateway for\nsession data.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Store:`}),` `,_jsx(_components.code,{children:`~/.fluffbuzz/agents/\u003cagentId>/sessions/sessions.json`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Transcripts:`}),` `,_jsx(_components.code,{children:`~/.fluffbuzz/agents/\u003cagentId>/sessions/\u003csessionId>.jsonl`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`session-maintenance`,children:`Session maintenance`}),`\n`,_jsxs(_components.p,{children:[`FluffBuzz automatically bounds session storage over time. By default, it runs\nin `,_jsx(_components.code,{children:`warn`}),` mode (reports what would be cleaned). Set `,_jsx(_components.code,{children:`session.maintenance.mode`}),`\nto `,_jsx(_components.code,{children:`\"enforce\"`}),` for automatic cleanup:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`json5`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-light min-dark`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#24292eff`,\"--shiki-dark\":`#b392f0`},language:`json5`,children:_jsxs(_components.code,{language:`json5`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` session`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` maintenance`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` mode`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"enforce\"`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` pruneAfter`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"30d\"`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` maxEntries`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` 500`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` }`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` }`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Preview with `,_jsx(_components.code,{children:`fluffbuzz sessions cleanup --dry-run`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`inspecting-sessions`,children:`Inspecting sessions`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`fluffbuzz status`}),` — session store path and recent activity.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`fluffbuzz sessions --json`}),` — all sessions (filter with `,_jsx(_components.code,{children:`--active \u003cminutes>`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`/status`}),` in chat — context usage, model, and toggles.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`/context list`}),` — what is in the system prompt.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`further-reading`,children:`Further reading`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/concepts/session-pruning`,children:`Session Pruning`}),` — trimming tool results`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/concepts/compaction`,children:`Compaction`}),` — summarizing long conversations`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/concepts/session-tool`,children:`Session Tools`}),` — agent tools for cross-session work`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/reference/session-management-compaction`,children:`Session Management Deep Dive`}),` —\nstore schema, transcripts, send policy, origin metadata, and advanced config`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/concepts/multi-agent`,children:`Multi-Agent`}),` — routing and session isolation across agents`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/automation/tasks`,children:`Background Tasks`}),` — how detached work creates task records with session references`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/channels/channel-routing`,children:`Channel Routing`}),` — how inbound messages are routed to sessions`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/concepts/session-pruning`,children:`Session pruning`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/concepts/session-tool`,children:`Session tools`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/concepts/queue`,children:`Command queue`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"min-light","dark":"min-dark"}},"config":{},"pageMetadata":{"summary":"How FluffBuzz manages conversation sessions","read_when":["You want to understand session routing and isolation","You want to configure DM scope for multi-user setups"],"title":"Session management","description":null,"href":"/concepts/session"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How messages are routed","slug":"how-messages-are-routed","depth":2,"children":[]},{"title":"DM isolation","slug":"dm-isolation","depth":2,"children":[]},{"title":"Session lifecycle","slug":"session-lifecycle","depth":2,"children":[]},{"title":"Where state lives","slug":"where-state-lives","depth":2,"children":[]},{"title":"Session maintenance","slug":"session-maintenance","depth":2,"children":[]},{"title":"Inspecting sessions","slug":"inspecting-sessions","depth":2,"children":[]},{"title":"Further reading","slug":"further-reading","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/fluffbuzz/27fa1e35cfee10a0/nav-tabs-underline.js"],"subdomain":"fluffbuzz","siteName":"FluffBuzz","title":"Session management - FluffBuzz","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/concepts/session","matchLevel":0}}},"lastModified":"2026-04-25T04:30:16.996Z","originalFileLocation":"concepts/session.md","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"FluffBuzz\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Session management - FluffBuzz\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"FluffBuzz\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fluffbuzz.com/concepts/session\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://fluffbuzz.mintlify.app/_mintlify/api/og/v2?division=Sessions+and+memory\u0026amp;title=Session+management\u0026amp;theme=7c84968c96e6a1ff7bd83e0d\u0026amp;signature=c2144963b6ee5572ec5b37e35c63f8f725faf3093c9c240f0ce8a4aaa3975531\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Session management - FluffBuzz\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://fluffbuzz.mintlify.app/_mintlify/api/og/v2?division=Sessions+and+memory\u0026amp;title=Session+management\u0026amp;theme=7c84968c96e6a1ff7bd83e0d\u0026amp;signature=c2144963b6ee5572ec5b37e35c63f8f725faf3093c9c240f0ce8a4aaa3975531\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"FluffBuzz\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF5A36\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fluffbuzz.com/concepts/session\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/concepts/session.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fluffbuzz.com/#organization\",\"name\":\"FluffBuzz\",\"url\":\"https://docs.fluffbuzz.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/fluffbuzz/VO8hwd9kPKIfBD4j/assets/pixel-puppy.svg?fit=max\u0026auto=format\u0026n=VO8hwd9kPKIfBD4j\u0026q=85\u0026s=c7c49f589942c32b48525de4cc5cb3b8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fluffbuzz.com#website\",\"name\":\"FluffBuzz\",\"url\":\"https://docs.fluffbuzz.com\",\"publisher\":{\"@id\":\"https://docs.fluffbuzz.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fluffbuzz.com/concepts/session#webpage\",\"url\":\"https://docs.fluffbuzz.com/concepts/session\",\"name\":\"Session management\",\"dateModified\":\"2026-04-25T04:30:16.996Z\",\"isPartOf\":{\"@id\":\"https://docs.fluffbuzz.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fluffbuzz.com/concepts/session#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fluffbuzz.com/concepts/session#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"FluffBuzz\",\"item\":\"https://docs.fluffbuzz.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Session management\",\"item\":\"https://docs.fluffbuzz.com/concepts/session\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.fluffbuzz.com/concepts/session#article\",\"headline\":\"Session management\",\"name\":\"Session management\",\"url\":\"https://docs.fluffbuzz.com/concepts/session\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fluffbuzz.com/concepts/session#webpage\"},\"dateModified\":\"2026-04-25T04:30:16.996Z\",\"publisher\":{\"@id\":\"https://docs.fluffbuzz.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fluffbuzz.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"FluffBuzz\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"FluffBuzz","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":""}]},{"tab":"Install","pages":[{"title":"Install","href":"/install"}]},{"tab":"Channels","pages":[{"title":"Channels","href":"/channels"}]},{"tab":"Agents","groups":[{"group":"Fundamentals","pages":[{"title":"Gateway architecture","href":"/concepts/architecture"},{"title":"Agent runtime","href":"/concepts/agent"},{"title":"Agent loop","href":"/concepts/agent-loop"},{"title":"System prompt","href":"/concepts/system-prompt"},{"title":"Context","href":"/concepts/context"},{"title":"Context engine","href":"/concepts/context-engine"},{"title":"Agent workspace","href":"/concepts/agent-workspace"},{"title":"SOUL.md personality guide","href":"/concepts/soul"},{"title":"OAuth","href":"/concepts/oauth"},{"title":"Agent bootstrapping","sidebarTitle":"Bootstrapping","href":"/start/bootstrapping"},{"title":"Experimental features","description":null,"href":"/concepts/experimental-features"}]},{"group":"Sessions and memory","pages":[{"title":"Session management","href":"/concepts/session"},{"title":"Session pruning","description":null,"href":"/concepts/session-pruning"},{"title":"Session tools","href":"/concepts/session-tool"},{"group":"Memory","pages":[{"title":"Memory overview","href":"/concepts/memory"},{"title":"Builtin memory engine","href":"/concepts/memory-builtin"},{"title":"QMD memory engine","href":"/concepts/memory-qmd"},{"title":"Honcho memory","href":"/concepts/memory-honcho"},{"title":"Memory search","href":"/concepts/memory-search"},{"title":"Active memory","href":"/concepts/active-memory"},{"title":"Dreaming","href":"/concepts/dreaming"}]},{"title":"Compaction","href":"/concepts/compaction"}]},{"group":"Multi-agent","pages":[{"title":"Multi-agent routing","href":"/concepts/multi-agent"},{"title":"Presence","href":"/concepts/presence"},{"title":"Delegate architecture","href":"/concepts/delegate-architecture"}]},{"group":"Messages and delivery","pages":[{"title":"Messages","href":"/concepts/messages"},{"title":"Streaming and chunking","href":"/concepts/streaming"},{"title":"Retry policy","href":"/concepts/retry"},{"title":"Command queue","href":"/concepts/queue"}]}]},{"tab":"Tools \u0026 Plugins","pages":[{"title":"Tools \u0026 Plugins","href":"/tools"}]},{"tab":"Models","pages":[{"title":"Models","href":"/providers"}]},{"tab":"Platforms","pages":[{"title":"Platforms","href":"/platforms"}]},{"tab":"Gateway \u0026 Ops","pages":[{"title":"Gateway \u0026 Ops","href":"/gateway"}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/cli"}]},{"tab":"Help","pages":[{"title":"Help","href":"/help"}]}]}]},"basePath":"","title":"Session management - FluffBuzz","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}