Skip to content

About

Thrush is a SWE agent: it reads, reasons, and chambers code changes for you

Resources

Stars

63 stars

Watchers

0 watching

Forks

Repository files navigation

Thrush logo

Thrush Desktop 2.1.1

A local desktop workbench for AI coding.
Work through changes with Assist, or give Auto a task and review the result.

Electron 44 Next.js 15 TypeScript 5 SQLite local state Bundled mini-swe-agent

Download for Windows · Desktop guide · Run from source · Validation record

Overview

Thrush brings projects, conversations, file review, and coding agents into one desktop app. It has an English interface and runs in either native Windows or Ubuntu through Windows Subsystem for Linux (WSL).

Mode How you work How changes are handled
Assist Chat with the agent, inspect files, search code, and work through a task step by step. File edits are prepared as drafts for you to approve before they are applied.
Auto Give mini-swe-agent a task, then review its report, diff, logs, and execution history. Each run uses a separate Git working copy (a worktree). Docker is the default execution environment.

Projects and conversations are saved locally. Model requests go to your configured provider. Settings lets you choose a provider, store encrypted API keys, prepare Agent and browser dependencies, and switch execution environments.

Current release: 2.1.1 — Windows 11 x64, internal testing. The installer is unsigned. Signing, automatic updates, and a macOS desktop release are not included.

Get started

  1. Install Thrush. Download Thrush-2.1.1-windows-x64.exe from the 2.1.1 release, run it, and open Thrush from your desktop or Start menu. Windows may display an unknown-publisher warning for this unsigned build.
  2. Complete setup. Choose Windows or a detected Ubuntu WSL environment, configure your model provider and API key, and prepare the dependencies offered by the setup assistant.
  3. Open a project. Start with Assist for an interactive task, or select Auto and resolve its readiness checks before starting a run.

The installer includes Electron, Node, and the Windows and Ubuntu service bundles. You do not need a source checkout or a separate Node installation to launch the app.

What you need

Component When it is needed
Model provider account and API key For model-backed tasks. DeepSeek, OpenAI, and an Anthropic-compatible gateway are configurable.
Git in the selected environment For project Git operations and Auto worktrees. Auto requires a project with no uncommitted changes.
Docker Desktop For the default Docker Auto environment. Enable Ubuntu under Settings → Resources → WSL Integration when using WSL.
Ubuntu WSL Only if you choose WSL execution. Thrush does not install or configure WSL.
GitHub CLI (gh), signed in Only when creating a draft pull request on GitHub.
Project-specific tools As required by the project and its execution environment.

The Anthropic option requires an OpenAI-compatible gateway URL. See the desktop guide for environment setup and dependency details.

Work with Assist or Auto

Assist

Assist can inspect files, search code, read web pages, run allowlisted commands, and propose edits. Review each file draft and approve or discard it in the UI.

Plan → Inspect → Draft → Approve → Verify → Fix if needed → Complete

Assist saves the original task, plan and verification progress. Approving a draft continues the task; “continue” resumes a paused task. Tests do not end a coding task by themselves. See Assist workflow for completion rules and limits.

File tools restrict paths to the active workspace. Allowlisted commands can still run project code; they are not a hardened sandbox.

Auto

Auto checks the project's Git state, the Agent runtime, model configuration, and Docker availability for Docker runs. GitHub readiness is checked separately for optional draft pull requests.

For each run, Thrush:

  1. Creates a branch and a separate Git worktree for the task.
  2. Runs the bundled mini-swe-agent with the selected environment and limits.
  3. Collects a report, file changes, diff, logs, and execution history for review.

The run leaves the files in your original project workspace unchanged. You can cancel a running task; Thrush cleans up its owned Docker containers after completion, failure, cancellation, or timeout.

Publishing is a separate action. After a successful run, review the report and diff, then choose Create Draft PR to open a draft pull request. This requires a GitHub origin remote and a signed-in GitHub CLI. Auto does not publish a pull request on its own.

Local data and environments

Windows and WSL keep separate project histories and databases. Only one environment runs at a time; finish active tasks and dependency preparation before switching.

Environment Default data location
Windows desktop %APPDATA%/Thrush/environments/native
WSL desktop ~/.local/share/thrush/data
Source development data/ in the source checkout

Desktop credentials are encrypted in the app's settings store. History import accepts an old data folder into an empty destination; imported Auto runs are available for review only. See data locations and history import for details.

Release validation and limitations

The 2.1.1 validation record documents live DeepSeek conversations, file tools, edit approvals, Docker Auto repair, cancellation, and timeout cleanup on Windows 11 and WSL Ubuntu 26.04. It also records automated checks, installer checks, and UI review.

Remaining gaps include:

  • Clean Ubuntu 22.04 and 24.04 validation; these are the primary WSL targets, while the recorded live tests used 26.04.
  • WSL browser support on the tested machine, where Chromium still needs additional system libraries.
  • GitHub draft pull request creation from an Auto result, which was not exercised in the recorded live tests.

See the validation record for the complete test scope. Review generated changes before applying or publishing them, and use care with untrusted projects and secrets.

Development and documentation

The browser workflow remains available for source development. The app uses Electron, Next.js, TypeScript, SQLite, and the bundled mini-swe-agent.

Guide Contents
Source development Browser quickstart, model settings, environment variables, local runtime, and checks
Desktop guide Installation, Windows/WSL setup, history import, desktop builds, and packaging
Validation record Recorded 2.1.1 results, known gaps, and reproduction commands
Auto technical design Original Auto architecture and implementation design
Architecture decisions Docker defaults, review before publishing, bundled Agent, and worker design

About

Thrush is a SWE agent: it reads, reasons, and chambers code changes for you

Resources

Stars

63 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages