Skip to content

Releases: devincii-io/quickterm

QuickTerm v4.1.1

Choose a tag to compare

@devincii-io devincii-io released this 04 Oct 07:29
7f6c18f

Released 2026-10-04.

Sidebar

  • A workspace with one terminal takes two rows instead of four. The active
    workspace's folder name and save dot sit on its row, and the Explorer and
    VS Code buttons appear there on hover next to Close view and the
    menu. The line under a workspace is used only for the workspace here
    offer, while it is offered.
  • A terminal row is a single line. Its folder follows the name, and under a
    workspace only when the terminal has left the workspace's folder (in
    scratch, the folder it started in).
  • The footer icons are centred; the collapse arrow stays on the right.

Install with QuickTerm-v4.1.1-Setup.exe or unpack the portable ZIP. Verify downloads against SHA256SUMS.txt.

QuickTerm v4.1.0

Choose a tag to compare

@devincii-io devincii-io released this 04 Oct 07:09
dceea77

Released 2026-10-04.

Sidebar

  • Workspaces with no terminal that are not open are hidden. A Show N
    empty workspaces
    line under the list brings them back.
  • A view button next to search sets what the list shows: empty workspaces,
    finished terminals (a finished one that still asks for you always shows),
    grouping by workspace or one list of terminals, and sorting by name or by
    recent activity. Reset view goes back to the default. The button is
    tinted while the view differs from the default, and the choice is kept
    per window.
  • Workspaces are proper rows: an arrow that folds their terminals (pointing
    right when there is nothing inside), the view color and the name. A
    count shows only when there is something to count.
  • Terminals hang under their workspace on a guide line; the active
    workspace's line is in its accent.
  • The search button opens the palette already narrowed to workspaces and
    terminals (@).

Palette

  • Opening the palette selects the first row. Before, rows that arrive a
    moment later (saved workspaces, agent sessions) pushed the first row to
    the bottom and left it selected, so Enter could close a workspace view.
  • Workspaces are listed in the same order as the sidebar, ignoring case.

Install with QuickTerm-v4.1.0-Setup.exe or unpack the portable ZIP. Verify downloads against SHA256SUMS.txt.

QuickTerm v4.0.0

Choose a tag to compare

@devincii-io devincii-io released this 04 Oct 06:48
3cf9a7a

Released 2026-10-04.

Workspaces and sidebar

  • A window no longer has a main workspace. Every workspace, scratch
    included, opens as its own view with its own layout, autosave and close
    button. Closing any view saves it and keeps its terminals running. Closing
    the last one leaves an empty area with a New scratch button.
  • Opening a workspace that is already on screen focuses its view. Otherwise
    the new view takes half of the active one. The sidebar, the palette, the
    Dashboard, quickterm open and Explorer's Open QuickTerm here open or
    focus a view and never swap the workspace inside one. Open QuickTerm
    here
    opens a new scratch view in that folder.
  • The sidebar is one list in a fixed order: every saved workspace in
    alphabetical order, empty ones included, then scratch views, then
    Unassigned. Terminals are sorted by name. A terminal that needs you gets a
    chip and keeps its place.
  • Click a workspace to open or focus it. On hover it offers Close view
    and a menu with Open in new window, Workspace settings and Delete
    workspace. The active workspace shows its folder, the Explorer and VS Code
    buttons and the save dot on a second line.
  • Every live terminal row has Detach and Kill on hover or keyboard
    focus. Kill asks in a small box beside the row. After a click, Cancel has
    the focus; after the Delete key, Kill has it and Enter confirms. A failed
    kill keeps the row, shows the reason and offers Retry.
  • Right-click, Shift+F10 or the menu key on a row offers Open, Move to the
    active workspace, Detach, Rename and Kill. Double-click or F2 renames.
  • Clicking a terminal focuses it where it is shown, opens its workspace when
    that is closed, or moves an Unassigned terminal into the active view.
  • Removed: the "Main window" row, the colored view navigation, the
    "workspace beside" footer button and the strip of terminal choices. The
    floating + in hidden mode no longer drags; it sits 12 px from the top.
  • A view keeps its color across restarts. Closing a scratch view keeps only
    the terminals that are busy or that you typed into. Idle untouched shells
    are left to the idle cleanup, so they no longer keep QuickTerm in the tray.
  • Kill all terminals in the Dashboard closes the killed panes in every
    view of every native window.

