resume

Sessions.

Squeezy keeps each session on your machine so you can leave, come back, and pick up where you were, without re-paying for the whole history.

Work is saved as you go

Each session is stored locally under your project. You can list past sessions, show what happened, and resume one to continue. Because long conversations are kept compact, resuming a long session starts from a short summary plus recent work rather than replaying everything. Durable records live at $SQUEEZY_HOME/projects/<project-id>/state/sessions/; the rebuildable project search index is cache/indexes/sessions.db.

squeezy sessions list
squeezy sessions show <session_id>
squeezy sessions resume <session_id>

Memory that carries across sessions

Resuming replays one conversation; memory carries the durable facts between them. Squeezy keeps a small, plain-Markdown memory so a new session already knows how you like to work and what a project is about, without re-learning it each time. It is on by default and lives in files you can read and edit.

Recall is automatic: at session start the memory index is loaded into the model's context. Capture is automatic too, after a substantive turn a cheap background pass distils durable facts into memory, and a quiet ✎ memory: line shows in the transcript when it saves one. You can also be explicit, just say “remember that …” or “forget …”. Run /memory to see everything saved, grouped by scope.

Where a memory lives follows its type. Facts about how you work (user, feedback) are global under $SQUEEZY_HOME/user/memory/ and follow you everywhere; facts about a repository (project, reference) stay under $SQUEEZY_HOME/projects/<project-id>/state/memory/. Each memory is one fact in its own file, listed in a MEMORY.md index.

Memory is for durable preferences and context, not code indexing. It deliberately skips secrets, credentials, personal data, and anything already derivable from your code or git history. Set context.user_memory_max_bytes = 0 to turn it off entirely, or context.memory_auto_extract = false to keep file memory but stop the automatic capture pass.

Cost and context, in view

During a session, /context and /cost show where tokens are going, input, output, cached input, tool output, and reasoning, with dollar estimates where the provider exposes them. This is the same accounting the cost-saving layers are measured against.

Bundles and workspace state

For a handoff, /export writes one session directory with JSON, HTML, a redacted transcript bundle, terminal diagnostics, and a checksum. The default destination is the owning project's artifacts/exports/ directory under $SQUEEZY_HOME. Use /report for a previewed, redacted support archive.

Some state stays with the machine rather than the worktree. A generated repo profile under $SQUEEZY_HOME/projects/<project-id>/cache/repo-profile.toml records compact facts Squeezy detected, languages, build systems, likely commands, so later sessions skip re-exploring the project shape; review it with squeezy repo inspect and refresh it with squeezy repo refresh. Per-workspace UI preferences, density, transcript detail, the minimap pane, and theme, persist the same way, keyed by workspace and restored on the next launch, so they never dirty the repo.

Reporting

When you need help, squeezy sessions report turns a session into a redacted bundle you can preview before sending. See help & troubleshooting for the full reporting flow.

GitHub

Repository access is under construction.

Squeezy's repository is not public yet. The product site and documentation are available here in the meantime.