Signoff Studio Docs
Parity & gap report
Inventory comparison for Windows App v26.8.5 and VS Code Extension v0.2.58. Both share the React webview for API / Runner / DB. Columns: Windows / VS Code use ✅ available, ⚠️ partial, ❌ absent. Gap summarizes deltas; Workaround lists practical alternatives.
Getting started / install / workspaces
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Getting started | NSIS / Store APPX installer | ✅ | ❌ | Windows-only installers | Install VS Code extension from Marketplace / VSIX |
| Getting started | Marketplace / VSIX install | ❌ | ✅ | VS Code-only distribution | Use Windows app from download |
| Getting started | Welcome dialog (Import / Create) | ✅ | ✅ | Full parity | — |
| Workspaces | Default root under Documents | ✅ | ⚠️ | Paths differ by host | Open/import the same folder explicitly |
| Workspaces | New / Open / Import / Manage / Switch | ✅ | ✅ | Full parity | Also use qasignoff.*Workspace commands in VS Code |
| Workspaces | Duplicate-as / Reveal / Close / Favorite | ✅ | ⚠️ | Desktop menu richer | Use Reveal in Explorer command + OS file manager |
| Workspaces | Unsaved / relocate dialogs | ✅ | ✅ | Full parity | — |
| Getting started | Desktop update banner / auto-update | ✅ | ❌ | Windows-only updates | Marketplace auto-updates the extension |
Interface chrome
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| UI | Mode tabs API / Runner / DB | ✅ | ✅ | Full parity | — |
| UI | Mode tab Git | ✅ | ❌ | Windows only | VS Code Source Control + terminal Git |
| UI | App menu File/Edit/View/Help | ✅ | ❌ | Windows only | Command Palette + VS Code menus |
| UI | Workspace menu | ✅ | ✅ | Full parity | — |
| UI | Import, Logs, Help, Settings, Env switcher | ✅ | ⚠️ | Settings overlay desktop-first | Preferences + webview settings; see Settings gaps |
| UI | Topbar layout | ✅ | ✅ | Full parity | — |
| UI | Activity Bar + sidebar welcome | ❌ | ✅ | VS Code only | — |
| UI | Status bar Signoff Studio |
❌ | ✅ | VS Code only | — |
| UI | VS Code theme bridge | ❌ | ✅ | VS Code only | Windows uses in-app themes |
| UI | Dirty title indicator (●) | ✅ | ✅ | Full parity | — |
Collections & tree
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Collections | Tree (folders + requests) | ✅ | ✅ | Full parity | — |
| Collections | Request / collection tabs | ✅ | ✅ | Full parity | — |
| Collections | History footer | ✅ | ✅ | Full parity | — |
| Collections | Request context menu | ✅ | ✅ | Full parity | — |
| Collections | Folder context menu | ✅ | ✅ | Full parity | — |
| Collections | Collection context menu | ✅ | ✅ | Full parity | — |
| Collections | Collection workspace tabs | ✅ | ✅ | Full parity | — |
| Collections | Create / Import / Run / Duplicate / Export / Delete / Sync OpenAPI / Mock | ✅ | ✅ | Full parity | — |
Request builder & response
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Requests | Params / Auth / Headers / Body / Pre-request / Tests / Settings | ✅ | ✅ | Full parity | — |
| Requests | HTTP methods | ✅ | ✅ | Full parity | — |
| Requests | Body modes (None/JSON/Form/Multipart/GraphQL/Binary/Raw) | ✅ | ✅ | Full parity | — |
| Requests | Save / unsaved dialogs | ✅ | ✅ | Full parity | — |
| Requests | Asserts editor / generator | ✅ | ✅ | Full parity | — |
| Requests | Variable extract dialog | ✅ | ✅ | Full parity | — |
| Requests | Response examples CRUD | ✅ | ✅ | Full parity | — |
| Requests | Generate code modal | ✅ | ✅ | Full parity | — |
| Requests | AI assist bar (BYOK) | ✅ | ✅ | Full parity | Configure providers first |
| Response | Stream / Pretty / Raw / Headers / Explorer / Checks | ✅ | ✅ | Full parity | — |
| Response | Restore response panel command | ⚠️ | ✅ | Command is VS Code-only | Re-open layout manually on Windows |
Environments & secrets
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Environments | Environment switcher | ✅ | ✅ | Full parity | — |
| Environments | Environments page CRUD | ✅ | ✅ | Full parity | — |
| Environments | {{variable}} resolution |
✅ | ✅ | Full parity | — |
| Environments | Secret masking / strip on commit | ✅ | ✅ | Full parity | — |
| Environments | Import Bruno / Postman / Signoff env | ✅ | ✅ | Full parity | — |
Import / export
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Import | Signoff Collection | ✅ | ✅ | Full parity | — |
| Import | Postman v2.0 / v2.1 | ✅ | ✅ | Full parity | — |
| Import | OpenAPI 3.x / Swagger 2.0 | ✅ | ✅ | Full parity | — |
| Import | Bruno | ✅ | ✅ | Full parity | — |
| Import | Thunder Client (+ Git Sync) | ✅ | ✅ | Full parity | — |
| Import | Insomnia v4 / v5 | ✅ | ✅ | Full parity | — |
| Import | Hoppscotch | ✅ | ✅ | Full parity | — |
| Import | cURL | ✅ | ✅ | Full parity | — |
| Export | Signoff / Postman v2.1 / Bruno / OpenAPI 3 | ✅ | ✅ | Full parity | — |
Authentication
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Auth | none, inherit, bearer, basic, api-key | ✅ | ✅ | Full parity | — |
| Auth | oauth2 (auth code+PKCE, client creds, refresh, password, implicit) | ✅ | ✅ | Full parity | — |
| Auth | oauth1, digest, custom | ✅ | ✅ | Full parity | — |
| Auth | aws-signature (SigV4) | ✅ | ✅ | Full parity | — |
| Auth | hawk | ✅ | ✅ | Full parity | — |
| Auth | ntlm | ⚠️ | ⚠️ | UI present; not supported yet | Use alternate auth or external gateway |
| Auth | OAuth local callback host | ✅ | ✅ | Full parity | — |
| Auth | Inherited auth collection/folder/request | ✅ | ✅ | Full parity | — |
Scripting
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Scripts | Pre-request + Tests (request) | ✅ | ✅ | Full parity | — |
| Scripts | Collection/folder ScopeScriptStudio | ✅ | ✅ | Full parity | — |
| Scripts | QuickJS qa.* dialect |
✅ | ✅ | Full parity | — |
| Scripts | Aliases pm.* / bru.* / pw.* |
✅ | ✅ | Full parity | — |
| Scripts | qa.db / qa.load / qa.files / qa.ui |
⚠️ | ⚠️ | Host-gated APIs | Prefer portable qa.* HTTP asserts in shared collections |
Runner
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Runner | Collection / folder scope picker | ✅ | ✅ | Full parity | — |
| Runner | Modes Manual / Scheduled / CLI / Background | ✅ | ⚠️ | Scheduled desktop-preferred | CLI/cron for unattended; keep panel open for webview schedules |
| Runner | Run / Pause / Resume / Stop / Restart | ✅ | ✅ | Full parity | — |
| Runner | Plan tree, dashboard, report, inspector, results | ✅ | ✅ | Full parity | — |
| Runner | RunConfig (iterations, delay, timeout, bail, retry, workers, SSL, reports) | ✅ | ✅ | Full parity | — |
| Runner | Test data CSV/JSON | ✅ | ✅ | Full parity | — |
| Runner | Reports json/html/pdf/junit/csv | ✅ | ✅ | Full parity | Set SIGNOFF_CHROME_PATH for PDF if needed |
| Runner | Run history panel | ✅ | ✅ | Full parity | — |
Load testing
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Load | Load panel (VUs, duration, ramp, thresholds) | ✅ | ✅ | Full parity | — |
| Load | CLI load subcommand |
✅ | ✅ | Full parity | Run from any terminal with backend package |
Monitors / scheduler
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Monitors | Create/edit schedules (once/daily/weekly/monthly/cron) | ✅ | ⚠️ | Fires only while UI open on both; desktop better for always-on | Windows Store app; or OS/CI cron + CLI |
| Monitors | Environment + timezone pickers | ✅ | ✅ | Full parity (UI) | — |
| Monitors | Fires only while app/panel open | ⚠️ | ⚠️ | By design on both | Keep app open; prefer Windows for always-on |
| Monitors | Failure desktop notify | ✅ | ❌ | Windows only | Watch Runner history / CI notifications |
| Monitors | Store app recommendation notice | ✅ | ✅ | Full parity (copy) | Follow link to Microsoft Store |
OpenAPI mock
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Mock | Start/stop from folder/collection | ✅ | ✅ | Full parity | — |
| Mock | Mock toolbar + logs | ✅ | ✅ | Full parity | — |
| Mock | CLI npm run mock |
✅ | ✅ | Full parity | — |
Cookies & utilities
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Utilities | Search, Cookies, Console, Dev Tools, Preferences | ✅ | ✅ | Full parity | — |
| Utilities | Cookie jar persistence path | ⚠️ | ⚠️ | Different files per host | Re-auth per host or share tokens via env secrets |
| Utilities | Diagnostic logs page | ✅ | ✅ | Full parity | — |
Database workbench
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| DB | Drivers Sample/Postgres/MySQL/SQL Server/Oracle/SQLite | ✅ | ✅ | Full parity | — |
| DB | Connections CRUD, test, vault | ✅ | ✅ | Full parity | — |
| DB | SQL editor, schema intel, multi results | ✅ | ✅ | Full parity | — |
| DB | Transactions, kill session, export results | ✅ | ✅ | Full parity | — |
| DB | Driver overlays update/rollback | ✅ | ✅ | Full parity | — |
Git workbench
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Git | Status, stage, commit, fetch, pull, push | ✅ | ❌ | Windows only | VS Code Source Control |
| Git | Branches / remotes / clone / init | ✅ | ❌ | Windows only | Terminal git / IDE Git |
| Git | Git import panel | ✅ | ❌ | Windows only | Clone externally → Open/Import Workspace |
Settings
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Settings | Full Settings overlay (General…About) | ✅ | ❌ | Windows only overlay | Use Preferences + webview AI/settings where exposed |
| Settings | In-app Preferences (console, appearance) | ✅ | ✅ | Full parity | — |
| Settings | VS Code contributes.configuration |
❌ | ❌ | None by design | No settings.json keys — configure in-product |
| Settings | Proxy / certificates / updates / security / AI | ✅ | ⚠️ | Desktop-complete; VS Code partial | Configure proxy at OS/VS Code level; AI in webview |
AI assist
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| AI | BYOK OpenAI/Anthropic/Azure/Gemini/compat | ✅ | ✅ | Full parity (capability) | Windows Settings UI is richer for tokens |
| AI | Autocomplete modes | ✅ | ✅ | Full parity | — |
MCP & CLI
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| CLI | qasignoff-runner run flags |
✅ | ✅ | Full parity | — |
| CLI | qasignoff-runner load flags |
✅ | ✅ | Full parity | — |
| CLI | mock CLI | ✅ | ✅ | Full parity | — |
| CLI | MCP tools list_*/run_* | ✅ | ✅ | Full parity | Local stdio only |
| CLI | workspace:normalize | ✅ | ✅ | Full parity | — |
VS Code host commands
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| VS Code | qasignoff.open |
❌ | ✅ | VS Code only | Launch Windows app |
| VS Code | newWorkspace / openWorkspace / importWorkspace / manageWorkspaces / switchWorkspace |
❌ | ✅ | VS Code only | Windows workspace menu |
| VS Code | qasignoff.restoreResponsePanel |
❌ | ✅ | VS Code only | Reopen response pane in layout |
| VS Code | explorer.runCollection / runRequest / revealInExplorer |
❌ | ✅ | VS Code only | Tree context menus in webview |
| VS Code | Contributed keybindings | ❌ | ❌ | None | Bind command IDs in keybindings.json |
Protocols (summary)
| Module | Feature | Windows | VS Code | Gap | Workaround |
|---|---|---|---|---|---|
| Protocols | REST | ✅ | ✅ | Full parity | — |
| Protocols | GraphQL (+ introspect, graphql-ws) | ✅ | ✅ | Full parity | — |
| Protocols | WebSocket | ✅ | ✅ | Full parity | — |
| Protocols | SSE | ✅ | ✅ | Full parity | — |
| Protocols | gRPC (call / list / reflect) | ✅ | ✅ | Full parity | — |
| Protocols | MQTT | ✅ | ✅ | Full parity | — |
Headline gaps (operator view)
- Git workbench — Windows only; use VS Code SCC otherwise.
- Always-on monitors — UI must stay open; Windows Store app recommended; desktop failure notify is Windows-only.
- Settings overlay — full proxy/certs/updates/security/AI token UI is Windows-first; VS Code has no contributed configuration.
- NTLM auth — shown but not implemented on either host.
- Cookie jars — separate persistence paths per host.