support

Help & troubleshooting.

Most questions are answered from inside squeezy, offline and without calling a model. Most bad starts are explained by one command.

contents

contents

Ask squeezy first

In a session, /help lists every topic, grouped: getting started, agent workflow and tools, configuration, models and providers, permissions and sandbox, files and sessions, and the rest. /help <topic> opens one of them. /help /<command> -- /help /report, say -- gives one slash command's purpose, usage, arguments, and worked examples.

A topic or command squeezy recognizes is answered from documentation compiled into the binary. Nothing is fetched and no model is called, so the answer costs nothing and works offline. Three topics -- config, providers, and modes -- also quote the matching parts of your own settings, with credentials and other secret-shaped values masked.

Away from a session, squeezy help prints the same topics at a shell prompt and squeezy help <topic> the same page. Topics you can only act on inside a session are listed separately at the end, so everything above that line is something you can run right now. A name with no page exits non-zero, so a typo in a script does not read as success.

/help                 # every topic, grouped
/help permissions     # one topic
/help /report         # one slash command
squeezy help          # the same pages, at a shell

Questions the index does not answer

Ask /help a question in your own words and it goes to doc-help: a short-lived helper that searches squeezy's own documentation and source code, both compiled into the binary, and then answers. This path uses the Help route -- shared Utility by default -- so before it starts squeezy writes a line into the transcript naming that provider and model, noting that the turn may cost money, and saying what web access will do in this session.

Every answer lists the docs, source files, and links it drew on, then ends with where it came from: a local curated answer, a doc-help model answer, or a doc-help web answer. Those citations are checked: a file against what is actually in the binary, a link against the pages that answer's own run retrieved -- a page it fetched, or a result its own search returned. An address that only appeared inside what a result quoted does not count. An answer that cites nothing, cites a file that does not resolve, or links a page that run never retrieved, is discarded and you get the local answer instead.

Rate the last answer with Ctrl+G for helpful, or Ctrl+R then Shift+D for not helpful. A rating sends one anonymous signal -- the topic name, whether a local or a model answer replied, the verdict, and the version you are running -- and never your question or the answer text. It rides the same channel as the rest of squeezy's telemetry, so turning that off turns ratings off too.

Some questions turn on facts no bundled doc can hold: whether a model has shipped yet, what a provider supports today. doc-help can ground those on a live lookup and cites the URL it used. That path is on by default and gated twice more before it can run: your permission policy must not deny web access, and websearch or webfetch must survive your tool filters. The default policy sets web access to ask, so every lookup stops and asks you first.

help_mode controls how far doc-help can go. The default, model_with_web, permits the permission-gated live lookup described above. model keeps the model on the bundled docs and source, while bundled answers from the local corpus alone and makes no provider call.

[subagents]
help_mode = "model_with_web"  # default; use "model" for no web or "bundled" for no model
# help_route = "help-model"     # a complete Model profile
# help_base_model = "parent"    # advanced alternative on the parent provider

In either model-backed mode, an unset model choice uses the one shared Utility route used by Build, Plan, and Orchestrate. Utility keeps its provider account and model together. It tries an explicit Utility assignment, the Build Provider profile's Utility default, and a known economical model before falling back to the complete Build route.

Set help_route to choose a complete Model profile or an exact Provider-profile model. For the advanced provider-local form, set help_base_model to an exact Base model ID on the parent Provider profile; utility selects shared Utility and parent selects the current coding model. These two overrides are alternatives, so set only one.

When startup looks wrong

In a session, run /doctor. It checks in the background and prints the report into the transcript, against the configuration this session actually resolved. At a shell, squeezy doctor does the same work. Either way you get the verdict on the first line and then one row per check -- ok, a warning, or an error -- with failures sorted to the top. The shell form exits 1 when any check fails and 0 when every check passes or only warns, so a script can gate on it.

The rows cover which settings layers this run merged and in what order, where your settings file lives, which environment variables are overriding a setting, the credential for your configured provider, session and cache storage paths, the code knowledge database, MCP servers, skills, hooks, your session cost cap, and whether the shell sandbox can run on this machine. That is usually enough to spot a missing key, the wrong provider, or a settings file that is not being read. A run that is not clean points you at squeezy help troubleshooting, the offline guide.

--probe adds the live checks, and only the shell form has it. It asks your provider to list its models -- one authenticated request, enough to prove the credential and the base URL reach the service -- and starts every enabled MCP server to confirm it comes up and advertises tools, then shuts them down again. A provider with no model-list endpoint has its stored credential checked instead. The flag is opt-in because it touches the network and launches those servers as child processes. --only <check> narrows the run to one check or one family, and --json emits the whole report for tooling.

/doctor
squeezy doctor
squeezy doctor --only provider --only session_store
squeezy doctor --probe
squeezy doctor --json

Reporting an issue

Three paths, each showing you the contents before anything leaves your machine. /feedback <what happened> sends a short note and nothing more: the sentence you typed, with secret-shaped values masked. /report packages a whole session into a redacted archive -- the one you are in, or an earlier one by id. At a shell, squeezy report <session_id> does the same.

/report asks what happened, collects the available evidence, and lets you review content groups before creating one local ZIP. It never uploads an archive. /feedback remains for suggestions, praise, and comments; its Report a problem action transfers your draft into the diagnostic flow.

/report
squeezy report --latest
squeezy report --startup
squeezy report <session_id> --dry-run
squeezy report <session_id> --exclude conversation --output problem.zip

Share the archive privately with the developer support team using the appropriate channel. It masks secrets but still includes conversation and tool content. The manifest explains missing evidence. Managed reports and logs expire after 30 days by default; an explicit output file is yours to keep.

the contents list reaches every page in the docs
github

Repository access is under construction.

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