Postguy
Reference

Feature status

What is shipped, partial, planned or out of scope in each area, from the parity file, plus the known limitations in plain terms.

Postguy tracks every feature in parity/postman-features.toml. That file is the source of truth for this page. Each entry has an area, a tier, a status and notes.

  • cargo xtask parity validates the file. A shipped entry must cite evidence. A planned entry must not.
  • Run cargo xtask parity --partial to list the partial ones.

The statuses mean:

StatusMeaning
shippedUsable today and backed by evidence (a test or code path) in the file.
partialPart of it works. The notes in the file say what is missing.
plannedNot started.
naOut of scope by design (cloud features; Postguy is offline and local).

Totals

cargo xtask parity reports: 116 features, 56 shipped, 46 partial, 13 planned, 1 na.

AreaNameShippedPartialPlannedNATotal
ACollections832013
BEnvironments and variables62109
CHTTP9132024
DgRPC452011
EWebSocket15107
FAutomation941014
GImports and exports1120013
HUI shell6100016
IPlatform and packaging22419
Total5646131116

The one na entry (na.cloud) is in area I. It covers cloud workspaces, sync, sharing, AI assistants, monitors, mock servers, flows and the API network.

These numbers come from the file as of this build of the documentation. They change as features land. Run cargo xtask parity in your checkout for the current count.

Planned

These are not started:

AreaFeature
AFavourites and A-Z sort (a.favourites-sort)
ADefault ("pinned") environment per collection (a.pinned-environment)
BRight-click "Set as variable" on selected text (b.set-as-variable)
CExamples (saved responses) under a request (c.examples)
CJSONPath / XPath response filter (c.response-filter)
Dgrpcurl code snippet (d.grpcurl-snippet)
DGenerate a collection from a gRPC service (d.generate-collection)
ESaved WebSocket messages (e.saved-messages)
FMCP server, postguy-cli mcp (f.mcp)
IOS services: platform directories, dialogs, reveal in file manager, clipboard, system proxy discovery (i.platform-services)
ISize, speed and idle budgets enforced in CI (i.budgets)
IAccessibility pass (i.a11y)
IPackaging (i.packaging)
MCP is planned only. postguy-cli mcp is not a subcommand today: the CLI prints its usage and exits with code 2. The planned server would use stdio, be opt-in, and expose the same tool table as postguy-cli tools. Until it ships, drive Postguy with postguy-cli tools --json, call and run --script.

Partial, by area

These are the gaps listed in the notes of the file. Everything not named here is described as working.

Collections

  • Drag and drop works inside the tree. Dropping files from the OS onto the app to open the import dialog is missing.
  • Context menus lack Add to favourites, Sort A-Z, Collapse all and Reveal in file manager. A few actions are also missing (Run, Export/Import, Copy as cURL).
  • Folder variables, auth and scripts work. Folder variables resolve in the request scope chain. Folder scripts run between the collection and request scripts.

Environments and variables

  • The variables quick-look popover cannot edit a value in place or add a variable.
  • {{var}} chips and autocomplete work. The hover popover has no edit or add-to-scope actions, the list has no scope badges, and it does not list dynamic variables.

HTTP

TopicMissing
Request lineAn inline undo hint after pasting a cURL command, and a visible resolved-URL preview.
Params tabThe cursor-preserving two-way edit between the URL field and the table.
Headers tabCustom named header presets with a management dialog.
AuthThe OAuth 2.0 implicit grant and a Manage-tokens screen. NTLM, EdgeGrid and ASAP are stored but not applied.
Cookies managerAdding and editing cookies, and the template list.
ProxyOS system-proxy discovery (environment variables only) and a per-request "off" switch.
TLSPFX client certificates, encrypted private keys, per-host certificate entries, passphrase storage.
Response viewerImage previews, search navigation, regex and whole-word search, clickable URLs, a file-picker save dialog.
Large bodiesThe line index is computed on the UI thread; Pretty is disabled above 5 MB.
Response tabsA Timeline tab and hover details on header rows.
TimingsSeparate DNS, TCP and TLS rows (they appear combined as Connect) and per-redirect timings.
Save ResponseThe example picker and a 5 MB example size check.
History and trashDay grouping in the History list.

