Home
Softono
Quell

Quell

Open source MIT Rust
34
Stars
2
Forks
2
Issues
1
Watchers
2 months
Last Commit

About Quell

Windows-native terminal proxy that eliminates scroll-jumping and flicker for AI CLI tools. Sits between your terminal and Claude Code, Gemini CLI, or GitHub Copilot. Rust, ConPTY, zero telemetry.

Platforms

Web Self-hosted Windows

Languages

TypeScript Rust

> Quell

CI License: MIT Windows Rust

The terminal that makes Claude Code usable on Windows.

Quell is a standalone terminal built for AI CLI tools. It eliminates the scroll-jumping that makes Claude Code, Copilot CLI, and Gemini CLI unusable in standard terminals — and adds search, themes, tabs, and a command palette on top.

Quell terminal

The Problem

Every AI CLI tool streams output through VT escape sequences. Windows terminals reset the scroll position on every update, causing constant scroll-jumping during long responses. This is the #1 complaint across AI CLI tools, with hundreds of upvotes across multiple issue trackers.

Scroll stability

Two Products, One Engine

Quell GUI Quell CLI
What Standalone terminal application Lightweight terminal proxy
For Everyone Power users
Install Installer (.exe) Portable binary
How Open → pick folder → go quell claude in any terminal
Features Tabs, themes, search, palette, zoom Scroll stability, security filtering

Both share the same Rust engine — the same ConPTY proxy, VT processing pipeline, and security filtering.

Quick Start — GUI

Install

  1. Download Quell_0.2.0_x64-setup.exe from Releases
  2. Run the installer (no admin required — installs to your user profile)
  3. Launch Quell from the Start menu or desktop shortcut
  4. Pick your project folder → Claude Code starts

SmartScreen warning: Windows may show "Windows protected your PC" — click More infoRun anyway. This is standard for unsigned indie software.

Requirements

  • Windows 10 21H2+ or Windows 11 (WebView2 runtime — ships with modern Windows, installer downloads it if missing)
  • An AI CLI tool installed (Claude Code, Copilot CLI, Gemini CLI, etc.)

Quick Start — CLI Proxy

For power users who want scroll stability in their existing terminal without switching to a new app.

Install

  1. Download quell-cli-x64.exe from Releases
  2. Rename to quell.exe and place in a folder on your PATH
  3. Run:
quell claude

Usage

quell claude                    # Run Claude Code through quell
quell gemini                    # Any AI CLI tool works
quell --tool claude my-wrapper  # Explicit tool override
quell --verbose claude          # Debug output

Requirements

  • Windows 10 1809+ (ConPTY support)
  • Windows Terminal 1.25+ for Shift+Enter support (older terminals still work)

GUI Features

Themes

14 built-in themes with full terminal + chrome coordination. Switch instantly via the command palette — color swatches show each theme's palette at a glance, and live preview lets you see every theme before committing.

Theme gallery

Quell Dark · Quell Light · High Contrast · Solarized Dark/Light · Monokai · Nord · Dracula · Tokyo Night · Catppuccin Mocha · Gruvbox Dark · One Dark · Rosé Pine · CVD-Friendly

Search

Ctrl+Shift+F — find text in the terminal buffer with regex, case-sensitive, and whole-word options. Match highlighting adapts to the active theme. Navigate matches with F3 / Shift+F3.

Search

Command Palette

Ctrl+Shift+P — fuzzy search over every action. Switch themes with live preview, open tabs, adjust zoom, toggle search — all from the keyboard. Active settings are marked with visual indicators so you always know the current state.

Command palette

Tabs

Multiple sessions in one window. Each tab is an independent terminal session. Ctrl+Tab to cycle, Ctrl+1-9 to jump directly, double-click to rename.

Tabs

Progress Indicators & Jump to Bottom

A live streaming indicator appears at the bottom of the terminal while Claude Code is actively generating output. When you scroll up to review earlier output, a jump-to-bottom button appears showing how many lines are below — click it to snap back instantly.

Progress indicators and jump to bottom

Zoom

Ctrl+= / Ctrl+- / Ctrl+0 — font size adjusts across the entire UI (terminal, tabs, search bar, palette). Persisted across restarts.

Project Folder Picker

