What changed in each cwdio release. Current version 0.1.5, released 3 September 2026: cwdio is code-signed from this release on — Windows now names a verified publisher instead of an unknown one — and a helper that antivirus refuses to run stops asking again on every folder you open.
Updated 3 September 2026
Installed copies update themselves (the installer build) or show a passive notice with a link (the
portable build); Help ▸ Check for updates exists on both. Every release also publishes
its binaries and SHA256SUMS.txt on GitHub Releases.
Subscribe with RSS.
cwdio is code-signed from this release on — Windows now names a verified publisher instead of an unknown one — and a helper that antivirus refuses to run stops asking again on every folder you open.
Two changes about trust: one that makes Windows recognise who built this, and one that stops a security
product’s verdict turning into a stream of alerts.
New
cwdio is code-signed. Every release from 0.1.5 is signed with an individual-validated certificate
issued by SSL.com — the app, the installer, and the small helper executables inside it. Click More
info on any Windows prompt and it now names a verified publisher rather than unknown. The private key
never leaves the certificate authority’s hardware, so it cannot be lifted off a build machine.
This is not an instant end to the SmartScreen prompt, and it would be dishonest to say otherwise:
SmartScreen weighs how many people have run a particular file as well as who signed it, so a fresh
release can still show “Windows protected your PC” until enough people have installed it. What changes
is that the reputation now accrues to a publisher across releases instead of starting from zero with
every build — so it gets better from here rather than resetting each time.
Fixed
A blocked helper asks once, not endlessly. cwdio reads real Windows file attributes and real Explorer
icons through two small helper programs. If security software refuses to let one of them run, the
feature falls back on its own — hidden files use the dotfile convention, the file list uses its built-in
glyphs — which was always the intent. What was wrong is that cwdio kept trying: attributes are read on
every navigation and icons on every scroll, so a single blocked helper produced an antivirus alert per
folder you opened. Now three failed starts in a row and cwdio stops asking for the rest of the session,
logging the reason once. A helper that answers and then crashes still recovers exactly as before, and the
next launch tries again — a verdict can be reversed, and a feature written off permanently could never
come back.
cwdio is a terminal command now — type “cwdio .” in any shell — and the download is 35 MB smaller, because a fifth of what shipped could never be loaded: debug symbols, a second CPU architecture, and 53 languages the app doesn't speak.
A housekeeping release, in the sense that a smaller download and a command you can type are the two things
you notice before any feature.
New
cwdio is a terminal command. Type cwdio . in any shell to open the folder you are standing in, or
cwdio D:\work to open somewhere else — the same arguments the app already understood, finally reachable.
The installer sets this up for you; there is no administrator prompt, because it goes on your PATH and
nowhere else. Turn it off (or on, for the portable build) at Tools ▸ “cwdio” command in the terminal,
or in Preferences ▸ System. Already-open terminals keep the environment they started with, so open a
new one.
Changed
The download is smaller. The installer is now about 130 MB instead of 165, the portable zip
137 MB instead of 176, and the app takes roughly 330 MB on disk instead of 470 — a fifth off the
download and nearly a third off the disk. Nothing was removed from the product: what went was debug
symbols for the terminal’s native code, a complete set of binaries for a CPU architecture this build does
not run on, a shader compiler for a graphics API cwdio never calls, and Chromium’s translations for 53
languages the app does not speak. None of it could be loaded; all of it was being downloaded.
Updates are smaller too. An installed copy now pulls about 129 MB per update instead of 164 —
every release, for everyone. cwdio still downloads a whole new copy rather than a patch: we measured the
patch, and for an app built on Chromium it came out at three quarters of the full size, which is not worth
the machinery. Making the thing smaller beat trying to send less of it.
Fixed
Uninstalling could leave the installation folder behind when a setup task was still finishing.
F4 edits text — a built-in quick editor or your own, with byte-faithful, undoable saves — and every build can now learn about an update: the portable build shows a passive notice and Help ▸ Check for updates works everywhere.
Two things this release is about: editing a text file without leaving the file manager, and never being
the last to know a newer cwdio exists.
New
F4 edits. For editable text, F4 opens the built-in quick editor — Quick
Look’s edit mode, so F3 and F4 flip between reading and editing the same file, and
Ctrl+S saves. Prefer your own editor? Preferences ▸ Editor lets F4 open it instead;
cwdio detects VS Code, Cursor, Zed, Sublime Text, Notepad++ and Notepad on its own, honours $VISUAL and
$EDITOR, and opens a search hit at its line. Ctrl+E is always the external editor,
Ctrl+Shift+F4 always the built-in one, and Shift+F4 creates a new text file and opens
it. Terminal editors (nvim, micro, hx, nano…) run in the embedded terminal — on an SFTP panel, in
the server’s own SSH shell.
Saves you can trust and undo. A save keeps the file’s encoding, byte-order mark, line endings and
trailing newline exactly as they were, writes in place (the file keeps its identity), refuses to overwrite
a file that changed on disk or is read-only — with a banner offering the right action, never a silent
clobber — and copies the previous bytes into the overwrite stash first, so Ctrl+Z after a save
restores what was there. Remote files over SFTP and FTP are edited in place too, with no temp-file dance.
Files inside archives open read-only.
Every build can learn about an update. The portable build now shows a quiet notice when a newer
version has been published, with a link to the download; Help ▸ Check for updates (also a button in
About) works on both builds and reports one of three states — up to date, update available, or unknown
when the release information could not be reached, which is shown as a warning rather than dressed up as
“up to date”. The installer build keeps updating itself as before; the check nudges it to look now.
Fixed
Fresh installs no longer say “It looks like the app didn’t close properly last time.” The installer’s
own setup launches ran the full startup and left a crash marker behind; they now exit cleanly, so a first
run starts quiet.
Update information is read only from published releases, so a notice can never point at a download
page that does not exist yet.
Notes
Portable-build users on 0.1.2 will not see the new notice until they are on 0.1.3 — this is the release
that adds it. Download it from the download page; from now on the app will tell you itself.
Drag and drop and the clipboard now work with the rest of Windows, Markdown previews render diagrams and links, the keyboard is never stranded after a dialog, a refused folder leaves the panel where it was, and feedback has tiers — toasts for outcomes, a bell that remembers.
A release about cwdio behaving like part of Windows rather than a window on it, and about the small
correctness of a keyboard-first tool: focus, cursor, and what happens when a folder says no.
New
Every row drag is a native Windows drag. Drag a selection onto the other panel, another cwdio
window, Explorer, or any app that accepts files — one gesture, nothing to remember. Hold Shift
to move instead of copy. Dropping on cwdio’s own panel keeps the internal behaviour: drop guards, the
queue, undo. (The old, undiscoverable Alt+drag export is gone.)
The Windows clipboard is the file clipboard.Ctrl+C or Ctrl+X in cwdio pastes
in Explorer; Explorer’s copy or cut pastes in cwdio — as a copy or as a move, respectively. Each cwdio
window’s clipboard is its own, so a paste always resolves against what is actually on the clipboard.
Markdown previews grew up. The preview fills its pane, every link works — web links open in your
browser, relative links open the linked file in the same preview, anchors jump within the document — and Mermaid diagrams
render as pictures instead of source. Diagrams are drawn through an element allowlist rather than raw
HTML, so a document you merely previewed can never run anything.
Feedback has tiers. Outcomes arrive as toasts near where you are looking; the status bar keeps the
most recent one and a bell counts what you missed; a notification centre lets you read back. Errors never
auto-dismiss, and a failure is never dressed as a success. Dialogs are reserved for decisions.
Fixed
The keyboard is never stranded. Closing any dialog, picker, menu or the palette returns focus to the
file list you came from — previously the cursor keys went dead until you pressed Tab twice or
reached for the mouse.
Navigation is atomic. Entering a folder you have no rights to no longer replaces the list with an
error line while the breadcrumb and footer still describe the old folder; the panel simply stays where it
was and tells you why. Only a re-list of the folder you are already in can show the error view.
The cursor never parks on ... A freshly loaded panel puts the cursor on the first real entry, so
Tab into a panel always lands on something you can act on. .. takes the cursor only when the
folder holds nothing else; going up still lands on the folder you left, and a delete still lands on the
surviving neighbour.
Git uses your SSH client. cwdio no longer overrides core.sshCommand, so a repository configured for
a specific key or agent behaves in cwdio’s Changes, Branches and History views exactly as it does at your
prompt.
Notes
Portable-build users: 0.1.2 is the last release without an in-app update notice; from the next release
the portable build shows a passive notice when a newer version exists and every build has Help ▸ Check
for updates.
The release that turned on the update feed and the founding-user claim: installed copies now update from updates.cwdio.com, cwdio.com went live, and Founding Users can claim a perpetual licence key by email.
A same-day follow-up to 0.1.0 that wired the app to the world around it: the update feed, the website,
and the founding-user licence.
New
Automatic updates for the installer build, served from cwdio’s own feed at updates.cwdio.com.
From this version on, an installed copy checks in the background and applies a new version on the next
restart. Copies of 0.1.0 remain pointed at the GitHub feed and still receive updates from there.
cwdio.com went live, with the download counter that makes the download number real regardless of ad
blockers, and the founding-user claim: leave an email, open a one-time link, receive a perpetual licence
key.
Help ▸ License… now has an action you can take. It links to the claim page on cwdio.com instead of
offering only a box to paste a key into; the paste-a-key path remains for people who already have one.
Improved
The shipped binary’s security posture — the Electron fuses, renderer isolation, the CSP, the absence of
source maps — is now pinned by a test, so a refactor cannot silently weaken it.
Notes
Nothing changed in day-to-day file management between 0.1.0 and 0.1.1; if 0.1.0 works for you, the
auto-update simply arrives when it arrives.
The first public release: a free, keyboard-first, dual-pane file manager for Windows with a terminal that follows the panel, verified transfers, search, remote servers, archives, previews, git and an AI assistant that only proposes.
The first public beta of cwdio. Everything below shipped on day one, free, with no account and no
telemetry.
New
Two panels and a terminal that follows them. Navigate a panel and the embedded terminal cds;
type cd in the terminal and the panel moves. Multiple terminals, each bound to a pane, including over
SSH. Shells are discovered the way Windows Terminal discovers them — PowerShell, cmd, WSL distributions,
Git Bash, Visual Studio developer shells.
Transfers you can trust. Copy and move through an operation queue with verification, resume after
a dropped drive or connection, per-file skip and retry, and a journal that survives closing the app.
A safety net on by default. Delete goes to the Recycle Bin, overwritten files are stashed rather than
destroyed, and Ctrl+Z undoes a whole batch — including anything the AI assistant did.
Search that gives you rows. Find files by name instantly (using the Everything index when it is
installed) or search inside them, honouring .gitignore; results are live rows you can copy, move,
rename or delete.
Servers as folders. SFTP and FTP/FTPS mount as ordinary folders, with a real SSH shell on the same
connection; credentials are encrypted by Windows and never uploaded.
Archives as folders. Step into ZIP, 7z, RAR and tar archives — including encrypted ones — with the
readers built in; create ZIP, 7z and tar.gz.
The everyday tools. Bulk rename with a live preview (dates from EXIF, names from audio tags), a
treemap size map, a duplicate finder that pre-selects every copy but one, folder compare-and-sync, and
Space to preview images, video, audio, PDF, CSV tables, Markdown and code without opening
anything.
Git in the file list. Status badges per file, plus dockable Changes, Branches and History views.
An AI assistant that proposes. Bring your own provider key; read tools run freely, anything that
changes a file is a proposal you confirm, executed through the same queue, trash and undo.
A dockable workspace. Folder tabs per panel, tool windows you can arrange, a command palette
(Ctrl+Shift+P) with every command and its shortcut, rebindable keys, English and Ukrainian.
Two builds. A per-user installer that needs no administrator rights and updates itself, and a
portable zip that installs nothing. SHA-256 checksums for every file.
Also in this release
Hidden files follow Explorer’s two-tier rules, and directory symlinks and junctions navigate in place
instead of bouncing out to Explorer.
The terminal uses a GPU-accelerated renderer, which fixed text clipping at the right edge.
Windows will show a one-time SmartScreen prompt: cwdio is not yet code-signed. Every release publishes
checksums so the download can be verified first.