gRPC

TopicMissing
DefinitionsWorking today: .proto sets, a picked .proto file, reflection that lists every service, and a method picker grouped by service.
Message editorUnknown keys are flagged; proto-aware completion and saved messages are open.
StreamingStreaming works with a finite list of messages and collects up to 10,000 replies, and a running call can be cancelled. Interactive Send/End streaming and a timeline are open.
StatusStatus code and message are shown; trailers and grpc-status-details-bin decoding are open.
TLSA server-name override.

WebSocket

  • Handshake redirects, proxies and the managed-header warning are missing.
  • The UI composer sends text only; binary and format-specific composers exist in the automation tools (ws_send with binary_base64).
  • The timeline has no search, filters, clear/restore or time-diff.
  • There is no hexdump view for binary messages.
  • The reconnect policy setting is stored but not acted on. Verify, handshake timeout and max message size are applied.

Automation

  • Scripts: gRPC requests run request-level scripts only (no collection or folder scripts); WebSocket requests do not run scripts. pm.cookies.jar() and pm.visualizer are missing. bru.sleep, bru.cwd and bru.runRequest are refused with an error (see the scripting API).
  • Test Results: Refresh does not re-run post-response scripts.
  • Script editors have no autocomplete or line numbers.
  • The UI control channel works for inspect, command, set and screenshot. click, key and type are refused. See UI control channel.

Imports and exports

  • The all-data zip exports workspace documents. Importing it back restores .json documents only (not files, protos or settings). There is no Settings entry point for it yet.
  • Save Response and Send and Download write <workspace>/files/response-<tab>.bin, with no file picker or suggested file name. When the response was compressed, they write the decoded bytes, not the raw wire bytes.

UI shell

  • Window: remembered window geometry is missing.
  • The sidebar section open state, the splitter position and the two-pane toggle are not restored after a restart.
  • Crash recovery restores tabs after an unclean exit. Draft text is in the tab model, but no editor writes it yet.
  • Console: rows are not virtualised, and the 1 MB per-body truncation check in the viewer is missing.
  • Menus: on Windows and Linux the app uses an in-app menu row (the native menu bar is macOS only). Placing windows on other monitors works on macOS only.
  • The shortcut registry has no conflict check.

Platform

  • Session restore does not restore window geometry, expanded tree nodes, the recent workspaces list or the certificate list.
  • Documentation and releases: the Docus site, the release workflow and the licence list exist. A security review and a final gaps list for v1.0 are missing.

Known limitations

These are the open items from Known gaps, in user terms.

What you may noticeDetail
Keyboard and mouse automation of the UIpostguy-cli ui click, key and type are refused: the UI toolkit has no supported way to inject raw events into the running app. Use ui command and ui set instead.
Importing from a URLThe import box refuses URLs and tells you to download the file; Postguy never fetches anything without a deliberate action. An explicit Fetch button is planned.
Restoring a zip backupRestore brings back JSON documents (collections, environments, globals) only.
Saving a response bodyThe file goes to <workspace>/files/ under an automatic name; there is no save dialog.
Idle memoryThe release build measured about 100.7 MiB of resident memory on an empty workspace, above the 90 MiB budget.
Pretty view of large bodiesPretty is disabled above 5 MB; a 10 MB Pretty view is a goal.
Console with many rowsThe Console panel lays out every filtered row; virtualised scrolling is not implemented.
Header names on the wireThe HTTP stack writes header names in lowercase; the case you type is not preserved.
gRPC and WebSocketSee the lists above. gRPC runs request-level scripts and tests; the runner applies to HTTP requests only.
Build and quality gatesStartup with 10 restored tabs is not measured, some budget metrics are not benchmarked yet, security advisories are checked by cargo-deny in CI, and fuzz targets for the Postman importer and the cookie parser are missing.

Other leftovers listed in the gaps page: cookie add/edit, the Save Response example picker, splitter persistence, the shortcut-conflict check and History day grouping.

Copyright © 2026