On launch, choose your project folder. New tabs inherit the directory. Switch projects via the palette with "New Tab (Choose Folder)".

Keyboard Shortcuts

Shortcut Action
Ctrl+Shift+P Command palette
Ctrl+Shift+F Search in terminal
Ctrl+Shift+N New tab (same folder)
Ctrl+Tab / Ctrl+Shift+Tab Cycle tabs
Ctrl+1-9 Jump to tab
Ctrl+= / Ctrl+- / Ctrl+0 Zoom in / out / reset
F3 / Shift+F3 Next / previous search match
Ctrl+C Copy (with selection) / SIGINT (without)
Ctrl+V Paste
Ctrl+Shift+C / Ctrl+Shift+V Alternative copy / paste

Security

AI-generated output is untrusted. Quell classifies every VT escape sequence:

Category Action Examples
Blocked Stripped entirely Clipboard access (OSC 52), font queries, terminal device queries
Filtered Sanitized Window titles (control chars stripped), hyperlinks (http/https only)
Validated Sanitized at trust boundary Spawn arguments (flags only), working directory (local paths only)
Allowed Passed through Cursor movement, colors, screen management, sync markers

Content Security Policy enabled. No eval(), no inline scripts. Spawn parameters are validated at the Rust trust boundary — the frontend cannot inject arbitrary commands or network paths.

See SECURITY.md for the full threat model.

Building from Source

Requires Rust (stable toolchain) and Node.js 18+ (for the GUI).

git clone https://github.com/FurbySoup/quell.git
cd quell

# CLI proxy only
cargo build --release -p quell-cli
# Binary at target/release/quell.exe

# GUI app
cd gui/src-frontend && npm install && cd ../src-tauri
cargo tauri build
# Installer at target/release/bundle/nsis/

Configuration

The CLI proxy accepts optional configuration in %APPDATA%\quell\config.toml:

render_delay_ms = 5        # Normal output coalescing (ms)
sync_delay_ms = 50         # Sync block coalescing (ms)
history_lines = 100000     # Scrollback buffer size
log_level = "info"         # trace, debug, info, warn, error
log_file = "C:\\logs\\quell.log"  # Optional — logs to stderr if omitted

The GUI app persists preferences (font size, theme) automatically. CLI flags override config file values — see quell --help.

Troubleshooting — CLI Proxy

quell claude does nothing / not recognized
Your PATH points to the exe file itself instead of the folder containing it. PATH entries must be directories, not files. Move quell.exe into a directory that's already on your PATH, or add the directory (not the file) to PATH.

failed to spawn process (0x80070002)
The child command (claude, gemini, etc.) isn't on your PATH. Run where claude to check. If nothing is found, install the tool first.

Scroll still jumps
Make sure you're on the latest release. Run quell --verbose claude and check the debug output for clues. If the issue persists, open an issue with the verbose log.

Known Limitations

  • Resize during streaming may cause brief visual artifacts from ConPTY's cursor-positioned redraw (microsoft/terminal#14774). Content is not lost — artifacts clear on next output.
  • Emoji picker (Win+.) and IME input may not work through the proxy layer. Workaround: paste via Ctrl+V.
  • Theme colors for child process output — AI tools like Claude Code set their own ANSI colors, which override the terminal theme's palette for their UI elements. The terminal background, chrome, and default text colors always reflect the selected theme.
  • Windows Voice Typing (Win+H) works for short phrases but truncates long continuous sentences. Speak in natural shorter phrases for reliable results. Full voice input support is planned for a future release.

Roadmap

  • Phase 1: CLI proxy — shipped (scroll stability, security filtering, Shift+Enter, diagnostics)
  • Phase 2: GUI terminal — shipped (tabs, copy/paste, session management, architecture hardening)
  • Phase 3.0: First public release — shipped (search, 14 themes with live preview, command palette, security hardening, folder picker)
  • Phase 3.1: Block-based output, session persistence
  • Phase 3.2: Split panes, polish
  • Phase 3.3: Community release — auto-update, code signing, package manifests
  • Phase 4: Plugin marketplace

Getting Help

Found a bug or something not working as expected? Open an issue on GitHub — include your Windows version, what you were doing, and any error messages or verbose logs (quell --verbose claude for CLI, or F12 devtools console for the GUI).

License

MIT