blogRelease Notes

GIDE 2.3.0: independent models and a rebuilt chat

GIDE 2.3.0 moves model weights out of the app so updates never re-download them, manages Ornith downloads in the app with resume and verification, and rebuilds the chat around compact tool chips and live thinking.

4 min read

Version
v2.3.0
Type
Major release
Released

GIDE 2.3.0 separates two things that used to be tied together: the app and the models it runs. Model weights now live in their own folder that app updates never touch, and GIDE manages downloads itself. The chat was rebuilt too, so the agent’s work is easier to follow at a glance.

At a glance

  • Models stored outside the app. Upgrading GIDE no longer re-downloads gigabytes of weights.
  • In-app model download. Progress, cancel, resume and SHA-512 verification for Ornith 1.0 9B.
  • @-mention file tokens. Files you mention reach the model exactly once.
  • Tool activity as chips. Reads, searches and edits show as compact chips.
  • Live thinking, per round. A separate thinking block for each round of work, with a live preview.
  • Edits land on real files. The agent never acts on a path or symbol that doesn’t exist.

Models stored outside the app

What changed

GIDE no longer ships .gguf weight files inside the app bundle. Models now live in ~/.gide/models, a directory app updates never touch.

Why it matters

  • Upgrading GIDE no longer re-downloads gigabytes of weights.
  • Switching to a new version of Ornith doesn’t overwrite the one you already have.
  • You can keep several .gguf files on disk and swap between them instantly.

In-app model download

Downloading Ornith 1.0 9B from the model picker is managed entirely by GIDE:

  • real-time progress in GB and percent
  • cancellable, with no partial files left behind
  • resumable from exactly where it stopped
  • verified by SHA-512 before the file is moved into place

A corrupt download is discarded automatically, and the model server starts when the download completes.

DeepSeek via Hugging Face

DeepSeek R1 7B publishes no GGUF weights at a direct download URL. Selecting it now offers two options: open the Hugging Face repository in your browser to choose a GGUF variant, or point GIDE at a model file already on your machine.

Model update badge

When a newer version of an installed model appears in the release manifest, the model picker shows Update available. The upgrade downloads alongside the model that’s running, so generation stays available throughout.

@-mention file tokens

Selecting a file from the @ dropdown now inserts a highlighted token rather than plain text. Hovering shows the full path, Backspace deletes the whole token, and tokens become real attachments when you send, reaching the model exactly once.

GIDE also stopped sending the same file twice. Mention and attachment chips are deduplicated, and the server skips a read_file on a file you already attached. The skip is directory-aware, so attaching utils/index.js never blocks a legitimate read of routes/index.js.

Welcome card and hardware check

With no local model installed and no online provider active, the chat panel shows a Welcome to GIDE card with three direct actions.

When a model can’t run on your machine for lack of VRAM or RAM, GIDE now shows a blocking dialog with the specific reason. It replaces a dismissible toast that was easy to miss.

A rebuilt chat

Tool activity as chips

Reads, searches and edits the agent performs now show as compact chips rather than expanded blocks of tool output. The conversation stays readable at a glance, and the work is still there when you want to look. Session status, such as warm-up and context compaction, is now a notice pill that replaces itself in place instead of piling up in your scrollback.

Live thinking, per round

The thinking block was reworked end to end:

  • a separate block for each round of work
  • a one-line live preview of the current thought while the model is still reasoning
  • smooth expand and collapse that’s fully keyboard accessible
  • reasoning from Private Cloud providers shown in the same block

Scrollbar polish

Scrollbar thumbs are now slim and pill-rounded in every theme, inset so the full-width grab area is kept. Colours still come from each theme’s own tokens.

A more careful agent

Edits land on real files

The agent loop was tightened around a single rule: never act on a path or symbol that doesn’t exist in your repository. Every edit task is matched to an actual file before any change is attempted, imports are resolved against files that really exist, and a wrong path is corrected rather than becoming a dead end that stops the run.

Structured edits by default

The agent now uses the structured edit tool as its default way to change a file. Free-form search-and-replace diff blocks are opt-in. Malformed edit calls are reported instead of silently discarded, and multiple edits to one file apply atomically, so you never end up with half a change applied. Completion is judged on whether the work holds up, not on proxies like how many files were touched.

Fixes

  • Scrolling during a response (macOS). You can now scroll up and read while a reply is still streaming. Returning to the bottom turns auto-follow back on.
  • Chat and streaming. A thinking block no longer stays hidden when it finishes before its content arrives. Chat errors after the first token now show as inline messages. Respond and ask tool calls are no longer discarded when the model leaves out the wrapper object, and the Jellyfish theme no longer paints the scrollbar black on a near-black background.
  • Model server crash on startup. With no .gguf present, the server now starts normally. Local generation is unavailable until a model is installed, while remote models and Private Cloud keep working.
  • Installer publishing. The public installer is now published only after a merge to main, not on every commit to an open pull request.

For the short version of every change, see the GIDE changelog.