💾 Session Management
Code Puppy includes powerful session management features to maintain context across conversations and manage token limits.
Autosave
Sessions are automatically saved as you work:
# Enable autosave (default: true)
/set autosave true
# Sessions saved to:
~/.code_puppy/sessions/
Session Storage
Sessions are stored as JSON files containing:
- Conversation history (messages)
- Current agent and model
- Working directory
- Timestamps
- Token usage statistics
Message Compaction
When conversations get long, compaction helps manage token usage:
How Compaction Works
- A summarization agent reads your conversation history
- It creates a concise summary preserving key context
- Old messages are replaced with the summary
- Recent messages are preserved in full
/compact
# Before: 50 messages, 25,000 tokens
# After: 5 messages, 3,000 tokens
# Context preserved!
Compaction Strategies
| Strategy | Description |
|---|---|
| Summarize | AI-generated summary of older messages |
| Truncate | Simply remove oldest messages |
| Selective | Keep important messages, summarize others |
Resuming Sessions
# Start Code Puppy and resume last session
code-puppy
/resume
# Or use the session manager
/session
# Select from list of saved sessions
Manual Save/Load
# Save current context
/dump_context
# Enter a name when prompted
# Load a saved context
/load_context
# Select from available saves
Token Management
Tips for managing token usage:
💡 Tips
- Use
/compactwhen responses slow down - Use
/truncateto keep only recent messages - Start fresh sessions for new topics
- Use smaller models for simple tasks
Agent-Specific Sessions
When invoking sub-agents, sessions can be maintained:
# Invoke with session ID for continuity
invoke_agent(
agent_name="code-reviewer",
prompt="Review this file",
session_id="review-auth" # Creates review-auth-abc123
)
# Continue the same session
invoke_agent(
agent_name="code-reviewer",
prompt="Now check security",
session_id="review-auth-abc123" # Use full ID to continue
)
Session Cleanup
# Sessions are stored in
~/.code_puppy/sessions/
# Manually delete old sessions
rm ~/.code_puppy/sessions/old-session.json
# Or use the session manager
/session
# Select 'delete' option