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.