Changelog
All notable user-facing changes to TermHQ, newest first. This file is rendered directly at termhq.dev/changelog.
Format follows Keep a Changelog; versions follow Semantic Versioning.
Unreleased
Nothing yet.
0.3.2 — 2026-11-01
Added
- Download a file from a server workspace. In a server workspace, a file’s menu in the Files panel has Download…. Choose where it goes on this computer, follow its progress or Cancel it, then Show it once it says Saved. Several downloads wait their turn in a transfers list. A canceled or failed download leaves nothing behind, a file it would have replaced stays as it was, and a file that changes while it downloads stops the download rather than arriving half old and half new.
- Copies reach this computer. When a program copies text through the terminal (the OSC 52 sequence, which Claude Code and many editors use), the text lands on this computer’s clipboard. That includes programs in a server workspace or an SSH session, whose copies used to stay on the other computer. Programs can’t read your clipboard this way.
- A server keeps its own settings. In a server workspace, the default folder, default shell, favorite folders and worktree roots are that computer’s own and are saved there. Every computer that connects sees the same ones, and a favorite starred from one is there on the next.
- Manage another computer’s workspaces. From the workspace picker, rename a paired computer’s workspaces, close them in the background, or delete them. Deleting one that is open asks first, then closes its window. Opening one that is open somewhere else asks on its row: Move it here?
- See who is connected. Settings → Remote → Paired computers shows which computer has windows open on this one, and Disconnect closes them while keeping the pairing. You can also give a paired computer a name of your own.
- The server chip. A server workspace’s title bar is tinted and names its computer. Click the name for that computer’s system, address and TermHQ version, and since when you’ve been connected.
- Messages show up where they land. When one agent messages another, the first line appears for a moment under the receiving pane’s header, with the pane it came from. Not yet in server workspaces.
- Read receipts for agents.
termhq messagesays how many messages are waiting unread in that pane, andtermhq panesshows each terminal’s unread count, so an agent can tell whether the other one has picked up its message.
Changed
- Settings → Remote has two tabs, Share this computer and Connect to others. Pairing opens a sheet that ends on a receipt naming the computer you paired.
- When a server workspace’s computer goes away, the window turns gray and stops taking input, and a line at its foot says what happened and since when. TermHQ keeps reconnecting, and the window is back the moment the computer is.
- Remote errors say what happened. The workspace picker tells a computer that Turned away this one (it was removed there, or runs another version) from one that is Not sharing, Not found on the network, or out of reach, each with what to do about it. An expired pairing code says it expired, and a computer whose identity changed since pairing says so instead of blaming this one.
- Agent approval cards show the pane a request is for. A request that types, starts, closes or changes something says so in a label and gets a warning edge. Several requests stack into one card with a count. Starting an agent shows the exact command, flags included, and the new pane says which pane started it. Don’t ask again lets one pane keep typing into, messaging or reading another until either closes.
- Settings → MCP says in one sentence what agents may do. An agent shows as connected only once it has actually called. Tools fold into groups, each tool’s setting is a chip with a menu, and recent activity updates live, names who asked and how it went, and filters to what asked you or what was refused, by agent.
termhq waitrunning out isn’t a failure. It exits with code 4, and an agent gets it as an answer ending on the pane’s last lines, not as an error.termhq new --agentsays which command it started.
Fixed
- Long prompts to Codex arrived unsent.
termhq send --enter, and the agents’sendtool, now wait until the program has taken the pasted text in before pressing Enter. Before, the Enter could land inside a long paste and the prompt sat in Codex’s composer. - A server workspace started terminals in this computer’s folders, which the other computer doesn’t have. It uses that computer’s own now.
- A server workspace opened while its computer didn’t answer stayed blank and couldn’t be closed. It opens and waits for the computer instead.
- A computer that turned this one away read as unreachable, and its window kept reconnecting with no reason given.
- Last connected in Settings → Remote never moved after pairing.
- Settings → MCP’s recent activity named agents by their command (“codex”) rather than by name, broke an agent’s setup command across lines, and wrote Git Bash folders with forward slashes.
Notes
- Remote workspaces: 0.3.1 and 0.3.2 connect to each other. Downloads, a server’s own settings and managing its workspaces need 0.3.2 on the computer you connect to, and are off until it has it.
0.3.1 — 2026-10-26
Added
- Let agents use TermHQ. Coding agents such as Claude Code and Codex can now see and work your panes: list them, read what a terminal shows, type into one, open files and web pages, start new terminals and agents, and ask you a question. Connect them in Settings → MCP → Connect agents, one click each; sessions started after that have the tools. Other agents that speak MCP take the snippet on the same page. See Letting agents use TermHQ.
- You decide what agents may do. Settings → MCP sets every tool to Allowed, Ask first or Off, with three presets and a switch that turns agents’ access off entirely. Out of the box, agents may look around, show you things and message each other, and ask first before they type into a pane, start or close anything, or change a workspace.
- Agents ask on a card. A tool set to Ask first shows a card in TermHQ saying which agent asks, what it wants to do and where, with the full text of anything it would type. The card never takes your keyboard, Enter never approves, and unanswered it denies at the time it shows. Always allow sets that tool to Allowed.
- Agents working together. Agents in different panes can leave each other messages without typing into each other’s panes, keep notes the whole workspace shares, and mark the files they are editing so others leave them alone.
- The
termhqcommand. Every terminal TermHQ opens has it, for scripts and for you:termhq panes,termhq read 3,termhq send 3 "npm test" --enter,termhq open src/app.ts:12. Withgit config core.editor "termhq open --wait", a commit message opens as an editor tab. - Recent activity. Settings → MCP lists the latest requests from agents and how each ended, and opens the full activity log.
- Duplicate starts the agent too. Duplicating a terminal with an agent running in it starts the same agent in the copy, as a fresh session from its launcher. Turn it off in Settings → General → Clone starts the agent too.
Changed
- One agent to a pane. The agent menu in a terminal’s header, the run-an-agent-by-number shortcut and the command palette’s Run entries no longer type into a pane an agent is already running in; the pane says Claude Code is already running in this pane instead. A second launch used to open a new pane.
Notes
- Remote workspaces: TermHQ 0.3.0 and 0.3.1 can’t connect to each other, and the connection is refused with a message naming both versions. Update both computers.
0.3.0 — 2026-10-25
Added
- Remote workspaces (preview). Open another computer’s workspaces in windows on this one. The terminals, agents, Source Control, Files panel and editor files in them stay on that computer, so they keep running when you close the window or step away. On the computer to share, turn on Settings → Remote → Let other computers connect (Preview) and choose Pair a computer. On the other, enter its address and the one-time code under Add a computer. Its workspaces then appear in your workspace picker under its name. Works between Windows and macOS in either direction, on the same network, with TermHQ 0.3.0 or later on both computers. See Remote workspaces.
- Source Control for repositories inside WSL. A WSL terminal in a Linux
folder such as
/home/…now gets the full Source Control panel, run with that distribution’s own git. The Files panel’s ignored-file names and the Worktrees view work there too. A distribution without git says to install it there. - Agent icons in WSL panes. Recognized agents running in a WSL bash pane show their product icon, as they do in Windows shells. A pane sitting at its prompt is not checked at all.
- Ask before pasting the same large paste twice. Pasting the same text over 5 KiB into the same pane within 10 seconds asks Paste this again? first, with Cancel focused, so a second paste does not queue behind one a program is still taking in. Smaller pastes never ask. Turn it off in Settings → Terminal → Ask before pasting a large paste twice.
- Dictate into other apps (opt-in preview). Settings → Voice → Floating voice widget (Preview), off by default, adds a button beside the title bar’s mic that opens a small floating recorder. Focus a text field in another application, choose Record, then Stop & insert. It uses your local speech model, nothing is submitted for you, and Copy keeps the transcript when a field cannot take it. On macOS, inserting text needs Accessibility permission.
Changed
- Terminal find starts from the newest output. Typing lands on the most recent match, and Enter walks back to older ones, as in Windows Terminal; Shift+Enter goes forward again.
- Find counts every match and lights the ones you can see. The count stays exact up to 20,000 matches, and the 1,000 matches nearest the view are highlighted, so the newest output of a long scrollback is lit too.
- Find says when it can only see the screen. In a full-screen program, which has no scrollback, the count reads on screen, and None on screen instead of No results.
Fixed
- Find keeps its place while an agent streams output: the count and highlights refresh as output arrives, the current match stays on its text instead of jumping to the newest one, and the view no longer moves on its own.
- Find no longer misses matches in lines a program redrew in place.
- Find highlights blend the theme’s selection color onto the terminal background, so text on a highlight stays readable with either renderer, instead of turning pale or solid white.
- Highlight blocks no longer stay painted in a full-screen program after find has cleared them.
- Git Bash installed for your user only, in
%LOCALAPPDATA%\Programs\Gitwhere Git for Windows’ per-user installer and PortableGit put it, now appears in the shell list. So does a Git for Windows found throughgiton yourPATH. - A new terminal opened beside a browser pane keeps the keyboard, instead of losing it to the page while the grid rearranges.
Notes
- Remote workspaces are a preview. They work on a local network only, Linux is not supported yet, and editors in a server workspace have no language servers. A workspace is open on one computer at a time: opening it on another moves it there, and its shells keep running.
0.2.15 — 2026-10-03
Added
- Move a pane with the keyboard. Ctrl+Shift+M (Cmd+Shift+M on macOS) opens the workspace destination picker for the focused terminal or editor. Reassign or disable the shortcut in Settings → Shortcuts.
Changed
- Move into a saved or new workspace. The pane’s Move to workspace… menu is available even when only one workspace is open. Choose a saved destination, or type a new name and choose Create & move. New destinations start with the moved pane alone, and a failed launch can be retried without creating duplicate workspaces.
- The move picker identifies the source pane by its icon, type and current title, including the icon of a running agent. Long titles truncate neatly, with the full name on hover.
Fixed
- Terminals retain their last complete frame while grid dividers are dragged, preventing flashes when a CLI pauses its screen updates.
- Codex icons are detected on Windows when Git Bash’s npm launcher exits before the agent does.
- Editor header menus keep the chosen move action through a click, and the move picker’s close button remains visible.
0.2.14 — 2026-10-03
Added
- Choose where new terminals start. Settings → General → Default terminal folder applies across workspaces, including the first terminal at launch. Leave it unset to keep the home-folder default. Favorites, restored terminals and other actions that choose a specific folder keep that destination.
- Export and import settings. Save your preferences to a JSON file from Settings → General → Import and export. Imports are checked and ask before applying; settings absent from the file stay as they are. Workspaces, theme files, backgrounds, icon packs and speech models are not included.
- See which local agent is running. Recognized agents show their product icon in terminal headers, Stash, Waiting and Undo Close, including agents started by typing their command. Icons follow the running agent and clear after it exits. GitHub Copilot’s native installations are recognized too. Settings → Agents → Show active agent icons controls the feature.
Fixed
- Background images no longer leave opaque patches behind dim or italic terminal text. Deliberate terminal background colors and selections remain visible. Improve text contrast, under Appearance → Background, helps faint text stand out; turn it off to keep the exact colors chosen by a CLI.
0.2.13 — 2026-10-02
Changed
- Windows updates skip the setup window. After you choose Update and restart and finish any save or running-terminal prompts, TermHQ installs the update silently and reopens. Initial downloads still show the normal installer. This applies to updates started from v0.2.13 or later.
Fixed
- Updates no longer mistake terminal connections for extra TermHQ windows. This fixes the other TermHQ windows still open message appearing even after every other window was closed. Real open windows still get their save prompts before an update can proceed.
- A quick update restart returns to the workspace you were using, even when a last-moment save left it marked as open by the app that just quit.
If an older version blocks this update with that message, finish your running work, save your files, close TermHQ and install the latest download over your existing copy. Your settings and saved workspaces are preserved.
0.2.12 — 2026-10-02
Added
- Move a running pane to another workspace. Right-click a terminal or editor header and choose Move to workspace…, then pick another open workspace. Terminals and SSH connections keep running; editors carry their tabs and unsaved text. Search, arrow keys and Enter work throughout the picker, with the same opening, filtering and closing animations as the workspace picker. The option appears only when another workspace is open. Browser panes stay in their current workspace.
- Favorite folders have a first run. The star in the title bar is always there. With no favorites saved, it opens Add favorite folders: choose folders, drop them in, or pick from this window’s open terminal folders. The empty start panel and the favorites shortcut open it too. Navigate with the keyboard, filter a long suggestion list, and save your selection with Add favorites.
- Close a workspace window from the picker. Highlight an open workspace and press Ctrl+W (⌘W on macOS). Its shells keep running when Keep shells running after close is on. Closing this window asks first; Settings → Workspaces → Ask before closing this window from the picker turns that question off. Unsaved editor files still get their own question.
- A command palette button beside Settings opens every action by name without having to learn its shortcut first.
Changed
- Typing responds sooner. Terminal output after a quiet spell reaches the pane sooner. With Hold to talk enabled, a tapped character appears on the press; holding the key takes that character back when recording starts.
- Large pastes ask first. Pastes over 5 KiB show their size and offer Cancel or Paste anyway. Don’t ask again explains the change and asks you to confirm it; Settings → Terminal → Warn before large pastes controls the same option. Multi-line confirmation stays separate and off by default. Dictation does not trigger either paste question.
- Pickers keep their place. The favorites setup keeps a steady height while folders are added or removed, preserves keyboard focus, and shows what Enter and Escape will do. The workspace picker’s key hints animate as its available actions change. Both follow the app’s motion preference and system reduced motion.
Fixed
- Changing a theme or another shared setting in one workspace now reaches the other open workspaces immediately.
- Dictating silence reports No speech detected instead of Transcription failed.
- Confirmation questions leave the title bar’s window controls and dragging available.
- A lone pane’s header no longer starts a drag with nowhere to move it.
- A favorite’s right-click menu opens above the favorites picker.
- Short paths no longer show a gap after the drive in favorites and worktree lists, and the favorites setup displays paths in their normal order.
- Keyboard focus and selection stay inside the favorites setup after clicks or removing a folder. Ctrl+Enter (⌘+Enter) selects or clears the suggested folders shown; saving remains a separate action.
Notes
- Moving a terminal restores its recent output; older scrollback is not carried over. Moving an editor keeps its text and tabs but starts a new undo history. A conflicting copy of a file in the destination, or a destination that cannot accept the move, leaves the source pane in place.
0.2.11 — 2026-09-29
Added
- Links in the terminal open. Ctrl+click (⌘+click on macOS) a link a program prints, such as a file Claude Code just edited, and TermHQ opens it: a file in its default app, a folder in the file manager. Add Shift to reveal the file instead. A program or script is only ever revealed, and hovering a link shows where it really leads.
- Cursor in other panes. Panes the keyboard isn’t in now show no cursor, as in Windows Terminal. Settings → Terminal → Cursor in other panes brings the outline back.
- Leave out checkouts git can’t read. The worktrees view’s warning offers Stop scanning these, and those folders are skipped from then on. Settings → Git → Worktree roots lists them under Not scanned, each with Scan again.
- The worktrees first run works from the keyboard. The arrow keys walk the suggested folders and the buttons, Enter or Space checks a folder, Ctrl+Enter (⌘+Enter) tracks the checked ones, and Esc is Not now.
Changed
- “Waiting” is only for panes you can’t see. A pane counts as waiting only while it’s hidden behind a maximized pane or parked on the stash shelf. A pane on screen never does, focused or not. Leaving the maximized pane clears the grid’s waiting notices, and opening the stash shelf clears the stashed ones.
- Error notices leave on their own. A notice in the status bar with nothing to retry, such as a dictation error, drains a bar along its edge and goes away after 8 seconds. Hover to keep it while you read. A notice with Retry stays until you use or dismiss it.
- Paste goes straight in. No confirmation card by default, and no receipt after a copy. Settings → Terminal → Confirm multi-line pastes turns the confirmation back on. Pastes of several megabytes arrive whole, and a big paste into one pane no longer holds up typing in the others.
- Programs that use the mouse keep it. In full-screen Claude Code, Codex, vim or tmux, a right-click belongs to the program. Hold Shift (Option on macOS) to use TermHQ’s own selection instead: it stays up while the pointer moves, and Shift+right-click, Ctrl+Shift+C or Ctrl+C copies it.
- The cursor holds steady while a program works, and blinks again when the pane goes quiet.
- The worktrees view’s warnings fold into one line saying how many checkouts couldn’t be read. Open it for each folder and a plain reason, with the fix for git’s ownership check stated once. × hides it until the list changes.
- Long names fit. In the worktrees view and the favorites picker, a long path gives way from its start and keeps its folder’s name, and the whole path is in the tooltip. The selected worktree scrolls a cut branch or path so you can read all of it.
- The backdrop blur and darkness also sit under the worktrees view, History and Git diffs, and their settings say so.
- The bundled Windows console host is updated to Microsoft’s 1.24 release.
Fixed
- In full-screen Claude Code, one right-click copied and pasted at the same time.
- A Ctrl+click on a link in full-screen Claude Code opened it twice.
- The cursor stopped blinking for good five minutes after you clicked into a pane, until you clicked away and back.
- With the update’s “restart now?” question up, a shortcut could open the worktrees view, Settings or the command palette over it, and then the question took no clicks. Escape closed the view underneath instead of answering it.
- Opening the worktrees view from inside Settings could leave several copies of it on screen that nothing would close.
- The title bar’s Reset pane sizes resized the grid behind a maximized pane.
0.2.10 — 2026-09-28
Added
- History shows any branch. A branch button beside History’s title lists your local and remote branches. Pick one to read its history, and search follows it. Nothing is checked out: back to returns to the branch you’re on, and History always opens there.
- Settings search takes you to the setting. Typing lists the matching settings under the field, each with its place, such as Terminal › Text. Enter or a click opens its page, unfolds its section if it was folded, and flashes it.
- Reset Appearance. Once anything on Settings → Appearance differs from how TermHQ ships, the page ends with a Reset Appearance button. It says what it will put back and asks first. Themes, backgrounds and icon packs stay installed.
- Backdrop blur and darkness. The window behind softens and dims while the command palette, the workspace picker, Settings, the worktrees view, History or a Git diff is open. Settings → Appearance → Backdrop blur and Backdrop darkness set how much.
- Moving between panes in fullscreen. While a pane is maximized, the focus shortcuts step to the next pane in that direction, and a small map of the grid shows where you are. Settings → Appearance → Move between panes in fullscreen turns it off.
- Muse Code, Hermes Agent and OpenClaw join the agent launchers, each checked before it’s listed. Settings → Agents now sorts the agents it found and the ones you added. Built-in ones it didn’t find wait in a folded list and join when you install them, and Restore removed agents brings back one you removed.
- Open in IDE finds your editors. Settings → Agents offers the supported editors installed on this computer, each with its mark. Automatic uses the first one found, an editor you pick stays picked, and your own command still works.
- A first run for the worktrees view. With no folders to track yet, its shortcut suggests your favorites that hold checkouts, or lets you choose a folder, then scans them and shows what it found.
- Files: Open the Files panel in the command palette, the twin of Git: Open the Git panel.
Changed
- The command palette opens over a softened backdrop and splits its results into scopes: All, Commands, Git, Panes, Themes and Workspaces. Tab moves between them. Ctrl+D (⌘+D on macOS) shows a details pane: what a command does, its shortcut, why it can’t run right now, or a theme in its own colors. Panes lists your open panes and takes you to one.
- The workspace picker searches first. Type to find a workspace by name or folder; a name nobody has makes a new workspace. Rows show folders, pane counts and when each was last used. F2 renames, Del deletes with an Undo, and deleting the workspace you’re in says clearly what closes and what’s lost before anything happens.
- The worktrees view is rebuilt. Each repository is a card with its worktrees beneath, a dot marks uncommitted changes, and a details pane shows the branch, how far it is from its upstream, its status and its recent commits. Right-click a row for its actions, or a card’s header for New worktree…, made in place. Ctrl+R (⌘+R) refreshes.
- Settings, History and Git diffs open and close like the command palette, rising into place and fading away. With Animate panes off or reduced motion on, they simply appear.
- The title bar keeps working under any dialog. Minimize, maximize and close stay live, and the bar still drags the window.
- Git speaks plainly. A pull that can’t fast-forward says both sides moved and offers Pull with rebase. A force push stopped by its safety check says nothing was overwritten. A conflict names the files and points to Merge Changes. A leftover lock file says another git process is busy, and a remote that can’t be reached says why.
- The terminal’s scrollbar matches the rest of the app: a slim, rounded thumb that shows while there’s something to scroll back to.
- The undo list and the waiting panes in the status bar look and work like the stash shelf’s list, and each undo row drains its countdown. Rows fade out as they leave, and a long name scrolls on the highlighted row so you can read all of it.
- A maximized pane holds the layout still. The commands that switch layouts or reset pane sizes don’t run while a pane is maximized, and the command palette says why. Dragging a pane’s header does nothing while one is maximized.
- On macOS, in fullscreen, the title bar’s items slide into the room the window buttons leave.
Fixed
- Choosing Git: Commit, Git: Switch Branch or Git: Stash Changes in the command palette sent your typing to the terminal instead of the Git panel.
- A Git error’s recovery buttons, such as Pull with rebase, could act on another repository if the panel had moved on. They act where the action ran.
- A bare repository showed the previous repository’s state under an error. It’s named as a bare repository now.
- History offered no open on github.com link for a remote added in a terminal until you left the repository and came back.
- A brand-new repository offered Publish before its first commit, which could only fail.
- An agent installed while TermHQ was open wasn’t found, or couldn’t launch in a terminal opened before the install. The refresh button in Settings → Agents finds it, and it launches from older terminals too.
- In a large grid that scrolls, a browser page trailed its pane, and a pane scrolled partly out of view squeezed its page into the visible strip. The page now moves with its pane, cropped where it really is, and a click brings the pane into view.
- Swapping panes from the keyboard sometimes had no animation when a browser page had only just loaded.
- On macOS, entering native fullscreen left the keyboard nowhere: shortcuts did nothing and every key beeped.
- On macOS, ⌘+W inside a web page could close the whole window, or close several panes after a delay. It closes that one pane.
- Typing could land in the terminal you used last while a browser pane was selected.
0.2.9 — 2026-09-25
Added
- Gemini CLI, GitHub Copilot CLI and Cursor CLI join the agent launchers,
each with its own product mark. Because a program name alone can belong to
something else (
agentis also Grok’s, andcopilotis also AWS’s), TermHQ asks each one for its help text before listing it, and Settings → Agents marks one that doesn’t match as not verified, with the reason. Your own launchers keep their commands, flags and order. The new ones are added to them once, and one you remove stays removed. - Agents you install while TermHQ is open are found. The list is checked
again when the window comes back to the front, when Settings or the agent
picker opens, and with the refresh button in Settings → Agents. On Windows this
includes folders an installer has just added to your
PATH. - Dictation into web pages. Start dictating over a browser pane and the words go into the text field the page has focused, typed the way the page expects typing, so its own undo and autosave see them. A page with nothing to type into says so before the microphone opens.
- Startup reports. Each time the app starts, it sends one anonymous report saying it started, on which operating system (Windows, macOS or Linux), and which version of TermHQ, so we can estimate how many people use TermHQ and how quickly they update. It contains nothing else: no account, no device ID, no hardware details, no terminal content, no workspace data. Turn it off under Settings → General → Privacy → Send startup reports. Turning it off sends nothing, and it stays off. See Under the hood.
- A middle click closes things, as on a browser tab: a pane, on its header, and a stashed pane, on its row in the stash shelf.
- Settings → Git → Counts beside the branch in the status bar, on by default. Off, the status bar shows the branch alone. Its tooltip and the Git panel still show the counts.
Changed
- The stash shelf is a list. Each parked pane has a row saying what it is and where: the terminal’s folder, the page’s address, the editor’s file. Panes waiting on you lead the list and glow. Restore all and Close all sit at its foot. Closing a row slides it out and keeps the list open, so you can close several in a row. Past eight panes a filter appears. The keyboard starts on the first row, the arrows loop through the filter, the rows and the foot, and typing filters the list. Any other shortcut puts the list away and then does its job.
- Closing or stashing a pane keeps your place. The pane that moves into its cell takes the keyboard. If the grid loses a column or a row, the pane in the same corner does.
- The branch in the status bar says what its numbers count. Changed files have a dot in your theme’s color, and commits to push and pull have the same arrows as the Git panel’s buttons.
- The Git tab outside a repository names the folder and offers Initialize repository… as its main button. It still asks first, and the question now starts on Cancel, so an accidental click and Enter do nothing.
- Deleting a workspace that’s open in another window now closes that window first, instead of refusing.
- The workspace picker opens on your most recent other workspace, so opening it and pressing Enter switches to it.
- Default comes first in both theme lists. In the terminal theme list it follows Match app theme.
- The Files panel no longer flashes “reading…” when you switch terminals. A folder that takes more than five seconds to read says so, and shows placeholder rows while it waits.
- Zooming an editor shows its new size, as zooming a terminal does.
- Browser panes move more smoothly. A page keeps up with its pane while the window, a pane border or the sidebar is being resized. Every pane motion starts smoothly instead of with a jump, and switching between Grid and Columns glides. On macOS a moving or covered page now shows a still of itself instead of a blank frame, and its bottom corners follow the pane’s rounded edge.
- The focus shortcuts move you off a browser pane from its address bar and its find bar, as they do from the page.
Fixed
- A workspace window brought up from the picker or the taskbar’s jump list could sink behind the window you switched from. It stays in front now.
- A new, empty browser pane lost its “Type an address above to get started” prompt and showed a loading placeholder that never finished.
- Opening the command palette or another launcher over Settings canceled a speech-model download without asking. It asks first, as closing Settings does.
- Clicking the mic while typing in a text field moved the keyboard to the terminal until the words arrived. It stays in the field.
- A custom agent whose name merely contained another’s, such as
my-codex-helper, wore that agent’s mark.
0.2.8 — 2026-09-24
Added
- SSH panes. Turn them on under Settings → SSH, and Connect via SSH
joins the bottom of the + button’s shell menu and the command palette. A
remote session is a pane like any other: it tiles, stashes, maximizes and
clones (a new connection to the same host). It runs on the OpenSSH client
already on your machine (Windows’ own or Git for Windows’ on Windows, the
system’s on macOS), so there is nothing to install on either end. Type a
host,
user@host:portor anssh://address, or pick a recent target, a saved profile or an alias from yourssh_config, all from the keyboard. Nothing you type is ever run as a command: anything that looks like one is refused with a reason. - SSH profiles. Save a typed target, or edit a saved one: name, host or
alias, user, port, key file, jump host, and under More options a config
file and a known-hosts file. Passwords, passphrases and host-key questions
are answered in the pane, by the SSH client itself. TermHQ stores no secret
and never edits your
known_hosts. - A dropped SSH connection keeps its pane, with its output and a card that says how it ended and shows the exact command that ran. Reconnect, or Enter in the pane, brings it back in place. Remote panes survive a quit like any shell. If their connections are gone after a restart, they come back disconnected and wait for you instead of starting a round of logins.
- Keep-alive for SSH connections, every 30 seconds by default (Settings → SSH), so a router or firewall doesn’t silently drop a quiet session. Set it to 0 to leave it to your SSH config.
- Backgrounds. Put a picture, an animated GIF or a looping video behind the terminals from Settings → Appearance → Background. Add files to the library, pick one, and set its Transparency (25% by default), Blur and Fit. A video, and a GIF on Windows, also takes a Speed, from a quarter pace to double. The background is the same in every workspace, like the theme.
- Panes move. Panes glide when they swap, move or resize, a new pane settles into its cell, and a closed one fades from its place. Maximize grows a pane to fill the grid and Restore shrinks it back. Stashing drops a pane into the shelf’s count, and restoring lifts it back out. The sidebar slides in and out, and a workspace appears once it has opened, laid out, in one fade. Settings → Appearance → Animate panes turns all of it off, and so does your system’s reduced-motion setting.
- The command palette opens more than commands. Beside every action it lists your favorite folders, shells, installed agents, other workspaces, themes, every Settings page and, with SSH on, your saved and recent SSH targets, with what you used last under Recent.
- Your branch in the status bar: the focused pane’s branch, how many files have changed and how far it is ahead of or behind its upstream. A click opens the Git panel.
- A right-click menu in terminals (Copy, Paste, Select all, Clear, Find). It is the default on macOS, and a choice under Settings → Terminal → Right-click in a terminal on Windows, where right-click still copies or pastes by default.
- Find in a terminal gains match case, whole word and regular expression toggles (Alt+C, Alt+W, Alt+R, with Option on macOS), a “3 of 27” count, and opens on your selection or your last search.
- A right-click menu on pane headers: Rename, Copy path, Reveal, the pane’s actions and Close. F2 renames the pane.
- Restart an ended terminal in place. The header says “exited · code 1”, and Restart starts the same shell in the same folder.
- Dim unfocused panes (Settings → Appearance, off by default) washes every pane but the focused one toward the theme’s background.
- Empty grid cells offer New terminal and Open file…, and what you open from one lands in that cell.
- The gutters between panes take the keyboard: Tab to one, move it with the arrow keys (hold Shift for bigger steps), and press Enter to even out its two sides.
- New keyboard actions, in the palette and bindable under Settings → Shortcuts: Jump to the newest waiting pane (Ctrl+Shift+N, ⌘+Shift+N on macOS), Focus the previous pane, Show recently closed panes, Switch between Grid and Columns, Reset pane sizes, Restore all stashed panes, Close all stashed panes and Rename the focused pane. Only the first has a default shortcut.
- Restore all and Close all in the undo list once two or more closed panes are waiting, and Dismiss all in the waiting list. The Undo chip names the pane it brings back.
- A slow shell says so. A terminal still starting after ten seconds shows “Still starting PowerShell 7… 11 s” with Cancel.
- Receipts: “Copied” after a copy, “Saved” after an editor save, and a note while a folder opens in your IDE.
- Browser pane headers: Reload turns into Stop while a page loads, a lock shows over HTTPS and a warning over plain HTTP (never for addresses on your own machine), and the ⋯ menu holds DevTools beside a new Copy address. Ctrl+Shift+click (⌘+Shift+click on macOS) on a link in a terminal opens it in a browser pane beside the terminal.
- More of Git from the Git panel: stage, unstage or discard a whole file from its diff, and switch the diff between side by side and stacked. Every changed file has a right-click menu, and the arrow keys walk the list. Stash and switch is offered when local changes block a branch switch, Initialize repository… appears outside a repository, and View history on a clean tree.
- Git status in the Files tree: changed files are tinted and lettered by state, and folders holding changes carry a dot.
- Drag a file from the Files tree onto a pane: a terminal gets its path, quoted the way that shell reads it, and an editor pane opens it. Copy path, Copy relative path, File history and your file openers (under Open with) join the Files right-click menu.
- A filter in the worktree tracker (by repository, branch or folder) once there is more than one checkout.
- Dictate into any text field: started from the commit box, a search field or the address bar, dictation types at the caret.
- Editor tabs that share a name show their folder beside it.
Changed
- Settings, redrawn. Every category is a column of cards, on/off settings are switches, and every dropdown works like the theme picker, searchable when it is long. Favorite folders, agent launchers and file openers reorder by dragging a grip or with the arrow keys. Removing from a list asks first, and favorites can be added right in Settings. The agent launchers lead Settings → Agents, shortcuts show as keycaps, and the theme and icon marketplace is a page inside Settings rather than a second dialog.
- Links in a terminal open on Ctrl+click (⌘+click on macOS), with a hint beside a hovered link. A plain click just focuses the pane or starts a selection.
- Zoom to fill and Fullscreen are now Maximize and Restore everywhere, with icons that match. Double-clicking a pane’s name maximizes it like the rest of the header; rename moved to the header’s right-click menu and F2.
- The terminal header shows the folder’s whole path with your home folder spelled out. In a narrow pane the start gives way first, so the folder’s own name stays visible, and a click on the path copies it. Headers name the shell (“Git Bash”) when a title only restates the path, and each shows a mark for its kind (terminal, browser or editor).
- Undo close puts a pane back in its own cell, with the grid as it was, when nothing has moved since. Closing or stashing the focused pane hands the keyboard to the pane you used before it.
- Arrange mode outlines the pane it moves and its hint says what each arrow would do. A dragged pane’s label says Swap, Move here or Grow.
- A window too narrow for the sidebar and the grid closes the sidebar first, instead of scrolling the panes sideways, and reopens it once there’s room.
- On macOS, ⌘+W closes the focused pane (or an editor’s tab) instead of the whole workspace window, and Undo close can bring it back. In Arrange mode, ⌘+arrow shrinks a pane, since Ctrl+arrow belongs to Mission Control.
- The agent picker names the pane it will type into. A launch into a shell that’s already running an agent opens a new pane of the same shell and folder. With no agent found, the header’s launcher stays, dimmed, and opens Settings → Agents.
- Ctrl+wheel zoom steps once per notch, takes a trackpad pinch without overshooting, works over editor panes, and briefly shows the new size.
- The multi-line paste card previews what will go in and offers Paste as one line.
- The Git panel is more compact: repository, branch and sync share one band, the message box grows from one line to eight, Commit and its menu are one button, amending is a chip whose × brings back your earlier draft, and Stage all and commit sits beside “nothing staged”. Rows lead with the file, and a partly staged file shows a half-filled mark.
- Fetch has its own button, and Pull, Push and Publish spin while they run. The branch picker opens at once and fills in, with local and remote branches in separate sections. History gains Home and End and a count, and its commit messages can be selected.
- In the Files panel, ← goes to the parent folder’s row, Backspace goes up a folder, typing jumps to a matching name, and the “..” row is gone. Search has a toolbar button and a result count.
- A Git-ignored file in the Files panel keeps its normal look with a slightly gray name, the way code editors show them, instead of a dimmed row and icon.
- The sidebar tabs wear icons, and the Git tab shows how many files have changed.
- In the workspace picker, a rename saves on Enter or click-away (Esc cancels), Rename and Delete appear on every row, and a filter appears past eight workspaces.
- The title bar’s new-pane menu marks your default shell and its shortcut, and its tooltips name your current shortcuts.
- The start page puts the keyboard on New terminal, so Enter opens one, and strikes through a favorite whose folder is gone. With every pane stashed it keeps its usual look, plus Show stashed panes with the count and shortcut.
- The update notice shows the release’s headline, offers Later and What’s new, and no longer covers the status bar.
- Every confirmation is the same dialog, and removing a favorite asks in place: its × turns into Remove?.
- A failed settings save and a shell that fails to start show in the status bar with Retry, instead of a banner that resized every pane.
- Menus jump to a row by its first letter and scroll when taller than the window. Tooltips wait for the pointer to settle, and never catch a click or the first Escape.
- Light themes get lighter shadows, and keyboard focus is the same ring everywhere. Downloaded themes whose secondary text, links, warnings or Git colors are too faint are lifted to a readable contrast (the theme file is untouched).
- With reduced motion on, every animation stops. Screen readers hear named menus, each file’s depth in the tree, and speech-model download progress.
Security
- On Windows, a link printed in a terminal was opened through the command
shell, so a crafted link could run a command when clicked. Links now go
straight to your browser, web addresses only, and a file name with
&in it opens correctly from Open, Open in IDE and the file manager.
Fixed
- A setting changed in one workspace window is no longer undone by another window’s next save, and themes, backgrounds and favorites reach every open window at once.
- A
config.jsonwith a typo is no longer replaced by defaults. It is kept aside asconfig.json.broken-…, and a notice names the error with a button to its folder. - An editor’s “deleted on disk”, “changed on disk” or “save failed” card no longer takes the keyboard from the terminal you’re typing in, where the next Enter could write back a file an agent had just deleted.
- Update and restart asks about unsaved files first, then counts the running terminals in every workspace, not just this window.
- Commit All, Amend Last Commit and Undo Last Commit closed the commit menu instead of running; they work now. Commit can’t run twice.
- On nine of the ten built-in themes, Git colors were missing: stage marks in the diff view were invisible and History’s counts and tags were uncolored.
- After a reboot, a host restart or Update and restart, panes come back where they were instead of stacked or leaving gaps. A terminal whose shell ended while TermHQ was closed comes back as a fresh prompt in its folder.
- Switching between the Files and Git tabs no longer loses your commit message, amend mode, expanded folders, or a push or pull still running.
- Themes with a transparent accent color now show focus rings, primary buttons and progress bars.
- At startup, Enter in the workspace picker opens the highlighted workspace instead of creating an empty one.
- Pane paths lose Windows’ trailing backslash, Command Prompt panes keep up
with the folder you
cdinto, and an empty workspace is named “Workspace 9”, not “window-9”. - The palette finds every word you type, in any order.
- The Git panel explains why it can’t read a folder (Git missing or older than 2.23, or a permission error), with Retry, instead of reading forever. With the sidebar pinned, the palette’s Git commands act on the pinned repository.
- Stash apply, pop and drop act on the stash you picked, even if the list shifted.
- A workspace returns in the Grid or Columns mode it was arranged in.
- A font zoom sticks through Undo close and a relaunch.
- A path dropped into Git Bash keeps its backslashes, and a drop onto a pane that can’t take it says why.
- Dictation can always be stopped and says why it failed, and the mic test no longer leaves the microphone on.
- A transcript whose terminal closed while it was being transcribed goes to the terminal you are in, instead of the closed one.
- Shortcuts no longer fire while you type in the app’s own text fields, and a shortcut the app can’t act on passes through to the program in the pane.
- The editor’s unsaved-changes question no longer freezes the app.
- The Git panel stays responsive in large repositories.
- Git: View File History from the palette opens the history of the file in the focused editor, instead of saying the file isn’t inside the repository.
- Escape in the worktree tracker’s filter clears the filter first, instead of closing the tracker.
- On Windows, Find from the command palette over a browser pane gives the page the keyboard and says to press Ctrl+F there, instead of doing nothing.
- After closing Settings, or another dialog opened with the mouse, typing reaches the terminal again. On Windows, Enter no longer reopened Settings.
- On macOS, Escape in a dialog no longer types an ESC into the terminal behind it. In Claude Code, that interrupted the agent.
- On macOS, the window buttons stay in line with the toolbar when the window’s title changes.
- On Windows, launching an agent into a Command Prompt or PowerShell pane no
longer puts a stray
^Uin front of the command, which then failed as “not recognized”. - Stashing a browser pane while its page had the keyboard left nothing selected, so the pane shortcuts did nothing until you clicked a pane. The pane you used before it is selected now. Maximizing a terminal while a page had the keyboard no longer selects the hidden browser behind it.
- A zsh pane brought back by Undo close or a restore no longer shows a
stray
%above the prompt.
0.2.7 — 2026-09-20
Added
- Hold to talk. Opt in under Settings → Voice and holding the space bar in a terminal for a moment starts dictating; let go and it transcribes — the gesture Claude Code’s own dictation uses, here for every program. A tap still types a space, and a key pressed mid-hold flushes the space ahead of it. The key is yours to change by pressing it: any single key, Right Ctrl included. Off by default, because on Space it takes the hold away from Claude Code’s own dictation; on a key of its own, both work.
- The cursor shows the dictation. While recording, the terminal’s cursor becomes a bar that rises with your voice — gray in a quiet room, cycling through color the moment it hears you. While transcribing it is a chrome block with the light traveling upward, in time with the mic’s three dots and the Transcribing… label.
- Grok Build joins the agent launchers beside Claude Code, Codex, OpenCode
and Antigravity, shown once its
grokcommand is on your PATH. Existing installs pick it up on their own. - Restore all and Close all on the stash count’s right-click menu. Restore asks first when the panes in the grid plus the ones on the shelf would exceed nine; Close all always asks, and says what closing means under your Undo close setting.
- Restore last closed terminal has a default shortcut: Ctrl+Shift+R (⌘+Shift+R on macOS).
- The title bar’s + button reaches further: right-click a shell for your favorite folders, then right-click a favorite for the agent to start there. Rows that hold a flyout now carry a chevron.
- Committer pictures in Git History — a GitHub noreply address names its account, anything else asks Gravatar — cached after the first fetch. Settings → Git → Committer pictures in History turns the lookups off.
- A word before the tenth browser pane opens onto the grid (stashed panes not counted): every pane is a native webview with its own renderer process. Open anyway, Don’t warn again, or the switch under Settings → Browser.
- Git-ignored files and folders are dimmed in the Files panel, with an Ignored by Git tooltip. They stay visible and openable.
- Diffs open on their first change, and Previous change / Next change step through the rest — in History as well as in Changes.
- An empty editor pane has an Open file… button.
- Each launcher row in Settings → Agents says whether its command was found on PATH, so an agent missing from the menu is explained where you would look.
- Settings search results carry the name of the category they came from.
Changed
- Dictation lands in the terminal you started it in, even if you click into another pane while it records or transcribes — the dictation cursor stays there too. Only if that pane is gone by then does the focused terminal take the words.
- One-click destructive actions now ask first: deleting a branch from the picker, removing a worktree, deleting a speech model, deleting a workspace (the ask names it, counts its panes and says its shells will end), and Update and restart while terminals are open.
- The empty workspace shows the TermHQ mark and name, centered.
- The command palette opens on the first row that can actually run.
- Workspaces that share a name show their slot beside it in the picker.
- Settings → Voice says at the top why dictation cannot run, before it offers anything to download.
- On macOS: the window buttons align with the toolbar, the commit box says ⌘+Enter, the Files menu offers TextEdit rather than Notepad, and prose about the Windows taskbar menu appears only where that menu exists.
Fixed
git logpages again in every shell. A coding agent that launched TermHQ handed itsPAGER=catandGIT_PAGER=catto every terminal; those are scrubbed now, while a pager you set yourself is kept.- On Windows, New workspace could fail with “The request is not supported” when TermHQ had been started from a console. It opens reliably now.
- A freshly opened or restored terminal is no longer flagged as waiting before you have run anything in it: the terminal’s own replies to the app no longer count as typing.
- The theme picker’s search box stays put while its rows scroll.
- Saving a file refreshes its row in the Files panel, so the size shown is the size on disk.
- Settings saves, browser page loads, the Files panel and the grid’s columns report failure instead of silently falling behind: a failed save keeps the previous config intact and offers Retry; a page that fails to load keeps the address in the bar and offers Retry or Open externally; Files picks up external changes to the folders it shows.
0.2.6 — 2026-09-11
Added
- Rename and Delete in the Files panel: every file and folder menu ends with Rename… and Delete…, and a focused row answers F2 and Delete. Rename edits the name in place with the name (not the extension) preselected. Delete asks first and moves the item to the Recycle Bin (Trash on macOS) — nothing is ever deleted outright.
- Keyboard-operable menus: a row’s context menu opens with Shift+F10 or the menu key, the shell rows (“Open in PowerShell” and the like) open their agent flyout with → and close it with ← or Esc, and menus stay open until you click elsewhere or press Esc.
Changed
- On macOS, all workspaces now belong to one application: one Dock icon, every workspace in the Window menu, each window keeping its own terminals, editors and language servers.
- On macOS, the standard Edit-menu actions (Select All, Undo, Cut, Copy, Paste) work inside editors and terminals; in a browser pane, ⌘L, ⌘[, ⌘], ⌘R and ⌘= / ⌘+ act on the address bar, history, reload and zoom.
- Dragging a pane targets the exact grid track under the pointer, including uneven column and row sizes.
- Directory listings and file operations in the Files panel run off the window’s thread, so a slow network or cloud folder cannot freeze the app.
Fixed
- Switching between open workspaces on Windows leaves the keyboard in the window you switched to — no click needed.
- Reopening a workspace selects the pane that was active when it was saved, and a pane that has just appeared no longer takes keyboard focus from the one you selected.
- A stashed or zoomed-away terminal no longer resizes to a tiny size underneath a running full-screen program, so its layout is intact when it returns.
- Launching an agent right after using a menu no longer loses the first characters of the command.
- Picking a workspace whose window has gone shows the reason instead of silently doing nothing.
- A folder menu opened near the bottom of the window stays fully on screen.
0.2.5 — 2026-09-10
Added
- A toolbar on the Files sidebar: New file and New folder (name the entry right in the tree; a new file opens straight into the editor), Collapse all, Refresh, and — when the folder is an Obsidian vault on a machine that has Obsidian — an Open in Obsidian button carrying Obsidian’s mark. Folder right-click menus start with New file… and New folder… too.
- Pin the sidebar: stop it following the focused pane, so Files stays on its folder and Source Control on that folder’s repository while you move between terminals. One pin, on both tabs; the header reads Pinned.
- The Ctrl+Shift+A agent picker shows each agent’s mark beside its digit.
Changed
- The Files path bar stays on one line: a deep path folds its middle folders
into a
…button whose menu still opens each of them (or a terminal there on right-click), and widening the sidebar brings them back. - The sidebar can be dragged much wider — up to 338 extra pixels, still capped so panes keep most of the window. Its default width is unchanged.
- The waiting indicator in the status bar now mirrors Undo close: a N waiting count that stays, and for a few seconds after a pane goes quiet, a chip beside it naming that pane under a draining bar — click the chip to jump straight there. Both controls are drawn in the theme’s own ink rather than a solid accent block, so they sit quietly on every theme.
- Every refresh button (Files, Git History, Source Control, worktrees) turns once per click and stays disabled until the re-read has finished, so a click is always visibly acknowledged and never queues up.
Fixed
- Release builds no longer show the browser’s default right-click menu over the app’s own interface, and no longer open a web inspector on it. Browser panes keep their own right-click menus and their DevTools button.
- Background-finished panes are recorded in the waiting list as well as raising the OS notification, so they are there when you return (the description was wrong; the behavior is now what the docs say).
0.2.4 — 2026-09-09
Added
- A permanent “waiting” indicator in the status bar. When an agent finishes its turn or a script ends in a pane you aren’t watching, it collects there; open it for a list of everything waiting on you, newest first, each showing when it started waiting and whether it’s out in the grid or on the stash shelf. Click one to jump straight to that pane.
- Settings to keep the waiting indicator always visible even when nothing is waiting, or to turn it off entirely.
Changed
- The status bar is now always present, holding the undo, waiting, stash and workspace controls.
- Settings search matches a setting’s category together with its name in any word order, so “Terminal font” finds the terminal font setting.
- Redrew the worktrees icon.
Fixed
- Launching an agent no longer occasionally drops the first character of the command (for example “laude” instead of “claude”).
- Editing a language server’s arguments, languages or root markers keeps the separators you type and no longer discards the edit when Settings is closed with Escape or a click outside.
- Deleting a stashed pane from the shelf no longer rearranges the panes still on screen.
- The reopen-last-tab shortcut works again in an editor’s reading mode.
- The Files panel no longer shows a stale directory after some actions, and Enter in the stash shelf and worktrees list no longer activates the wrong control.
- Closing a waiting pane on its own no longer leaves the window unresponsive to Escape; “waiting since” shows when the pane actually went quiet; a pane that finished while the app was in the background now shows up when you return; and dismissing a notice also clears that pane’s badge.
0.2.3 — 2026-09-08
Fixed
- Fixed the incomplete macOS app bundle signature in v0.2.2 that caused a “TermHQ is damaged and can’t be opened” error. Release builds now sign the complete app bundle and verify its signature before publication.
- Updated macOS installation guidance. The app is still not Apple-notarized and requires approval in System Settings → Privacy & Security → Open Anyway.
0.2.2 — 2026-09-08
Changed
- Added a restrained theme-colored glow around focused panes, preserving downloaded palettes.
- Improved editor-tab accessibility and arrow-key navigation.
Fixed
- Fast pane creation sending input to the previous terminal.
- Incorrect restored terminal directories affecting Git context and cloning.
- Selected-pane restoration when reopening a workspace with running terminals.
- Browser address editing leaving the wrong pane selected.
- Workspace keyboard navigation, launch-error feedback and inconsistent workspace names.
- Markdown Find losing the first character, Escape closing the entire Git diff, and tooltips obstructing menus.
0.2.1 — 2026-09-07
A workbench usability update, with a refreshed default look and a fix for agent launching on macOS. Existing downloaded theme palettes are preserved.
Added
- Compact and Comfortable interface density, plus interface scaling from 100% to 150%, independent of terminal and editor text size.
- A resizable sidebar with a remembered width, a bounded maximum, and keyboard and double-click reset controls.
- Clearer theme-pack downloads: inspect included variants, find installed themes by search, choose a variant explicitly, and remove a whole pack.
- An empty-workspace start panel and one-click Undo for recently closed panes.
Changed
- The Default theme now uses neutral black, gray and white with a restrained glass-inspired finish. Header controls and interaction styling are shared consistently across all themes.
- Slimmer header controls and clearer microphone recording, processing and error states, with more room for the waveform and timer.
- Workspace selection lives at the far right of the status bar, with Stash immediately beside it even when recovery controls appear.
- Settings has clearer grouping, searchable advanced options and a helpful empty-search state. The sidebar shows which pane or folder it follows.
Fixed
- Agent CLIs installed through Homebrew, npm or other shell-managed paths are detected when TermHQ starts from Finder or the Dock. IDE and file openers use the same resolved path, and initial launcher lookups run in the background.
- Agent and favorite pickers accept numeric-keypad digits as well as the number row, including 0 for the tenth entry. Missing-agent feedback now distinguishes an unavailable command from an unconfigured agent.
- Keyboard focus and accessible control names across dialogs, menus and Git actions, plus overlapping or clipped controls in narrow layouts.
0.2.0 — 2026-09-06
The first public release, for Windows and macOS (Apple silicon). Linux is not published yet. A pre-release in maturity: the installers are not code-signed, so expect SmartScreen on Windows and Gatekeeper’s Open Anyway on macOS — the installation page walks through both.
What TermHQ is, in this version
- Panes on a grid. Terminals, browser panes and editor panes side by side, arranged by keyboard or by dragging gutters; zoom one to full, stash one to a shelf, bring it back.
- Sessions that survive the window. Shells live in a detached host, so closing TermHQ and reopening it finds your commands still running. Workspaces keep a layout each; the taskbar and a picker open them.
- Built for coding agents. Every “open a terminal” gesture can start Claude Code, Codex or another installed agent CLI in it; idle agents raise a toast; a global worktree tracker lists every git checkout under the folders you choose, each one a terminal or an agent away.
- Source control in the sidebar. Status, staging by file or hunk, commits, branches, stashes, worktrees, history and diffs, all through your own git.
- An editor that is not an IDE. Files as tabs, Monaco underneath, language servers you install yourself, reading mode for markdown.
- Browser panes, native WebView2 on Windows and WKWebView on macOS.
- Voice dictation, entirely local, with speech models you download in Settings; nothing leaves the machine.
- Themes in the VS Code format, installable from Open VSX, and icon themes to match.
- Updates you control. TermHQ checks for new versions on its own and offers them through a toast and Settings; installing is always your click, your layout comes back, and your settings are never touched.