Agents: Claude Code and Codex

  • Codex is a terminal type next to Claude Code, under Agents in
    Settings > Terminals > Add. Both use one launch mode setting: new
    conversation, continue latest, choose session and agent manager. Codex
    also has fork a session. Claude Code profiles keep their 3.x mode.
  • Agent profiles have typed options. Claude Code: model, permission mode,
    effort, session name and extra folders, and under Advanced an extra system
    prompt, agent, MCP config, settings file, fork when resuming, verbose and
    connect IDE. Codex: model (suggested from Codex's model cache), approval,
    sandbox, approve for me, bypass approvals and sandbox, reasoning effort,
    web search, config profile and extra folders, and under Advanced worktree,
    inline mode, local model and local provider.
  • The palette lists the workspace folder's recent conversations as "resume
    Claude session: <title>" and "resume Codex session: <title>". Restarting
    such a pane resumes the same conversation. Scratch views list the
    conversations of their own folder. Codex subagent and background threads
    are left out, and a Claude session renamed with /rename shows that name.
  • The palette has a row for every mode of every agent profile, plus "split
    agent view". Splitting an agent manager pane starts a normal conversation
    in the workspace folder. A restored agent pane whose process is gone
    offers Continue latest and Choose session for both agents.
  • When Codex is installed through npm, QuickTerm starts its native
    codex.exe instead of the .cmd shim. For an agent started through a
    .cmd or .bat file, QuickTerm refuses arguments that cmd.exe would
    reinterpret.

SSH

  • SSH and SFTP profiles can use the Windows OpenSSH client next to the
    bundled PuTTY tools. New profiles pick OpenSSH when it is installed.
    Existing profiles keep PuTTY.
  • QuickTerm reads host aliases from ~/.ssh/config. It follows Include and
    skips Match blocks and wildcard hosts. Settings > Terminals > Add has a
    "From ~/.ssh/config" heading with one entry per alias, and the Host field
    suggests aliases. Picking one shows the resolved user, port, key and
    ProxyJump as placeholders. Fill from ~/.ssh/config copies them into
    the fields.
  • OpenSSH profiles take a ProxyJump. QuickTerm refuses a .ppk key with
    OpenSSH, a ProxyJump with PuTTY, and a host or user that starts with "-".
    Without an OpenSSH client the error names the Windows optional feature to
    install. A PuTTY profile whose key is not a .ppk offers Switch to
    OpenSSH
    .

Settings

  • Settings has seven tabs: General, Window, Shortcuts, Terminals, Snippets,
    Advanced and About. The update notification switch moved to Advanced.
  • Terminals and Snippets show a filterable list with the editor beside it.
    Rows mark problems and unsaved changes. Add is a menu grouped into
    Shells, Agents, Remote, From ~/.ssh/config, Devices, Containers and
    Desktop. In a window narrower than 820 px the editor replaces the list and
    has a Back button.
  • One Save stores everything. The footer button, Ctrl+S in Settings and the
    Save button in each editor do the same thing. "Save connection" is gone,
    and Open stays disabled until a terminal is saved.
  • The terminal editor shows name, description and command first, then the
    fields of its type, then launch mode, shortcut and autostart. Arguments,
    environment and the start command are under Advanced.
  • No native drop-down list is left. Every choice opens a QuickTerm menu.

Shortcuts and search

  • Shortcut fields record the keys you press. Esc cancels, Backspace clears.
    Global hotkeys pause while a field records, so a key QuickTerm already
    uses is recorded instead of fired. Letters follow your keyboard layout.
  • A changed summon key or terminal shortcut works as soon as you save, with
    no restart. A key that another program holds is reported beside the field
    and in the Save message. Only host and port still need a restart.
  • A new global shortcut needs Ctrl, Alt or Win. QuickTerm warns about Alt
    keys it uses itself and about the Alt keys shells and agents use.
  • The Shortcuts tab lists the summon key, every terminal's shortcut and the
    in-app keys. Help shows the same key list.
  • A search box at the top of Settings (press / to reach it) finds any
    setting, terminal or snippet, opens its tab and highlights the field.
    Escape clears the box before it closes Settings.
  • The palette (Alt+K) adds "open workspace", "close workspace view", "new
    scratch view", "go to terminal", "setting", "edit terminal", "edit
    snippet" and "kill terminal" rows. "kill terminal" lists the live
    terminals; Enter on one asks once more, Escape goes back.
  • Palette prefixes narrow the list: > actions, @ workspaces and
    terminals, # settings and terminal configs, ! snippets.
  • "load workspace" and "show workspace beside" became "open workspace".
    "attach from another workspace" is now "move terminal here".

Window and overlay

  • Settings > Window sets the default window size, from presets or custom,
    or from Use this window's size. QuickTerm remembers the last size and
    position unless you turn that off, and restores them only when they still
    fit on a monitor. New windows open at the configured size, offset from
    the first one.
  • An optional drop-down overlay turns the summon key into a toggle. The
    window slides in from the top or bottom edge of the monitor under the
    cursor, or of the primary monitor, at the width and height you set. It
    stays on top and hides when another program takes the focus; both are
    settings. Turning the overlay off restores the normal window at the next
    summon.
  • The overlay stays open while QuickTerm opens a link, a folder or an
    elevated terminal. Tray Open shows the overlay when it is on.
  • Sidebar and Settings text keeps at least 4.5:1 contrast on every surface,
    and the sidebar marks focus and state in Windows high contrast mode.

Themes

  • The built-in themes are replaced by 20 schemes taken from their upstream
    sources: Graphite (the house theme, still the default), Catppuccin Mocha
    and Latte, Tokyo Night, Storm and Day, Rosé Pine and Rosé Pine Dawn,
    Kanagawa Wave, Dragon and Lotus, Gruvbox Dark and Light, Everforest and
    Everforest Light, Nord, Dracula, GitHub Dark and Light, and Carbonfox.
    Seven of them are light.
  • The sidebar, Settings and menus take their colors from each theme's own
    editor palette, not only from the terminal. Status colors and the colors
    of workspace views come from the theme's ANSI hues.
  • The theme chooser in Settings > General is a menu grouped into Dark, Light
    and Custom. Every row shows the theme's accent and eight ANSI colors on
    its background.
  • Graphite keeps its sidebar colors. Its terminal colors were rebuilt so
    each row of the ANSI palette has one even lightness.
  • Every color in the stylesheets comes from a theme token. Tests check text
    contrast in every theme and fail on a color literal outside the theme
    definitions.

Upgrading from 3.x

  • config.json upgrades in place. claude_mode becomes agent_mode.
    Claude Code profiles also keep writing claude_mode, so 3.x still knows
    their mode after a downgrade.
  • 3.x cannot read some shortcuts 4.0 records, for example Ctrl+Alt+Minus or
    Ctrl+Alt+Left. 4.0 saves such a key under a field only 4.0 reads and
    leaves the old field empty. After a downgrade 3.x loses that one shortcut
    instead of resetting the whole configuration.
  • A 3.x shortcut without Ctrl, Alt or Win still loads and works. The
    settings history in Settings > About can still restore a v...
Read more

QuickTerm v3.13.0

Choose a tag to compare

@devincii-io devincii-io released this 03 Oct 20:28
95392b3

Released 2026-10-03.

Windows and workspaces

  • Each native window has one sidebar, command palette and settings sheet.
    Workspace views share that sidebar and keep their own terminal layouts.
    Colored view navigation identifies the active workspace separately from
    the native window.
  • New scratch views have independent temporary workspace identities. Opening
    another scratch no longer replaces the workspace you are using. Closing a
    view saves its layout and keeps its terminals running.
  • Workspace folder and logo edits preserve the latest layout and terminal
    ownership. Layout autosaves cannot undo newer metadata edits.

Terminal and connection setup

  • A setup tour introduces windows, workspace views and terminals. Save a
    terminal configuration before launching it; detected shells populate setup,
    not the sidebar's launch menu.
  • Typed forms cover local shells, WSL, Claude Code, custom commands, SSH/SFTP,
    Telnet, serial consoles, Docker, Podman, Kubernetes, Remote Desktop and VNC.
    Desktop connections open their own client windows and never create PTYs.
  • Configure arguments, environment variables, shortcuts and autostart in
    forms. The raw JSON editor is removed.

Settings

  • Saved themes, font defaults, terminals, connections, snippets and app
    preferences refresh other native windows. Sidebar state stays per window;
    text zoom stays per pane until the saved font default changes.
  • Settings saves send only changed fields and reject conflicting stale edits.
    Cancelling a logo draft no longer deletes a previously saved image.
  • The Windows kill regression test launches a detached base interpreter and
    waits for its PID. Python's virtual-environment launcher can no longer
    terminate the intended survivor through its own job object.

Verification limits

  • Remote hosts, container engines, serial hardware and desktop servers were
    not connected during release verification. Their launch arguments and
    validation are covered by tests; real connections remain UNVERIFIED.
  • Windows release binaries remain unsigned and can trigger SmartScreen.

QuickTerm v3.12.0

Choose a tag to compare

@devincii-io devincii-io released this 26 Sep 19:40
feaa42e

Resizing

  • Text no longer breaks apart after you resize a pane or the window. The
    terminal (now xterm.js 6.0) rewraps lines exactly as the Windows console
    does, so a wrapped prompt stays in one piece and PowerShell no longer
    redraws it over the output above.
  • Reopening a window or coming back to a workspace replays each terminal at
    every size it went through, so its history comes back as it was instead of
    scrambled.
  • The terminal scrollbar is xterm's own now; its rail stays visible, and it
    shows no handle while there is nothing to scroll.

Terminals

  • QuickTerm talks to the Windows console directly instead of through
    pywinpty. Characters no longer turn into "?" boxes when they arrive split
    across two reads, an exit shows at once, and the app is about 5 MB smaller.
  • Without PowerShell 7, the list under + and the palette offer to
    install it. winget runs in a new terminal, where you answer its prompts
    and the administrator request yourself; without winget, the download page
    opens. Afterwards PowerShell 7 is in the list.
  • Settings > Default terminal lists every detected shell, so Git Bash, WSL
    or Command Prompt can be the default without a profile. + switches to
    the new default as soon as you save.

Known issue

  • A prompt exactly as wide as the pane, followed by a resize, can still make
    PowerShell redraw it one row too high.

QuickTerm v3.11.0

Choose a tag to compare

@devincii-io devincii-io released this 26 Sep 16:30
9b0fcfe

Terminals that need you

  • A background terminal that rings the bell or sends a notification (Claude
    Code and Codex do this when they wait for an approval or finish a turn)
    gets a "needs you" dot in the sidebar, sorted to the top of its group, with
    the message in the tooltip. It clears when you look at that terminal or
    type into it. A detached terminal that finishes while you are away gets the
    same mark.
  • When no QuickTerm window is in front, the taskbar button flashes; when
    QuickTerm is hidden in the tray, a tray balloon names the terminal. At most
    once per terminal every 30 seconds.
  • The sidebar shows each terminal's current folder, not only the one it
    started in, and it now shows "busy" again.
  • A finished terminal whose output you have not read stays in the sidebar as
    a dimmed row; opening it shows the final output.

Panes

  • An exited terminal has a Restart button; Enter in the exited pane or
    "restart terminal" in the palette does the same. The old output stays above
    a [restarted] line, and the restart repeats the pane's own launch, Claude
    mode included.
  • "broadcast input to all panes in this workspace" in the palette sends what
    you type to every live pane, like tmux's synchronize-panes. It stops on a
    workspace switch or from the palette.
  • "search all terminals..." in the palette searches every terminal's
    scrollback and jumps to the hit.
  • "save terminal output" writes a terminal's scrollback as plain text to
    Downloads\QuickTerm.

Workspaces and settings

  • Workspaces tiled side by side come back after a restart or a reload.
  • Settings > Terminals shows a profile as a name, a command and an optional
    start command; everything else is under "More".
  • Settings > About lists the last 20 saved settings and restores any of them.
  • Ctrl+_ (readline's undo) and Ctrl+Insert reach the terminal again; only
    keys that really type +, - or 0 zoom the text.

Command line

  • quickterm ls, quickterm new [--profile] [--cwd] [--workspace],
    quickterm open WORKSPACE and quickterm send SESSION TEXT [--enter]
    drive the running app. See the README.

Fixes

  • The Explorer handoff poll no longer retries hundreds of times a second
    when the server refuses it.
  • Bash, Zsh and Fish profiles keep their own arguments; the dashboard names
    Git Bash, Nushell, Bash, Zsh and Fish profiles correctly.
  • Menus opened in Settings draw above the sheet.
  • Moving a Claude pane into a new workspace keeps its launch mode.

Under the hood

  • The server is split into route modules (quickterm/api/), the session
    manager into ring, fan-out and reaper modules, and the frontend's
    2,300-line boot() into about twenty modules composed by main.js.
    Nothing about the wire protocol changed.

QuickTerm v3.10.0

Choose a tag to compare

@devincii-io devincii-io released this 26 Sep 13:23
d95c91c

Fixes for the 55 issues filed by the September audit (#9 to #63).

Terminals that stay usable under load

  • On Linux, pasting a lot into a busy program froze every pane, the REST API
    and the WebSocket until the program read its input. The writer no longer
    holds the terminal while it waits.
  • Fast output (yes, a big build) made the Linux viewer reset and replay the
    terminal hundreds of times a second. Output is now collected into large
    chunks as on Windows, and a viewer is only resynchronised once it is 2 MiB
    behind instead of eight reads behind. The throughput benchmark went from
    failing every run to about 55 MB/s.
  • Re-opening a terminal after its scrollback wrapped could print stray
    characters and switch off modes set at startup. Replay now never starts in
    the middle of an escape sequence or a character, and restores bracketed
    paste, the alternate screen, mouse reporting and cursor modes, so a long
    Claude Code session keeps working after a reload or a workspace switch.

Kill, exit and cleanup

  • On Linux, killing a terminal now ends every job in it, including background
    jobs, and a shell that exits while a background job still holds the
    terminal is reported as exited at once.
  • A kill that fails leaves the terminal able to take input.
  • On Windows, a kill is only reported as done when every process of the tree
    is gone.
  • The idle reaper rechecks each terminal right before it stops it, so a
    terminal you open or type into during a cleanup pass survives.
  • A detached terminal that finishes while you are away keeps its final output
    until you open it (up to 24 hours).
  • Automatic replies from the terminal (cursor position, focus reports) no
    longer count as typing, so an untouched shell can be cleaned up and no
    longer keeps QuickTerm in the tray.

Starting terminals

  • A missing program now says which terminal and which command failed, with a
    hint that QuickTerm reads PATH when it starts, instead of "Internal Server
    Error".
  • PowerShell and Command Prompt profiles use the executable the inventory
    found and keep their own arguments. Git Bash and Nushell profiles run their
    start command.
  • Autostart and global-hotkey profiles resolve exactly like terminals started
    from the sidebar, get the PuTTY tools on PATH, and report a failure in the
    error banner instead of failing silently.
  • A profile that sets Path now really replaces PATH on Windows.
  • Linux terminals always advertise TERM=xterm-256color and truecolor.
  • On Windows, QuickTerm no longer runs a taskkill.exe or shell planted in
    the folder "Open QuickTerm here" was used on.

Workspaces, windows and settings

  • "Open QuickTerm here" within 20 seconds of a reload is no longer lost.
  • Deleting a workspace while an autosave is running no longer brings it back.
  • A partial settings save no longer wipes profiles and their secrets, and
    every save keeps the previous file as config.prev.json.
  • Changing the port back to its old value now sticks.
  • A hidden or minimized window keeps its workspace claim.
  • An administrator window keeps its own workspaces and no longer deletes the
    normal window's scratch layout.
  • A corrupt workspace file is set aside as *.invalid-*.json instead of
    becoming an entry that cannot be opened or deleted. Workspace names such as
    con.txt save on Windows 10.
  • A workspace autosave without a logo no longer clears the logo.
  • Settings > General has a Scratch folder field.
  • Splits on Linux open in the pane's real folder instead of a \\host\path
    UNC path.

QuickTerm v3.9.1

Choose a tag to compare

@devincii-io devincii-io released this 06 Sep 07:31
de76fd8

Closing a pane gives its space back

  • Closing a pane in a split (Alt+D, the × button, Alt+W, kill all) left
    the layout broken since 3.9.0: when the first pane went, the splitter took
    two thirds of the window and the survivor kept one third; when the second
    went, a stale splitter and a header stayed on the lone survivor. Neither a
    resize nor waiting repaired it, only the next split did. The leave
    animation now collapses the element it was meant to and redraws the tree
    when it ends.

Zoom you can see and leave

  • Alt+Z dropped the keyboard: the zoomed pane lost focus and the next
    keystrokes went nowhere. The terminal keeps focus now.
  • The zoomed pane keeps its header. Its zoom control turns into ▣ "Show
    all panes" and stays visible without hover; the palette row reads "show
    all panes" while zoomed. Alt+Z on a lone pane says "[only one pane]"
    instead of changing nothing visible.
  • Focusing a hidden pane while zoomed, from the sidebar or with Alt+arrows,
    shows every pane again first instead of putting the keyboard into a
    terminal you cannot see.

Kill from the keyboard

  • Alt+W opens the kill bar with Kill focused; Alt+W or Enter again
    kills, Escape cancels. Clicking Kill in the header still puts Cancel first.
  • Escape cancels the bar from anywhere in the pane, not only while one of its
    buttons has focus.
  • Alt+W on a pane with no running terminal says so.

QuickTerm v3.9.0

Choose a tag to compare

@devincii-io devincii-io released this 06 Sep 00:57
be0adc1

Tile as many workspaces as you want

Workspace views are now leaves of the same split tree as terminal panes. A
new view takes half of the view you asked from, cut along its longer side, so
repeated opens spiral inward the way a tiling window manager places windows.
There is no limit on how many you open. Drag a view by its header onto another
view to dock it on that side or swap the two, drag a divider or use its arrow
keys to resize, zoom to see one view alone, and close to save it and leave its
terminals running. Every view has its own colour, and opening one works from
inside a view too: the sidebar footer, Alt+K, the tile action on a workspace
menu row, or "show ... beside" under a terminal that belongs to another
workspace. Views slide into place.

Menus instead of native selects

The terminal picker and the workspace row are QuickTerm's own menus. The
workspace menu shows each workspace's folder, marks the ones shown in another
view with that view's colour (choosing one focuses the view), and tiles any
other beside the current one from a hover action. Menus walk with the arrows
and typeahead, and hand the keyboard back to the terminal.

A workspace from the folder you are in

When the focused terminal sits outside the workspace folder, the sidebar
offers "workspace here: ". One click makes the folder a workspace
named after it, moves the terminal into it and switches there. A folder that
already is a workspace's root offers "open " and takes the terminal
along.

New terminals tile too

Alt+N cuts the focused pane along its longer side, and splits, closes, moves
and rebalances slide instead of jumping. Splitter drags never animate, and
prefers-reduced-motion turns the motion off.

Install: run QuickTerm-v3.9.0-Setup.exe, or unpack the zip. Both are listed in
SHA256SUMS.txt. The in-app updater in Settings > About picks this release up.

QuickTerm v3.8.0

Choose a tag to compare

@devincii-io devincii-io released this 06 Sep 00:13
8b9bd56

Show two workspaces in one QuickTerm window. Choose two workspaces in the sidebar or show two workspaces… in Alt+K. Each view has its own terminals, sidebar, workspace label, and colored border. Resize the divider, stack the views vertically, or hide the second view without stopping its terminals.

Workspace saves now run in order, including the final page-exit snapshot. Switching saves the outgoing layout before handing over its workspace claim. Closing the second view waits for saving and retains its terminals. Page exit no longer unconditionally kills scratch terminals.

Quitting while a viewer's WebSocket is already closing no longer interrupts server shutdown with a duplicate-close error.

Verified locally on Windows 11 with 392 Python tests, 75 JavaScript tests, native WebView2 input/output and split/zoom in both views, focus and resize checks, save-failure recovery, and close-to-tray. The frozen application passed PTY, WebSocket replay/live/exit, authentication, and dynamic-route smoke checks. All four release files are covered by SHA256SUMS.txt.

The second-view arrangement opens on demand and is not restored at startup. Browser unload delivery remains best-effort; explicit companion close waits for its save. Workspace ownership remains advisory at the authenticated API write boundary.

Download the Setup.exe for installation or the windows-x64.zip for a portable copy. The wheel and source archive are included for Python installations.