Skip to content

Switchback 2.3.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 19:33
· 30 commits to main since this release
Immutable release. Only release title and notes can be modified.

Added

  • Starting from OpenCode reads its newer config format. providers with package and settings.baseURL, a model's modelID, agents' provider/model#variant, the permissions list, and mcp.servers come over like the older provider, permission, and mcp
  • Sampling settings per model. temperature, topP, topK, and body (extra request fields such as vLLM's min_p or chat_template_kwargs) go with every request to that model, on every provider that takes them. Starting from OpenCode brings a model's body over as these, a #variant with its own body as a model of its own, and image input as vision
  • Starting from OpenCode brings its agents and compaction settings. Agents keep their description, prompt, mode, step limit, and model; tools an agent denies are left out of its tool list. compaction's auto, keep.tokens, and buffer become enabled, keepRecent, and threshold
  • Models on your own endpoints show up without running setup again. Each launch asks every OpenAI-compatible provider (vLLM, Ollama, LM Studio, a team's server) what it serves, as it already did for Claude Code and Codex sign-ins, and /models refresh asks right away and says what's new or gone. listModels: false turns this off for one provider
  • /init runs setup inside Switchback. The TUI asks setup's questions in a panel above the prompt, the same ones switchback init asks, and the new config is in use as soon as it's saved. VS Code's /setup is /init too

Changed

  • switchback init opens Switchback on setup, and so does a first run with no config, instead of asking in the terminal before the UI opens. With any answer given as a flag, or --yes, switchback init still asks in the terminal
  • Web search runs without asking. permissions.websearch is a level of its own, default allow: only the query leaves the machine, to the search backend. Fetching a page still asks under permissions.web, and web: deny turns both off
  • The docs tool tells the model that config changes apply live. It used to say they needed a restart, so the model told people to restart when they didn't have to

Install

On macOS and Linux: curl -fsSL https://switchback.sh/install.sh | sh (add -s -- --vscode after sh for the VS Code extension too). On Windows, in PowerShell: irm https://switchback.sh/install.ps1 | iex. Or download the binary for your platform, verify it against SHA256SUMS, make it executable, and put it on your PATH as switchback. Then run switchback init.
Install the VS Code extension from the Marketplace or Open VSX (code --install-extension isaiah-harville.switchback), or from the switchback-vscode-2.3.0-<platform>.vsix here. Each platform's extension includes the engine, so no separate install is needed; the universal .vsix uses switchback from your PATH.

Binaries are not yet signed or notarized (#33). On macOS, clear the quarantine flag with xattr -d com.apple.quarantine switchback.