support

will it work with my stack?

What squeezy supports.

The platforms it runs on, the code it can read, the models you can point it at, and what to do when something goes wrong.

coverage

platforms 3 macOS, Linux, Windows
languages & formats 40+ with local code understanding
providers 27 including any OpenAI-compatible endpoint
platforms · languages · providers · and how to report
platforms

Runs natively on macOS, Linux, and Windows.

Shell commands run inside the sandbox your operating system provides, and squeezy doctor reports the one your machine is actually using. What it enforces differs by platform. On Windows the default tier limits where a command may write and needs no admin rights; full read and network isolation is a stronger tier you turn on once with squeezy doctor --sandbox-setup. The permissions docs say what each tier enforces.

Terminal first, not terminal only. The same agent runs inside editors that speak the Agent Client Protocol (ACP), embeds in your own application through the Rust, TypeScript, and Python SDKs, and runs a single prompt with no interface at all for scripts and CI. The editors, SDKs & CI docs cover all three.

macOS

Native builds for Apple Silicon, from the one-line installer or from Homebrew.

aarch64

Linux

Static binaries for x86_64 and ARM64, from the one-line installer. Homebrew covers x86_64, and a Rust toolchain can build from source instead.

x86_64 + aarch64

Windows

An x86_64 build through winget or a downloadable archive. The sandbox enforces filesystem writes by default; read isolation and network blocking need a one-time elevated setup.

x86_64

The install command for each platform is on /install.

native builds · ARM64 on macOS and Linux, x86_64 on Linux and Windows
languages

40+ languages and formats get local code understanding.

For these, squeezy reads your repository on your machine and navigates it by structure: where something is declared, what calls it, what a change touches. The general-purpose languages are below, and they are the ones the benchmark measures. Markup, configuration, and documentation formats are covered too. Files outside the set still work through search, targeted reads, and the build and test commands you already run.

Python

Packages, imports, classes, functions, decorators, and inheritance.

JavaScript

ES modules, CommonJS, functions, classes, exports, and JSX.

TypeScript

Types, interfaces, imports, generics, classes, and TSX.

Java

Packages, Maven/Gradle projects, classes, members, and inheritance.

Go

Modules, packages, structs, interfaces, receivers, imports, and tests.

Rust

Cargo workspaces, crates, traits, impls, modules, and tests.

C#

Solutions, namespaces, usings, partial types, attributes, and members.

C++

Headers, namespaces, classes, templates, methods, and overload-heavy code.

C

Headers, includes, structs, functions, typedefs, macros, and references.

Ruby

Classes, modules, mixins, singleton methods, accessors, and require paths.

PHP

Namespaces, Composer-style code, traits, enums, attributes, and methods.

Swift

SwiftPM modules with enforced visibility, protocols, actors, structs, extensions, and property wrappers.

Kotlin

Packages, Gradle projects, classes, objects, companions, and extensions.

Scala

Packages, traits, objects, case classes, enums, and extension methods.

Dart

Pubspec package identity, libraries, parts, classes, mixins, extensions, and named arguments in Flutter-style projects.

And 26 more, including HTML, CSS, YAML, SQL, Protobuf, HCL/Terraform, and Markdown. The full list, grouped, is in the language docs.

files outside the set still work through search and targeted reads
providers

Bring your own model.

Point squeezy at any of 27 providers: vendor APIs and subscription sign-ins, aggregators that put many models behind one key, cloud platforms and dedicated model hosts, and runtimes on your own machine. One of them is a generic preset you point at any endpoint that speaks the OpenAI chat-completions API. squeezy reads your key from an environment variable, or from an owner-only file in its own folder on your machine.

Vendor APIs & subscriptions

OpenAI, Anthropic, and Google Gemini API by API key. A ChatGPT or GitHub Copilot subscription signs in instead of billing a key.

API key or sign-in

Aggregators & gateways

One key, many models: OpenRouter, Vercel AI Gateway, PortKey, and Cloudflare AI Gateway.

one key, many models

Cloud platforms & model hosts

Your cloud's own credentials on AWS Bedrock, Azure OpenAI, and Google Vertex AI. Dedicated hosts: Groq, Cerebras, DeepSeek, Together AI, Fireworks AI, DeepInfra, Baseten, Mistral AI, xAI, and Cloudflare Workers AI.

cloud credentials or API key

Local & custom

Run locally with Ollama, LM Studio, vLLM, or llama.cpp, or point the OpenAI-compatible preset at any other endpoint.

local or custom

The environment variable or sign-in each provider uses is in the provider docs.

keys and credentials stay on your machine
diagnostics

Report a problem from where it happened.

squeezy builds the report itself, so your version, your platform, and what actually ran arrive with it. Each path is built on your machine and shown to you first. Nothing is uploaded until you send it.

If squeezy will not start at all, run squeezy doctor first. It checks your settings, providers, storage, and sandbox, and prints one line per check: what passed, what warned, and what failed.

quick note

/feedback

For confusing wording, a rough edge, or a feature request. It sends the note you typed and nothing from the session: no transcript, no files. Secret-shaped values in the note are masked, and the send stays locked until you have read the exact outgoing text to the end.

current session

/report

For a run that failed or answered badly. squeezy packs the session into an archive on your machine, then lists every part of it with its size and how many values were masked. Choose Create archive, then share the ZIP privately with the developer support team using the appropriate channel. Nothing is uploaded.

past session

squeezy report

For a saved Session or a startup failure. Use --latest for the latest Session or --startup without opening a Session. --dry-run prints the same listing and writes nothing. With no flag the archive is written to a file and its path printed, which is the copy you attach to a ticket yourself.

the report flow

in order
/feedback the /cost panel confused me
/feedback send

/report

squeezy sessions list
squeezy report <session_id> --dry-run
squeezy report <session_id> --output problem.zip
before you send

Review the archive and share it privately.

The archive includes your conversation and tool activity with secret-shaped values masked. Use the interactive content groups or --exclude conversation to leave content out. The manifest explains missing evidence. Share the ZIP privately with the developer support team using the appropriate channel. Managed reports, diagnostic logs, and inactive Session history expire after 30 days by default; a file saved to an explicit output path is yours to keep.

/feedback · /report · squeezy report
github

Repository access is under construction.

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