You ask your chatbot a product question. It answers fine. You follow up with pricing. Still okay. You mention your budget constraint, and suddenly it's recommending products that don't fit. Three turns in, the bot has lost the thread of the entire conversation. This isn't a flaw in the training data or a bug in the bot's reasoning. It's a hard ceiling: every language model has a finite token window—the amount of text it can hold in memory at once. When you exceed that window, older parts of the conversation drop off, and the bot becomes effectively amnesic. For most teams, this limit hits between messages three and six, depending on message length and the model deployed. And it breaks your customer conversations exactly when they matter most: during objection handling and complex multi-step troubleshooting. How token windows actually work A token is roughly four characters of text. The GPT-4 model, for example, has a 128,000-token window. That sounds huge until you do the math: Your system prompt (the instruction set that tells the bot how to behave): 500–2,000 tokens Product knowledge base or context injection: 5,000–15,000 tokens Conversation history: 2,000–4,000 tokens per full exchange Buffer for the bot's response: 1,000–2,000 tokens In a real customer service scenario, you've burned through 25,000–35,000 tokens before the fourth customer message even arrives. Cheaper models like GPT-3.5 (4,096-token limit) exhaust their window after one or two turns. When the window fills, the system does one of three things: Truncates the oldest messages silently, so the bot no longer sees the original intent Summarizes previous turns (if configured), which loses nuance and specific details Fails the request outright, forcing a fallback or human handoff Test case: A product-to-pricing-to-objection flow Let's trace what happens in a real conversation: Turn 1: Product inquiry Customer: "Does your CRM integrate with Slack?" Bot response: "Yes, we have native Slack integration..." (150 tokens consumed in exchange) Turn 2: Clarifying question Customer: "What about WhatsApp? Do we get that without an add-on?" Bot response: "WhatsApp is included in..." (another 150 tokens) Turn 3: Pricing question Customer: "We have 15 team members. What's the total cost?" Bot response: "At 15 users, our pricing is..." (200 tokens) Turn 4: The objection (where context breaks) Customer: "That's more than our current tool. Can you compare the Slack integration to what we have now?" Bot response: "Our Slack integration includes..." but it no longer has the context that you asked about WhatsApp, or that team size mattered to your decision. At turn four, a generic chatbot has already dropped the specifics of your original product question and your team size. It can't give a meaningful comparison because it's lost the thread of what you were evaluating and why. Where the three-turn limit bites hardest Some conversation types break faster than others: Troubleshooting loops ("I tried that, now what?" × 3). The bot forgets the initial error state and starts repeating solutions. Price negotiation ("What's the discount for annual commitment?" → "Can we add seats?" → "Will you waive setup?"). Context of the original quote vanishes. Feature-fit validation ("Does it have X?" → "What about Y?" → "Can Y integrate with Z?"). The bot loses the original business problem you were solving for. Multi-product questions ("We use QuickBooks, does this sync?" → "What about our CRM?" → "And our booking platform?"). Halfway through, the bot loses which integrations you actually care about. All of these are high-value conversations—these are moments when a customer is actively evaluating whether to buy. Losing context here directly kills conversion. Three ways to extend effective context 1. Conversation summarization at handoff Most platforms can auto-summarize when the token window approaches its limit. Rather than the bot losing context, it explicitly condenses the last 2–3 exchanges into a summary and passes that forward: "Customer asked about CRM + Slack integration for a 15-person team. Pricing at that size is $X/month. Customer concerned about cost vs. current tool. Requested Slack vs. current platform comparison." This isn't perfect—you lose the exact wording and any emotional tone—but it's far better than amnesia. The next bot turn can at least reference the right context. 2. Store conversation state in your database A smarter approach: don't rely on the token window at all. Store the conversation's intent, key facts, and decision criteria in a database record. Each bot turn queries that record instead of digging through the full message history. Example structure: Intent: "CRM pricing evaluation" Company size: 15 users Must-have integrations: Slack, WhatsApp Current tool: [competitor name] Budget constraint: $X/month Unresolved objections: cost comparison, feature parity The bot can now reference this at turn 10 as easily as at turn 2. It never forgets. 3. Hum