What Windows Native shipped.
The latest 150 entries, read at build time from each product's roadkeep ledger in its public repository and dated by the commit that wrote them. Newest first.
- QuickshellQS369 · 7d4fcf1The UI cases still carry a synthesised-input workaround for a foreground winwright 1.1.3 now takes itself
The UI cases run on winwright 1.1.3, which takes the foreground at launch, so the nudge is gone and the tab case soaked alone passed 20 of 20.
- QuickshellQS368 · 00a82b3Winwright 1.1.2's repair of the tab case's typed substitution is unproven, so winwright's WW545 stays blocked
The tab case passed 300 of 300 guest runs on winwright 1.1.2, the repair firing on two; run-tests-vm -Soak repeats any one case on one build.
- QuickshellQS367 · 6533dafIn a split tab every pane blinks its cursor and nothing marks which pane has the keyboard
Only the focused pane blinks; the others draw a steady hollow cursor and ask for no blink frames, and in a split tab the focused pane is framed in the accent.
- QuickshellQS366 · 7d14260A default window hides the menu bar until Alt is tapped, so a person who does not know the tap never finds it
A default window shows the menu bar under the title bar, menuBar now defaulting to Always; Alt and Hidden stay, and Block G's criterion names the menu bar as part of a default window.
- QuickshellQS365 · fe69a45The palette's Document sessions as PDF writes only the connected session instead of every saved one
Document all sessions as PDF, in the palette, writes every saved session whatever the sidebar selected; the sidebar's own menus still document the session, folder or rows chosen there.
- QuickshellQS364 · 26aee1eThe UI cases still work around three winwright gaps that 1.1.2 closed
The cases name the checkout by {root/}, stage the agent feed and request as written now, and bring the menu bar up by an Alt tap, all on winwright 1.1.2.
- QuickshellQS349 · d40640fChoosing several sidebar rows is proven by automation peers in a unit test, not by a UI case
A UI case Ctrl+clicks two sessions and a folder, Shift+clicks a range and reads each row chosen; the set they stand for is still read in process.
- QuickshellQS348 · 81b35c3That a tab's close cross is drawn inside its tab is proven by an in-process render, not by a UI case
A UI case retitles a tab short and then long and claims its close cross is drawn inside it and not empty, so QS312's geometry is proven in the guest.
- QuickshellQS363 · eebcb65The Claude Code plugin names quickshell.exe by its Windows path, which a Claude Code inside WSL2 cannot start
Install into WSL in Settings finds a distribution's claude and installs a plugin naming quickshell.exe by its /mnt path, measured answering tools/list.
- QuickshellQS361 · 7d14b26The tab-strip UI case's typed "first-tab-marker" once reached cmd as "first-tabrmarker"
Traced to winwright: both typos are WW310's last-character substitution, which its resend cannot repair on a terminal; filed there as WW545, nothing for the client.
- QuickshellQS359 · 8e0b91fAn agent account set up from the session menu cannot be removed from it
Remove the agent account from the session menu: the removal shown, run in the person's tab under their sudo, and the session's own identity and key forgotten.
- QuickshellQS358 · 7975315On native Windows nothing below the shell stops an agent's own script from opening SSH around the gateway
On Windows the wall is WSL2 with its sandbox and the Windows gateway as MCP server, measured; firewall rules by program or user lost (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS357 · a33b93fThe echo-delay pipeline test goes red in the guest when ConPTY prints under 300 KB/s for thirty seconds
The echo-delay test reads until a byte count or its patience, skips naming cmd's rate when too little printed, and still fails a parser that falls behind.
- QuickshellQS356 · 57990f5exec quotes every argument for a POSIX shell, so on a Windows server a word with a space or a quote arrives altered
On a Windows server exec goes through PowerShell to CreateProcess, quoted as Windows reads it back, so a space, quote, % or & arrives byte for byte.
- QuickshellQS354 · 894c751Every action is reached only by a hotkey or the palette, so a user who has not learned them cannot find a feature
An Alt tap shows a menu bar built from the palette's own bindings, every action under a heading with its keys; a default window still holds no menu.
- QuickshellQS353 · 4f69916A connected recent card on Home clips its New connection and Go to tab buttons when the window is not maximised
A connected recent card gives its when a row of its own and wraps Go to tab under New connection, so a restored window cuts neither button.
- QuickshellQS350 · 1255719Whether a narrowed bash pane's extra prompt line on a split is bash's or this client's reflow was never traced
Traced on the fixture's bash: it redraws its prompt in place with no line feed; the prompt moves down only by lines the client's reflow wraps, and shows once.
- QuickshellQS347 · 845c66aA middle click closing a tab is proven by routed events raised in a unit test, not by a UI case
UI cases in the guest middle-click a tab closed and right-click Close tabs to the right, now that winwright 1.1.1 names a click's button.
- QuickshellQS343 · 4b94970Wiring the gateway into Claude Code means hand-editing MCP config, hooks and sandbox rules, so few will
Settings offers a Claude Code plugin quickshell writes itself: the gateway, the hook and a skill installed in one answer, refused by a gateway of another version.
- QuickshellQS342 · bcae1bcAsking a local Claude Code about what a pane shows means copying the scrollback by hand into another window
Open Claude Code runs it in a local pane wired to the gateway and hook; Send to Claude types a pane's selection or screen into it under its session and tags.
- QuickshellQS341 · 9cc9facAn agent's key on a server is valid until someone removes it, so a key that leaks works for months
The agent signs in on a certificate quickshell signs for minutes per connection; its key alone and an expired certificate are refused by the server.
- QuickshellQS340 · 2b00401A client-side policy is advice the server never hears, and nothing helps set up an account that limits an agent there
Set up an agent account from the session menu: the exact script shown, run in the person's tab under their sudo, and the identity recorded on the session.
- QuickshellQS339 · 8c7f3e6An agent able to write files can rewrite the very policy that limits it, and grant itself whatever it wants
The hook keeps an agent's tools off its policy and approvals; a policy changed outside quickshell holds every call until accepted (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS338 · 9d004cbText an agent read from a server can steer its next command, and the policy treats that command as if nothing happened
After an agent reads server text, every change asks, even a granted one, until the person trusts it again in the palette (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS337 · 165ba39A call the policy says to ask about has nowhere to be asked, so the gateway can only allow or refuse it
An ask shows in a quickshell dialog, each call as its words with session, tags and diff; the answer binds to the batch hash, may grant (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS336 · 9758de9Every call an agent makes through the gateway is allowed, whatever the host and whatever the command
Each gateway call is judged first: a read runs, a mutation asks or is refused by tag level, and a grant or break-glass admits it (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS335 · 39fe5abWhat an agent runs on a server is invisible to the person until it reports back, if it reports at all
Each gateway run shows in quickshell as a read-only tab badged agent, every call and its result in it, behind the tab in use (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS355 · f40c0a7CI is red on every push: the app tests skip three on a clean runner against a budget of two
The app tests may skip three on a clean desk, PuTTY's and MobaXterm's two real-file readers, so CI is held to what a runner without either has.
- QuickshellQS352 · 3b65301The recording test stops its recording on the first byte, ConPTY's mode sequences, before the line it reads back
The recording test waits until the echoed line is on the pane's screen before stopping, so a fast run no longer records only ConPTY's escapes.
- QuickshellQS351 · a7cf15eOnly the prod tag has a look on the strip, and no import brings tags in from MobaXterm or PuTTY
A MobaXterm folder named exactly prod, production or prd imports tagged prod, named in the preview first (design recorded in
docs/SESSIONS.md). - QuickshellQS346 · 69f90abReading a KDBX 4 vault encrypted with ChaCha20, or derived with AES-KDF, is proven by no vault
A ChaCha20 vault and a KDBX 4 AES-KDF vault written here open in keepassxc-cli and read back through KdbxReader.
- QuickshellQS345 · 3516aafAn exported vault restores the passwords but not the key files sessions name, so a new machine still lacks the keys
An export can carry each key file sessions name, once with its .pub, read back unchanged by KeePassXC, and a kept vault keeps them (design recorded in
docs/SESSIONS.md). - QuickshellQS334 · b9783f2A person who sees an agent going wrong on a server has no single act that stops it everywhere at once
Ctrl+Shift+F12 stops every agent: each gateway cancels its jobs, closes its connections and refuses calls until let run again (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS333 · ddf8155Nothing records what an agent ran on which server, who approved it, or what came back, once the session scrolls away
Each gateway call is a hash-chained audit line, and quickshell --audit prints a run's changes and names a removed line (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS332 · 3385506With the gateway installed an agent can still run ssh, plink, scp or paramiko from its own shell and skip every rule
quickshell --agent-hook denies an agent's ssh, scp, rsync, git or paramiko call, naming the gateway tool to use instead (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS331 · ee63734A saved session carries nothing that tells production from staging, to the person or to anything reading the store
A tab holding a session tagged prod, by its own tag or a folder's, shows prod in the danger colour, and every tag is the tab's item type (design recorded in
docs/SESSIONS.md). - QuickshellQS330 · fb912abA secret printed by a remote command, an .env or a token, goes straight into the agent's transcript and its provider
Every gateway answer passes a redactor that hides keys, tokens and password assignments and counts them (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS329 · 8a610c2A large command output lands whole in the agent's context, so one journalctl costs the rest of the session's room
exec answers within a byte budget, head and tail kept and the cut named, and output_page and output_grep reach the rest (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS328 · ee36eb0A long remote command dies at the agent's timeout, or with its connection, and leaves no way to look back in on it
job_start runs a command detached, kept on the server, so a later gateway reads its output by cursor and its exit code (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS327 · b65f070A sudo password, a pager or an apt dialog hangs an agent's command until its timeout, with no word of what it waited for
exec runs with no input, pager or apt dialog, so nothing waits for a person, and a sudo password or y/N is named (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS326 · 78ef66dAn agent edits a remote file by heredoc or sed -i, blind, with no diff for the person and no copy to go back to
read_file and edit_file read a remote text file and change one exact piece of it, the original kept beside it, the diff returned (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS325 · 3a79ff5An agent reaches a saved session only through raw ssh, quoting through four shells and paying a handshake per command
quickshell --mcp serves hosts_list and exec: argv byte-exact on a kept connection, streams apart, off unless agentGateway (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS324 · f0ab2e2Approving an agent's commands one prompt at a time trains the person to click yes, the 41st one included
The approval section settles plans bound to a hash, a dialog the agent cannot fake, a measured ask budget, and both open questions (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS323 · 8d1ee36Nothing says how a remote command is judged read-only, so a regex blocklist is the only idea on the table
The judging section picks a small managed parser, an argument-checked allowlist, narrow unwrapping and a zero-false-allow gate (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS322 · d38d062No policy format exists to say what an agent may do on which host, for how long, or who may change it
The policy section fixes tags, three levels, grants that must end, a file only the person writes, an example and three open questions (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS321 · 3e8aa9dNothing decides whether an agent gateway fits a client sold as "an SSH client, not a suite"
The agent gateway is in scope on the owner's answer: off by default, its own process, no network, nothing on the terminal's path (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS320 · 4d2ac1eNothing written says what an agent driving SSH from this desk can harm, nor which layer stops which harm
docs/design/agent-gateway/README.md opens with the threat model: six harms, who causes them, three layers and what each honestly stops (design recorded in
docs/design/agent-gateway/README.md). - QuickshellQS319 · 287c78cTwo tabs on the same host carry the same title, so the strip gives nothing to tell them apart by
Every tab shows its place on the strip before its title, the Alt digit that reaches it, renumbered when a tab is added, closed or moved (design recorded in
docs/KEYS.md). - QuickshellQS318 · 841733dThe session bar's Split button always splits side by side, with no way to split one above the other
The session bar's Split keeps its click beside and has a chevron offering Split right and Split down, each naming its chord (design recorded in
docs/SESSIONS.md). - QuickshellQS317 · 0686e58A pane opened by Split has no button, chord or palette entry that closes it, only closing the whole tab
A split tab's panes each carry a close cross above them, Ctrl+Shift+W closes the focused pane before the tab, and Close pane is in the palette (design recorded in
docs/KEYS.md). - QuickshellQS316 · a4ac7edEach split prints a new prompt line in every pane already open, as if Enter had been pressed in it
A resize to the size a pane already has tells the far end nothing, and none writes input, so a split no longer prompts a pane it did not resize.
- QuickshellQS315 · aafc3a2How a set of sessions is configured, with jump hosts, keys and forwards, can be documented only by copying it by hand
Document as PDF, in the sidebar's menu and the palette, writes the chosen sessions with every value's origin, jump hops, forwards and key fingerprints, and no secret.
- QuickshellQS314 · 48819bbThe sidebar selects one row at a time, so nothing can act on several chosen sessions at once
Ctrl+click, Shift+click and Ctrl+A choose several sidebar rows, and the window reports the set, a chosen folder standing for every session under it (design recorded in
docs/SESSIONS.md). - QuickshellQS313 · 924bc77A recent card says Connected now and its Connect opens a second connection, with no way from Home to the open tab
A card or sidebar row whose session is open offers Go to tab, which puts that tab on screen, and New connection beside it (design recorded in
docs/SESSIONS.md). - QuickshellQS312 · c3a1b82A tab's close button is in the tree but a user looking at the strip does not find it, so a tab seems unclosable
A tab's close cross is drawn at 10 points after every title, inside its tab; the theme's button padding had left it no room to paint.
- QuickshellQS311 · f45d4ddA right click on a tab offers nothing, so closing every tab but one is a close per tab
A tab's menu offers Close, Close other tabs and Close tabs to the right, asking once for every live session it would end; the last two are palette commands too (design recorded in
docs/KEYS.md). - QuickshellQS310 · a7ede8fA middle click on a tab does nothing, where every browser and terminal on Windows closes it
A middle click on a tab closes that tab, asking first for a live session, and leaves the tab on screen, or Home, where it was (design recorded in
docs/KEYS.md). - QuickshellQS309 · c597600Splitting a pane opened on a saved session opens a local Command Prompt instead of another shell on that server
A split of a server's pane opens the same saved session in the new pane over a connection of its own, and a split of a local pane is still a local shell.
- QuickshellQS308 · 4b8c234A new machine starts with no remembered password, because DPAPI does not travel and nothing reads a vault back
Import saved passwords reads a KDBX 4 or 3.1 vault, ours or KeePassXC's, and remembers each matching session's password, asking before replacing one (design recorded in
docs/SESSIONS.md). - QuickshellQS307 · 6213cd7An exported vault goes stale the moment a password is saved or changed, so the file consulted is not the one in use
With Keep this file up to date ticked, the vault is rewritten on every password or session change, from a DPAPI-kept key (design recorded in
docs/SETTINGS.md). - QuickshellQS306 · 21b80f0A forgotten password can be read only by connecting with this client on this machine, so there is nothing to consult
Export saved passwords, in the palette, writes every session and its saved password to a KDBX 4 vault after Windows Hello (design recorded in
docs/SESSIONS.md). - QuickshellQS305 · a71addaNothing in the client can write a KeePass KDBX 4 file, so no saved secret can leave it in a form another tool opens
KdbxWriter writes KDBX 4 vaults, key file and attachments included, that keepassxc-cli 2.7.12 opens field for field (design recorded in
src/Quickshell.Transport/Kdbx.cs). - QuickshellQS304 · 30862c2The sessions sidebar opens with every folder unfolded, so a large store is a long list before it is a tree
The sessions sidebar opens with every folder folded, one click opens one, and a copy or a move opens the folder it put its session in.
- QuickshellQS292 · d74c140The Explorer drop is proven by a test that drives the desk by hand instead of by a UI case
The Explorer drop is a UI case in browser.cases.json: a file dragged from the host's pane lands in an Explorer folder and is read back byte for byte, and the hand-driven test is gone.
- FreeWillyDD284 · 704a856A silent install on a blocked machine exits 1 at the preflight page instead of 7, and /MERGETASKS is overwritten
Silent Setup skips the tasks and preflight pages, so a blocked machine exits 7 from PrepareToInstall and /MERGETASKS holds; measured exit 7, nothing installed, on the test guest.
- FreeWillyDD282 · e7a49b1A release never reaches winget-pkgs: the manifests stay in the repository unsubmitted
publish-release.ps1 runs wingetcreate submit after the release exists when WINGET_TOKEN is set, and skips without failing on a draft, stale manifests or a missing token.
- FreeWillyDD281 · d2192d9No winget manifest exists, so
winget installcannot find FreeWillybuild\winget carries manifests for alegauss.FreeWilly, rewritten from the built installer by update-winget.ps1 during update-release; winget validate passes on v1.0.15.
- QuickshellQS303 · dbd994bThe UI cases run on winwright 1.0.2, so CasesRun guesses a survivor's case that 1.1.0 names itself
The UI cases run on winwright 1.1.0, and a survivor's red names its case from the engine instead of a pairing guessed by launch order.
- QuickshellQS302 · db7d320A guest run starts while another project's run is driving the same VM, and its UI cases lose the foreground
Every guest tool takes winwright's desk mutex before it touches the VM, and a second run waits naming the holder, so two suites never share the desk.
- QuickshellQS301 · 4e5fd00The client crashes on every start after a window maximised from its first paint is closed
A window maximised from its first paint is remembered without a rectangle, and a file already holding -2147483648 opens maximised instead of crashing.
- QuickshellQS300 · 4499d04A folder in the sessions sidebar opens or closes only on a double-click
A folder in the sessions sidebar folds on one click, the second press of a double-click is ignored, and a session still connects on a double-click.
- QuickshellQS299 · 3b86055The Explorer drop run sometimes goes red waiting for the host's file list, without saying what the browser showed
The UI-case assembly runs one class at a time, so the drop run's real input no longer shares the desk with CasesRun's windows.
- QuickshellQS298 · 05b0687A UI case's client sometimes outlives its case and turns a green run red, without saying which case
A survivor's red also says whether it went soon after the kill or Windows could not end it, which is what a stop that failed after a kill can mean.
- QuickshellQS297 · 3f1f74fAn imported MobaXterm jump host drops its user and port, and a chain of two jumps becomes one unusable name
A MobaXterm jump comes across as user@host:port from its three fields, two jumps as an OpenSSH chain; JumpHost takes that chain, and the guest opens a session through two hops.
- QuickshellQS296 · aa73048A MobaXterm import drops jump hosts, flattens nested folders, and finds no portable edition's file
A MobaXterm import carries the jump host into the session's own, keeps nested folders nested, and asks for the file where none is where MobaXterm keeps it.
- QuickshellQS295 · aa73048PuTTY's sessions cannot be imported from the window, though the import reads them
The window's import reads PuTTY's sessions as well as MobaXterm's, each previewed and written on its own under a folder named for its client.
- QuickshellQS294 · aa73048The import preview says each setting left behind is named beside its session, and names none
The import preview names what each session left behind, grouped with the sessions that had it, and the store carries it as a comment above each session that later writes keep.
- QuickshellQS293 · 6020c9aA session never asks Pageant for a key, so a PuTTY or MobaXterm user's loaded keys are not offered
A session offers Pageant through its window after the OpenSSH agent; in the guest a saved session with no key opens on the sshd with a key only Pageant 0.77 holds.
- QuickshellQS291 · 190707dA host run is over the skip budget, because the tests that only the guest can run count as its skips
A skip naming a tools/provision-guest-*.ps1 script is waived and listed off the guest, and counted in it, where run-tests-vm sets QUICKSHELL_GUEST.
- QuickshellQS290 · 464091fThis client has never met Windows OpenSSH, where the far side is cmd under the console host
Windows OpenSSH 9.5 in the guest negotiates curve25519, ed25519, aes128-ctr and hmac-sha2-256, and cmd draws through the console host: a row in the matrix.
- QuickshellQS289 · 0bb05cdA guest run after one that was cut off cannot sync, because the old run's test processes still hold the tree
A guest run ends what a cut-off run left running, its batch and then this client's processes, each said by name and pid, before it syncs.
- QuickshellQS285 · 2ddca86The repository declares no licence, so "free and open" cannot be said of it to anyone it is shown to
quickshell is MIT: LICENSE at the root, PackageLicenseExpression set, the README and site say so, and the bundled MIT and ISC libraries are credited in the archive.
- QuickshellQS278 · ea3cb2fThe tab strip is the stock control: no Home tab, no status dot, no close or new-tab button, no accent underline
tabs.cases.json finds each tab by its published state, TabItem[status="Local"], left behind and right on screen, read in the guest on winwright 1.0.2.
- QuickshellQS273 · 44eef4eNo UI case reads the session bar's state or forward chips, since no case fixture reaches an SSH server
connected.cases.json reads a live tab's session bar, Connected, forward chip and status in the guest, over a Windows sshd on 127.0.0.1:2240 that provision-guest-sshd.ps1 sets up.
- QuickshellQS272 · e3bb78dThe window opens on a local Command Prompt, and nothing on screen says this client connects to servers
A new window opens on Home and starts no shell, startWith Shell or --tabs, --panes, --session open a shell; a Home start is timed at Home's first frame.
- QuickshellQS188 · ccb962aNothing can be dragged out of the host's pane, so a file on the server reaches Explorer only through a copy
In the guest a file dragged from the host's pane onto an Explorer folder lands there byte for byte, by real input; a C# test until a case can drop on another window (QS292).
- QuickshellQS114 · 23d144bA PuTTY user on Pageant older than 0.78 has an agent this client cannot reach at all
A real Pageant 0.77 in the guest lists the key through its window, signs what the key verifies, and opens a session on the guest's sshd with nothing else offered.
- QuickshellQS81 · d8c4020A user weighing the switch has nothing that says what they will and will not get
docs/SWITCHING.md says what comes across, what quickshell does and refuses with what to use instead, and compares it with MobaXterm 26.5 from a documented guest run.
- QuickshellQS287 · ba74f07The contrast test's Direct2D reference still draws blank in the guest after every redraw, and the run goes red
A Direct2D reference still blank after its redraws is drawn on a device built from scratch, and where that is blank too the pass is a skip with its reason, not a failure.
- QuickshellQS286 · 745310eThe site and llms.txt describe features as shipped that the client lacks, so a visitor arriving from a post is misled
The site and llms.txt say what has shipped: pre-release 0.1.0, unsigned, no release yet, 160 MB, golden images on NVIDIA and WARP, no agent forwarding, reconnect as delivered.
- QuickshellQS284 · c846347A guest run with no failing test goes red on the skip budget when a bitmap is copied on the host during it
A guest run turns VMware's clipboard sharing off for its whole length and back on after, so a picture copied on the host mid-run no longer skips the clipboard case.
- QuickshellQS283 · 14f2a6bThe window, taskbar, Alt+Tab and Start menu show Windows' generic application icon
The executable carries the client's own mark at 16 to 256 px, drawn per size by tools\make-icon.py, so the window, taskbar, shortcut and uninstall entry show it.
- QuickshellQS282 · ffb9d52A local tab and the window are titled C:\WINDOWS\system32\cmd.exe instead of naming the shell
A local tab whose shell wrote its own executable's path is named as the shell: Command Prompt, Windows PowerShell, PowerShell or WSL; any other title shows as written.
- QuickshellQS281 · d510cd5The terminal's text touches the sidebar's divider and the window's top edge, with no inset around the grid
The terminal sits 18 in from the sides and 14 from top and bottom, in the focused pane's own background, repainted with a new scheme or OSC 11, and the grid shrinks to fit inside.
- QuickshellQS280 · c120ea3Home has the design's content in another layout: quick connect in three rows, other start-point copy and shape
Home is the design's: the 26px heading and its line, quick connect in one row with a Sign in with drop-down that asks for a key file, and three start-point cards.
- QuickshellQS279 · 0a36c23Home's recent sessions are forgotten on every restart and their cards cannot say when each was last used
Home's cards are the design's: Recent with Show all sessions, three columns, a server tile, name over address, folder and tag chips, the time and a 28-high Connect.
- QuickshellQS277 · d62f0c9The sidebar is not the approved one: a filled hamburger, Command Prompt icons on SSH rows, an opaque selection
The sidebar is the design's: a ghost panel fold, 32-high rows indented 8 plus 22 a level, a drawn terminal glyph on sessions, the accent at a tenth when selected, a Files and Tunnels rail.
- QuickshellQS276 · 02421ccAn imported key path keeps MobaXterm's _ProfileDir_ placeholder, so the key file is never found or offered
MobaXterm's _ProfileDir_, _MyDocuments_, _AppDataDir_ and _CurrentDrive_ expand on import and when a key is offered, and a named key that is not there is said in the pane.
- QuickshellQS275 · 937112fA store whose root node has a name opens none of its sessions: every row says there is no such session
A store whose root node has a name opens every session the sidebar lists: the root's name is kept in the file and is never part of a path.
- QuickshellQS274 · 564dd1aA green guest run brings no reports back, so which UI cases ran cannot be read on the host
Every guest run brings its reports back, green or red, and the summary says how many of the declared UI cases ran; a short count is red.
- QuickshellQS271 · 2802c62A host nobody has saved cannot be reached without filling and saving the session dialog first
Connect to an address takes user@host[:port] or an ssh_config host, saves it as a session unless unticked, and opens it by the path a saved session takes.
- QuickshellQS270 · 2fb136fThe session dialog decides how to sign in by which text box was filled, and cannot test a session
The session dialog offers Sign in with as three segments over Key and Credential, folds the rest into summarised groups, and Test connection signs in and says why not, unsaved.
- QuickshellQS269 · 0ff06ceA connected tab shows nothing of its connection: where it goes, whether it is up, which forwards it holds
A remote tab shows a session bar (name, user@host:port via its jump host, a Connected/Reconnecting/Disconnected chip, a chip per forward, Files, Split, More) and a status bar under it.
- QuickshellQS268 · c168074Saved sessions are reached only by typing in the palette, so nobody sees what is saved or what is connected
A sidebar lists saved sessions as a tree, searches them, marks the ones a tab holds Connected, and folds to a remembered rail (design recorded in
docs/design/friendly-shell/README.md). - PPortalPP63 · 80cf9bfnothing in the tree can configure a Qt build carrying WebEngine, so PP46's before cannot be produced at all
reference-build-msvc.ps1 builds the WebEngine Qt client from e4e482e7; measure-startup exits 0 on it, 208.6 MB of Chromium present (design recorded in
tools/measure-startup/README.md). - QuickshellQS267 · 7ccaed0The tab-strip UI case fails on CI's elevated runner, where cmd puts Administrator before every title
The tab-strip case accepts cmd's own Administrator prefix before the first tab's title, so it passes on an elevated runner and on an ordinary desk.
- QuickshellQS266 · 3620411The nightly fuzz job fails on its own script before the campaign says anything
fuzz.ps1 and release.ps1 hash with .NET's SHA256, so they reach their verdict when CI's pwsh starts them under Windows PowerShell.
- QuickshellQS265 · 816cb99The UI cases have never run in CI: they launch a Debug client the Release build does not make
A Release run launches the Release client: the UI cases point winwright at the configuration their own assembly was built in.
- QuickshellQS264 · 7fd9216The settings-reference test fails on every CI push and passes in the guest
The settings-reference test finds the same headings on a CRLF checkout as on an LF one, and a test now checks both.
- QuickshellQS263 · 59151b9The echo-delay test times out in the guest waiting for sixteen megabytes and never says how far it got
The echo-delay test reads at two and eight megabytes, keeping its four-to-one ratio, and a timeout now says how many megabytes were parsed.
- QuickshellQS262 · d516fd1The text an input method is composing vanishes every time the blinking cursor goes dark
A composition is placed by where the cursor is and only its caret blinks, so the text being typed stays on screen and its blink is one cell.
- QuickshellQS261 · 00de5b4Where a read ends decides how wide a character is, so a keycap split by the network leaves the cursor a column off
A mark starting a read joins the cell just written where they make one cluster, so a byte-at-a-time stream leaves the screen a whole one does.
- PPortalPP858 · d132e07the rumble intensity and haptic override sliders change nothing in a session
A stream run reads the Controllers tab's rumble intensity and haptic override from the store and hands them to the haptics player and the actuator matrix.
- PPortalPP857 · 1b654b4a console set to haptics Off still drives the pad, because the intensity it raises is held and never read
The console's haptic intensity reaches the haptics player as it arrives, and Off now silences both the rumble fold and the actuator waveform, stopping a rumbling pad once.
- PPortalPP856 · 2dba27cno workflow builds the installer or attaches it to a GitHub release, so every installer comes off one desk
release.yml builds through compile.cmd and package.cmd on a runner, refuses a tag the exe disagrees with, and drafts the release with the installer and SHA256SUMS.txt.
- PPortalPP855 · 2cf56c5the picture smears for the rest of a scene and nothing asks for a keyframe, because no loss the port counts occurred
The live video receiver now gets the slice parser and the run's IDR flag, so a P-frame without its reference is dropped, its gap reported and a FEC failure asks for a keyframe.
- PPortalPP852 · 4974aedRawBody reads a block-commented function as a real one, and nothing checks that the C contains none
CFunction now finds block-commented definitions and bodies whose comment braces do not balance, and a test sweeps lib/src and shim for both on every run.
- QuickshellQS259 · 84774faA remote forward whose local service stops reading freezes every channel on the connection
Remote forward channels are answered here with a 2 MB window granted as bytes are delivered, so an unread one leaves the shell up (design recorded in
src/Quickshell.Transport/RemoteChannels.cs). - QuickshellQS258 · 19ebf5cA session's whole path parses near 54 MB/s where the budget now asks for 100, the rate the transport delivers
Printable ASCII is written a row's worth at a time, and emulate on cat-log reads about 190 MB/s where it read 31 to 43 that day (design recorded in
benchmarks/results/replay-xps.md). - QuickshellQS256 · f0d7a28One local pane holds 172 MB and a connected session 211 MB, where the budget allows 120 MB for the connected one
Figure 6 is 160 MB, argued from the account: 126 MB is the window and the device, and a connected session now settles at 142 to 145 MB (design recorded in
docs/PERFORMANCE.md). - QuickshellQS254 · 1fa539bA session field written in the wrong place in the store is silently ignored, so the session connects with defaults
A field the store does not have is refused by name and line, and a setting beside the host is told to move under settings, so nothing connects on defaults.
- QuickshellQS252 · 2ac10cbA forwarded port whose local tool stops reading freezes every channel on the connection, the shell included
A local or SOCKS forward nobody reads no longer freezes the connection: its window is granted as bytes reach the user (design recorded in
src/Quickshell.Transport/ChannelWindow.cs). - QuickshellQS225 · 227b338An echo in a window covering its whole monitor has never been timed, the one case offered independent flip
A monitor-covering chain flips independently on the reference desk, echoing at a 24 ms median against 33 windowed; the non-goal names it (design recorded in
benchmarks/results/photon-h.md). - QuickshellQS197 · 18d3634The parse figure spreads by a fifth between runs on the reference machine, so the gate lets a regression that big pass
Parse is pinned to one P-core with eight streams a pass, and the baseline retaken on 2026-10-07 derives a parse threshold of 1.5 % where it was 20.9.
- QuickshellQS141 · 6f1404fFeed runs near 4 MB/s where the budget asks for 400, and the budget measures a different arm
The whole path has a figure argued from the transport: emulate at least 100 MB/s on cat-log, the rate one SSH session delivers over loopback.
- QuickshellQS139 · 31c63d9A host sending faster than the parser consumes buffers gigabytes inside the channel
A fast host now waits for the reader: the shell's 2 MB window is granted back as read, and ten unread seconds hold 1.4 MB, not 3 GB (design recorded in
src/Quickshell.Transport/ChannelWindow.cs). - QuickshellQS137 · 1f875e3The idle figure is measured on a window with no session and no render loop in it
A connected client is measured idle: one pane 0.62 % of a core and 172 MB, a session 0.96 % and 211 MB, GPU time read too (design recorded in
benchmarks/results/idle-h.md). - QuickshellQS75 · cd4133dNothing has been measured starting, so the cold start figure is an aspiration
Timed beside MobaXterm on the reference machine by one observer, quickshell's window is up at 612 ms warm against 894; its prompt reads 657 ms (design recorded in
benchmarks/results/startup-h.md). - QuickshellQS251 · 72685ddThe site's build pulls source-map-js 1.2.1, which Dependabot flags high for an event-loop denial of service
The site's lockfile resolves source-map-js 1.2.2 for both vite and tailwind, npm audit finds nothing, and the site builds.
- QuickshellQS250 · 87d635cA tab cannot be dragged along the strip, and there is no way back to the tab used before this one
A tab dragged along the strip moves under the pointer, and the palette's Go to the last tab used switches by order of use, which Ctrl+Tab leaves positional.
- QuickshellQS249 · bdd5c00Keys typed before a new pane's shell has started are dropped, so a fast first command loses its start
Keys typed while a pane's session opens are kept, bounded, and handed over first and in order once it attaches, so a fast first command no longer loses its start.
- QuickshellQS248 · 3938f7aAn SGR in the last column cancels the owed wrap, so the next character overwrites that column
Only sequences that move the cursor or change the grid cancel an owed wrap, as xterm's ResetWrap sites do, so a full-width line that changes colour at its end still wraps.
- QuickshellQS247 · 909a542A copy started a moment before an install is not found running, so the install is not refused
The running check reads the kernel's image path, so a copy started a moment before an install or uninstall is found and refused instead of being missed.
- QuickshellQS246 · 6b48f1bReverse screen mode DECSCNM is not drawn, so a visual bell never flashes
Mode 5 swaps the default colours in the palette lookup and redraws on each edge, so the visual bell vim and readline send now flashes; esctest went from 465 to 466 passed.
- QuickshellQS245 · 7c84d2dA session's scheme, font size, terminal type, scrollback and credential are stored and inherited but never applied
A session's credential name now keys its remembered password and FontSize is a non-goal out of the dialog, so no session field is shown and then ignored.
- QuickshellQS244 · a2c28cbSeventeen esctest failures in eleven classes have no family of their own
Every class the line listed now passes or is named by a non-goal, DECSCL's levels by a new one; esctest went from 458 to 465 passed across the parts.
- QuickshellQS243 · 2136161DECRQSS answers invalid for settings the client holds, and DA, DA2 and DECID answer another identity
DECSCUSR is drawn and reported, DECRQSS answers every setting held, DECID answers, and the VT220 identity is kept by a non-goal; esctest went from 454 to 458 passed.
- QuickshellQS242 · a6eaed0Reverse wraparound does not follow a backspace back across a wrapped line as xterm does
BS and CUB follow xterm's CursorBack: 45 walks back through a wrapped line, 1045 crosses any row, and an owed wrap is honoured; esctest went from 444 to 454 passed.
- QuickshellQS241 · 850282eHPR and VPR move the cursor nowhere
HPR and VPR move the cursor right and down to the screen's edge, ignoring margins and origin mode; esctest went from 436 to 444 passed.
- QuickshellQS240 · 1f29a1fMost DSR variants and the checksum report get no answer
Every private DSR is answered, hardware this client lacks reported as absent, and DECXCPR's shape follows the claimed VT level; esctest went from 425 to 436 passed.
- QuickshellQS239 · c97d1c5The saved cursor is one for both screens, and XTSAVE, XTRESTORE and DECSTR leave saved state behind
Each screen has its own saved cursor, DECRC with nothing saved homes and resets DECOM, DECSTR does xterm's list, and XTSAVE/XTRESTORE work; esctest went from 407 to 425 passed.
- QuickshellQS238 · 07a0e57The rectangular area operations DECCRA, DECFRA and DECERA do nothing
DECFRA fills, DECERA erases and DECCRA copies a rectangle, clipped and origin-relative as xterm's, and DECSACE is held and reported; esctest went from 388 to 407 passed.
- QuickshellQS237 · 33d3532DECRQM answers not recognised for modes xterm reports as permanently reset or as set
DECRQM answers xterm's ignored modes as permanently reset, KAM and SRM by decision, and DECNKM and DECBKM as real modes; esctest went from 373 to 388 passed.
- QuickshellQS236 · 419af4aWindow operations through CSI t neither report the window nor say they are refused
Every CSI t report is answered from the pane, titles read back empty, the title stack works, and moves and resizes are refused by a non-goal; esctest rose from 359 to 373 passed.
- QuickshellQS235 · 8681d20Character protection is not modelled, so selective erase and protected fields erase everything
DECSCA, SPA and EPA protect cells; DECSED, DECSEL and DECSERA skip them as xterm does, ED, EL and ECH respect ISO protection, and esctest rose from 323 to 359 passed.
- QuickshellQS234 · d76aa37Asking for a colour with OSC 4, 5 or 10 to 19 gets no answer, and their resets are ignored
OSC 4, 5 and 10 to 19 answer a colour query in xterm's form, 104, 105 and 110 to 119 reset to the session's scheme, and XTGETTCAP answers Co; esctest passes 323.
- QuickshellQS233 · 524e710No left or right margin can be set, so everything esctest checks inside a column region fails
DECLRMM and DECSLRM set a column region every cursor, edit, scroll and wrap respects, with DECIC, DECDC, DECBI and DECFI; esctest passes 299 where it passed 231.
- QuickshellQS212 · f40821fDark text on a light theme carries 12 to 17 % less ink than Windows draws, while light-on-dark carries more
Dark text on a light theme carries Direct2D's ink within 1 % in both antialiasing modes, and light-on-dark is drawn as before (design recorded in
docs/measurements/contrast.md). - QuickshellQS210 · 46d49a9The fuzzing campaign runs only when somebody types run-fuzz.cmd
A nightly CI workflow runs the fuzz campaign with its corpus cached between runs, and CI warns on every push once the last campaign is over a week old.
- QuickshellQS160 · b5d26a2A tab cannot be dragged into a new order or out into its own window, so the workspace is fixed as it was opened
A tab moves out into a window of its own with its sessions connected, and closing one of several windows ends only its own sessions.