Summary
After a macOS restart, every browser tool call fails immediately with Error: No SW, while taskwindow_status reports everything healthy. The status check and the actual command path disagree, so a client has no signal telling it (or the user) what to do.
Environment
- Daemon 0.2.8, extension 0.2.8 (latest per
taskwindow_status)
- macOS (Darwin 25.5.0), Chrome
- Called over MCP (
mcp__taskwindow__*)
Reproduction
- Use TaskWindow normally (tabs created and driven fine before the restart).
- Restart the Mac. Chrome reopens.
- Call
tabs_create (new session, no sessionToken) → Error: No SW
- Retry
tabs_create → Error: No SW
- Call
navigate with the pre-restart sessionToken (inside browser_batch) → batch aborted at step 1 (navigate): No SW
- Call
taskwindow_status →
{
"daemon": "running",
"daemonVersion": "0.2.8",
"latestVersion": "0.2.8",
"extensionConnected": true,
"extensionVersion": "0.2.8",
"recovery": null,
"update": null
}
Expected
Either the call wakes the extension's service worker and succeeds, or taskwindow_status reports the worker as not ready and returns a recovery action (for example "click the TaskWindow icon" or "reload the extension"), which is what its description promises.
Notes
No SW does not appear in the TaskWindow source (checked at 2177835), so it looks like it surfaces from Chrome when the extension's MV3 service worker is not running or not registered after the browser restarts.
- The error text alone is not actionable for the user; a mapped message plus a
recovery hint would be.
Summary
After a macOS restart, every browser tool call fails immediately with
Error: No SW, whiletaskwindow_statusreports everything healthy. The status check and the actual command path disagree, so a client has no signal telling it (or the user) what to do.Environment
taskwindow_status)mcp__taskwindow__*)Reproduction
tabs_create(new session, nosessionToken) →Error: No SWtabs_create→Error: No SWnavigatewith the pre-restartsessionToken(insidebrowser_batch) →batch aborted at step 1 (navigate): No SWtaskwindow_status→{ "daemon": "running", "daemonVersion": "0.2.8", "latestVersion": "0.2.8", "extensionConnected": true, "extensionVersion": "0.2.8", "recovery": null, "update": null }Expected
Either the call wakes the extension's service worker and succeeds, or
taskwindow_statusreports the worker as not ready and returns arecoveryaction (for example "click the TaskWindow icon" or "reload the extension"), which is what its description promises.Notes
No SWdoes not appear in the TaskWindow source (checked at2177835), so it looks like it surfaces from Chrome when the extension's MV3 service worker is not running or not registered after the browser restarts.recoveryhint would be.