← Back to Kontasks
Session Context, Cache & Account Strategy
Deep dive on what survives session changes and optimal context management
Output
Session Context, Cache & Account Strategy
What Survives a New Session?
| Component | New Session? | Notes |
|---|---|---|
| Conversation history | ✗ Lost | Completely gone |
| Claude's understanding | ✗ Lost | Must re-read files, re-learn patterns |
| Prompt cache (Anthropic) | ○ Partial | CLAUDE.md etc cached ~5min server-side |
| Kontasks | ✓ Survives | Stored in JSONL, recovered via MCP |
| Git commits | ✓ Survives | Permanent record |
| Todo list | ✗ Lost | In-memory only (could persist?) |
The Cache Reality
Anthropic's Prompt Caching
How it works: - Server-side cache of prompt prefixes - TTL: ~5 minutes of inactivity - Shared across sessions if prefix matches exactly What this means: - CLAUDE.md (system prompt) often cache-hits - Your conversation history never cache-hits on new session - Within session: cache grows with each turn
Session Bloat Problem
Turn 1: [CLAUDE.md] + [prompt] Fast, cheap Turn 5: [CLAUDE.md] + [turn1-4] + [prompt] Still good Turn 20: [CLAUDE.md] + [turn1-19] + [prompt] Getting heavy Turn 50: [CLAUDE.md] + [turns...] + [prompt] Context full! └── Old stuff marked stale by Claude (compaction kicks in)
The Perfect Balance
Recommendation: Task-Based Sessions
One session = One logical task/flow When to keep session: • Working on related changes • Iterating on same feature • Context from earlier turns still relevant When to start fresh: • Switching to unrelated task • Session feels "confused" or slow • Context window ~50-70% full (compaction) • Quota hit (forced)
Revised Account Strategy
Hybrid Approach
1. Session Pause (not destroy) Quota hit → Session "paused" on Account A New session created on Account B Paused session resumable when quota resets 2. Context Handoff When switching: extract key context to kontask New session reads kontask to "catch up" Not perfect but preserves intent 3. Smart Session End UI shows: "Session context 70% full" Suggests: "Good time to wrap up & start fresh" Creates summary kontask before ending
Key Insight
Kontasks are your cross-session memory.
Sessions are ephemeral by nature. The more we invest in kontask quality (rich context, decisions, outcomes), the less painful session transitions become.
Current: konui_get_recent_kontasks at turn start
Better: Auto-generate "session summary" kontask when session ends/pauses, then auto-inject on new session start.
Quick Actions
Original Request
No layout configured
Details
Type
General
Status
Completed
Scope
vibetools
Tags
konsolesessionscachearchitectureaccounts
Created
9 Jan 2026, 12:35 pm
Updated
9 Jan 2026, 12:35 pm
Timing
⏱️ 46.3s
0 tools
● TTFE 0%
● Thinking 100%
● Tools 0%
Created By
claude
Raw Data
{
"id": "763826b6-bc8a-45a1-b3d4-4f2553393d8c",
"type": "general",
"status": "completed",
"title": "Session Context, Cache & Account Strategy",
"description": "Deep dive on what survives session changes and optimal context management",
"context": {
"output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:'Consolas','Monaco',monospace;\">\n<h2 style=\"font-family:sans-serif;color:#fff;margin:0 0 20px 0;\">Session Context, Cache & Account Strategy</h2>\n\n<h3 style=\"font-family:sans-serif;color:#fff;margin:0 0 12px 0;\">What Survives a New Session?</h3>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<table style=\"width:100%;border-collapse:collapse;font-size:13px;\">\n<tr style=\"border-bottom:1px solid #3d3d3d;\">\n<th style=\"text-align:left;padding:8px 0;color:#7f848e;\">Component</th>\n<th style=\"text-align:center;padding:8px;color:#7f848e;\">New Session?</th>\n<th style=\"text-align:left;padding:8px 0;color:#7f848e;\">Notes</th>\n</tr>\n<tr style=\"border-bottom:1px solid #3d3d3d;\">\n<td style=\"padding:8px 0;color:#e0e0e0;\">Conversation history</td>\n<td style=\"text-align:center;padding:8px;\"><span style=\"color:#f43f5e;\">✗ Lost</span></td>\n<td style=\"padding:8px 0;color:#7f848e;\">Completely gone</td>\n</tr>\n<tr style=\"border-bottom:1px solid #3d3d3d;\">\n<td style=\"padding:8px 0;color:#e0e0e0;\">Claude's understanding</td>\n<td style=\"text-align:center;padding:8px;\"><span style=\"color:#f43f5e;\">✗ Lost</span></td>\n<td style=\"padding:8px 0;color:#7f848e;\">Must re-read files, re-learn patterns</td>\n</tr>\n<tr style=\"border-bottom:1px solid #3d3d3d;\">\n<td style=\"padding:8px 0;color:#e0e0e0;\">Prompt cache (Anthropic)</td>\n<td style=\"text-align:center;padding:8px;\"><span style=\"color:#e5c07b;\">○ Partial</span></td>\n<td style=\"padding:8px 0;color:#7f848e;\">CLAUDE.md etc cached ~5min server-side</td>\n</tr>\n<tr style=\"border-bottom:1px solid #3d3d3d;\">\n<td style=\"padding:8px 0;color:#e0e0e0;\">Kontasks</td>\n<td style=\"text-align:center;padding:8px;\"><span style=\"color:#22c55e;\">✓ Survives</span></td>\n<td style=\"padding:8px 0;color:#7f848e;\">Stored in JSONL, recovered via MCP</td>\n</tr>\n<tr style=\"border-bottom:1px solid #3d3d3d;\">\n<td style=\"padding:8px 0;color:#e0e0e0;\">Git commits</td>\n<td style=\"text-align:center;padding:8px;\"><span style=\"color:#22c55e;\">✓ Survives</span></td>\n<td style=\"padding:8px 0;color:#7f848e;\">Permanent record</td>\n</tr>\n<tr>\n<td style=\"padding:8px 0;color:#e0e0e0;\">Todo list</td>\n<td style=\"text-align:center;padding:8px;\"><span style=\"color:#f43f5e;\">✗ Lost</span></td>\n<td style=\"padding:8px 0;color:#7f848e;\">In-memory only (could persist?)</td>\n</tr>\n</table>\n</div>\n\n<h3 style=\"font-family:sans-serif;color:#fff;margin:0 0 12px 0;\">The Cache Reality</h3>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;border-left:4px solid #61afef;\">\n<p style=\"margin:0 0 12px 0;color:#61afef;font-weight:bold;\">Anthropic's Prompt Caching</p>\n<pre style=\"margin:0;line-height:1.8;color:#e0e0e0;font-size:13px;\">\n<span style=\"color:#7f848e;\">How it works:</span>\n - Server-side cache of prompt prefixes\n - TTL: ~5 minutes of inactivity\n - Shared across sessions <span style=\"color:#22c55e;\">if prefix matches exactly</span>\n\n<span style=\"color:#7f848e;\">What this means:</span>\n - CLAUDE.md (system prompt) often cache-hits\n - Your conversation history <span style=\"color:#f43f5e;\">never</span> cache-hits on new session\n - Within session: cache grows with each turn\n</pre>\n</div>\n\n<h3 style=\"font-family:sans-serif;color:#fff;margin:0 0 12px 0;\">Session Bloat Problem</h3>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<pre style=\"margin:0;line-height:1.8;color:#e0e0e0;font-size:13px;\">\n<span style=\"color:#7f848e;\">Turn 1:</span> [CLAUDE.md] + [prompt] <span style=\"color:#22c55e;\">Fast, cheap</span>\n<span style=\"color:#7f848e;\">Turn 5:</span> [CLAUDE.md] + [turn1-4] + [prompt] <span style=\"color:#e5c07b;\">Still good</span>\n<span style=\"color:#7f848e;\">Turn 20:</span> [CLAUDE.md] + [turn1-19] + [prompt] <span style=\"color:#f43f5e;\">Getting heavy</span>\n<span style=\"color:#7f848e;\">Turn 50:</span> [CLAUDE.md] + [turns...] + [prompt] <span style=\"color:#f43f5e;\">Context full!</span>\n └── Old stuff marked stale by Claude\n (compaction kicks in)\n</pre>\n</div>\n\n<h3 style=\"font-family:sans-serif;color:#fff;margin:0 0 12px 0;\">The Perfect Balance</h3>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;border-left:4px solid #22c55e;\">\n<p style=\"margin:0 0 12px 0;color:#22c55e;font-weight:bold;\">Recommendation: Task-Based Sessions</p>\n<pre style=\"margin:0;line-height:1.8;color:#e0e0e0;font-size:13px;\">\n<span style=\"color:#c678dd;\">One session = One logical task/flow</span>\n\n<span style=\"color:#7f848e;\">When to keep session:</span>\n • Working on related changes\n • Iterating on same feature\n • Context from earlier turns still relevant\n\n<span style=\"color:#7f848e;\">When to start fresh:</span>\n • Switching to unrelated task\n • Session feels \"confused\" or slow\n • Context window ~50-70% full (compaction)\n • Quota hit (forced)\n</pre>\n</div>\n\n<h3 style=\"font-family:sans-serif;color:#fff;margin:0 0 12px 0;\">Revised Account Strategy</h3>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<p style=\"margin:0 0 12px 0;color:#c678dd;font-weight:bold;\">Hybrid Approach</p>\n<pre style=\"margin:0;line-height:1.8;color:#e0e0e0;font-size:13px;\">\n<span style=\"color:#7f848e;\">1. Session Pause (not destroy)</span>\n Quota hit → Session \"paused\" on Account A\n New session created on Account B\n Paused session resumable when quota resets\n\n<span style=\"color:#7f848e;\">2. Context Handoff</span>\n When switching: extract key context to kontask\n New session reads kontask to \"catch up\"\n Not perfect but preserves intent\n\n<span style=\"color:#7f848e;\">3. Smart Session End</span>\n UI shows: \"Session context 70% full\"\n Suggests: \"Good time to wrap up & start fresh\"\n Creates summary kontask before ending\n</pre>\n</div>\n\n<h3 style=\"font-family:sans-serif;color:#fff;margin:0 0 12px 0;\">Key Insight</h3>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;border-left:4px solid #c678dd;\">\n<p style=\"margin:0;color:#e0e0e0;\">\n<strong style=\"color:#c678dd;\">Kontasks are your cross-session memory.</strong><br><br>\nSessions are ephemeral by nature. The more we invest in kontask quality (rich context, decisions, outcomes), the less painful session transitions become.<br><br>\n<span style=\"color:#7f848e;\">Current:</span> konui_get_recent_kontasks at turn start<br>\n<span style=\"color:#22c55e;\">Better:</span> Auto-generate \"session summary\" kontask when session ends/pauses, then auto-inject on new session start.\n</p>\n</div>\n\n</div>",
"requestedAt": "2026-01-09T02:25:00.000Z",
"requestId": "0da27c9e-a428-422d-9aef-2b1bf549b401",
"choices": [
{
"label": "Design session pause",
"value": "Design a session pause/resume system that preserves warm sessions when quota hits",
"primary": true
},
{
"label": "Improve kontask handoff",
"value": "Design better kontask-based context handoff for session transitions"
},
{
"label": "Add context fullness UI",
"value": "Add a UI indicator showing context window usage and suggest when to start fresh"
},
{
"label": "All three",
"value": "Design all three: session pause, better kontask handoff, and context fullness UI"
}
],
"turnTiming": {
"totalMs": 46252,
"ttfeMs": 40,
"thinkingMs": 46212,
"toolExecutionMs": 0,
"toolCallCount": 0,
"thinkingPct": 100,
"toolsPct": 0,
"ttfePct": 0
}
},
"createdBy": "claude",
"createdAt": "2026-01-09T02:35:33.161Z",
"updatedAt": "2026-01-09T02:35:39.079Z",
"requestId": "0da27c9e-a428-422d-9aef-2b1bf549b401",
"scope": "vibetools",
"tags": [
"konsole",
"sessions",
"cache",
"architecture",
"accounts"
],
"targetUser": "claude"
}