Docs

Troubleshooting cwdio

What each cwdio hiccup means and what to do: SmartScreen, the “didn't close properly” dialog, where the logs are, an unknown update state, reporting bugs.

Updated 15 August 2026 View as Markdown

Most of what goes wrong with cwdio is one of the situations below, and most of them are cwdio being careful rather than broken. Each entry says what you are seeing, why, and what to do.

“Windows protected your PC” when I run it

SmartScreen weighs two things: who signed the file, and how many people have run it. cwdio is code-signed — click More info and Windows names the verified publisher, Ihor Melnyk — but each new release starts its install count at zero, so the prompt can still appear until enough people have run that build. It is not a malware detection. Click More info, then Run anyway — once per file. If it appears again, it is a different file (a new version). If you would rather verify first, every release publishes SHA256SUMS.txt; see Install and update.

“It looks like the app didn’t close properly last time”

cwdio writes a small marker file when it starts and removes it on a clean shutdown. If the marker is still there at the next launch, the previous run ended abruptly — a hard crash, a force-kill, or power loss. The dialog that reports this is non-blocking and opt-in: Send report opens a pre-filled GitHub issue carrying the redacted tail of main.log (your home directory becomes ~, user-profile path segments become <user>, and email addresses are removed); Open logs opens the log folder; Dismiss closes it. It shows once per incident and never touches your files.

If you see it on the very first launch after installing, that is a known bug in 0.1.0 through 0.1.2 — the install step itself left the marker behind — and it is fixed in the release that follows. The dialog is harmless; dismiss it.

Where the logs are

%AppData%\@cwdio\desktop\logs\ holds one file per process:

FileWhat is in it
main.logThe Electron main process: startup, windows, updates, the crash marker, single-instance handoffs
services.logThe services host: listing, copy/move/delete, search, remote connections, git. A failed file operation is diagnosable here, with the full error and cause
plugins.logThe plugin host

Help ▸ About ▸ Open logs opens the folder. The logs are size-bounded and never grow without limit.

Something failed and then everything came back on its own

File work runs in a separate services host process. If that process dies, cwdio restarts it with a trace in services.log and carries on; if it keeps dying, cwdio gives up restarting and says so in the log rather than looping forever. In either case the main window stays up. Check services.log for what happened; a bug report with those lines is the most useful thing you can send.

The terminal opens but not with the shell I expected

cwdio discovers the shells you have the way Windows Terminal does — PowerShell, Windows PowerShell, Command Prompt, one profile per WSL distribution, Git Bash, Visual Studio developer shells, and Windows Terminal’s own profiles. Discovery is best-effort: if a source cannot be read you get the base three rather than an error. Use the picker on the terminal tab bar to choose a profile, and check that the shell launches from Windows Terminal itself. Details: terminal sync.

Help ▸ Check for updates says “unknown”

cwdio could not read the current release information — you are offline, the request returned a 404, or the manifest was malformed. It is reported as a warning on purpose, never as “up to date”: an app that cannot reach the network cannot honestly claim you are current. Try again when online. The check itself never blocks anything.

The portable build never updates

By design. The portable zip changes nothing on disk, so it cannot replace itself. It shows a passive notice when a newer version exists and Help ▸ Check for updates works any time; to update, download the new zip and replace the folder. Your settings are outside the folder and carry over. If you want automatic updates, use the installer build. See Install and update.

The Explorer right-click entry is missing

Open in Cwdio File Manager is registered per user (no administrator rights) on folders, folder backgrounds and drives.

  • On Windows 11 it lives under Show more options (the classic menu), not in the compact top-level menu — a top-level entry requires a signed package, which comes with code signing.
  • On the portable build it is opt-in: Tools ▸ Explorer integration.
  • On the installer build it is registered at install; if it is gone, run the toggle under Tools once.

Two windows, or the wrong one, opened

A second cwdio launch — from Explorer’s menu, a shortcut, or cwdio <path> — is handed to the running instance. By default a path opens in the existing window’s left panel; Tools ▸ Open folders in a new window changes that. Explicit flags win: cwdio -n <path> always opens a new window and cwdio -r <path> always reuses the running one. A bare launch with no path opens a new window, which is the Windows taskbar’s “new instance” gesture behaving as expected.

Reporting a bug

  1. Help ▸ About ▸ Report an issue — opens a GitHub issue pre-filled with your cwdio version and platform.
  2. Say what you did, what happened, and what you expected.
  3. For a file-operation problem, paste the relevant lines from services.log; for a startup or window problem, from main.log. Both are under %AppData%\@cwdio\desktop\logs.

Issues live at github.com/cwdio/cwdio/issues. The source is private but the tracker is public, and every report is read.

Questions

cwdio says the app didn't close properly last time. Did I lose anything?

No files are touched by that dialog. It means the previous run ended without a clean shutdown — a crash, a forced kill, or power loss. It offers Send report (a pre-filled GitHub issue with a redacted tail of the log), Open logs, or Dismiss, appears once per incident, and never blocks you.

Where are the log files?

Under %AppData%\@cwdio\desktop\logs — main.log, services.log and plugins.log, one per process. Help ▸ About has an Open logs button that opens the folder. The services log is where a failed file operation is diagnosable in full.

Are crash reports sent automatically?

No. Reporting is opt-in, one dialog per incident. When you choose Send report, cwdio opens a pre-filled GitHub issue in your browser with the tail of main.log, after replacing your home directory with ~, user-profile path segments with <user>, and any email addresses. Nothing is sent without you seeing it.

How do I report a bug well?

Help ▸ About ▸ Report an issue opens a GitHub issue pre-filled with your cwdio version and platform. Add what you did, what happened, what you expected, and — for a file-operation problem — the relevant lines from services.log. Bug reports live at github.com/cwdio/cwdio/issues.