Postguy
Guide

Settings

The Settings screens, every settings.json key with its default, and what happens to a corrupt settings file.

Open Settings with Cmd/Ctrl+, or the command Open settings. It opens as a tab with a navigation column. Every change is saved at once. There is no Save button.

Pages

PageRows
GeneralRequest: HTTP version, Request timeout, Max response size, SSL certificate verification, Automatically follow redirects, Disable cookies, Send no-cache header. Working directory: Location, Read files outside the working directory. History: Save response bodies in history. Scripts: Disable scripts.
ThemesTheme (Dark, Light, System), Interface zoom, Code font size.
ShortcutsA read-only list of every registered shortcut, grouped. See Keyboard shortcuts.
DataReset settings. It restores every setting to its default. Collections, environments and history are not touched.
CertificatesCustom CA bundle (PEM), Certificate chain (PEM), Private key (PEM).
ProxyProxy mode. With Custom proxy: Protocol, Host, Port, Username, Password, Apply to HTTP, Apply to HTTPS, Bypass list.
AboutVersion, licence (MIT OR Apache-2.0), privacy note (Offline. No telemetry, no update check), pointer to the third-party notices.

Where the file lives

Settings are per workspace, in <workspace>/.postguy-config/settings.json. The same folder holds session.json and recent.json. See Workspace and the workspace format.

  • Keys are camelCase.
  • Unknown keys, including ones written by newer versions, are kept and written back.
  • A missing file means all defaults.
  • Postguy reads up to 8 MiB of the file. If it cannot parse the file, it renames it to settings.json.corrupt-<number> in the same folder and starts with defaults.
  • The app rewrites the file on every change. Edit it by hand only while Postguy is closed.

Global settings keys

The Shown column says which Settings page shows the key. Keys marked No are stored in the file and survive a reload. No code in the app acts on them today.

KeyDefaultValues and notesShown
httpVersionautoauto, http1, http2. Used when a request's own setting is auto.General › HTTP version
requestTimeoutMs00 means no timeout. The screen accepts 0 to 3,600,000. Used when the request's own timeout is 0.General › Request timeout
maxResponseMb500 means unlimited. The screen accepts 0 to 1,024. Used when the request's own value is the default 50.General › Max response size
verifySsltrueOff if either this or the request's switch is off.General › SSL certificate verification
caBundlePath""PEM file added to the system roots.Certificates
clientCertPath""PEM certificate chain.Certificates
clientKeyPath""PEM private key (PKCS#8, PKCS#1 or SEC1).Certificates
disableCookiesfalseORed with each request's Disable cookie jar.General › Disable cookies
followRedirectstrueRedirects are followed only if the request's switch is on too.General › Automatically follow redirects
sendNoCacheHeadertrueAdds Cache-Control: no-cache to every request.General › Send no-cache header
workingDirectory""Empty means <workspace>/files. Base folder for file paths in request bodies.General › Working directory › Location
allowFilesOutsideWorkingDirectoryfalseLets request bodies read any file on the computer.General › Read files outside the working directory
saveHistoryResponsesfalseCaches response bodies under .postguy/responses/ for History.General › Save response bodies in history
disableScriptsfalseSkips pre-request and post-response scripts for every request and run.General › Disable scripts
themesystemsystem, light, dark.Themes › Theme
uiZoom1.0Clamped to 0.8 to 2.0. The screen offers 80, 90, 100, 110, 125, 150, 175 and 200 %. Cmd/Ctrl plus = and - step by 10 %.Themes › Interface zoom
editorFontSize13.5Pixels. The screen accepts 9 to 24.Themes › Code font size
proxysee belowObject.Proxy
trimKeysAndValuesfalseNo
responseFormatDetectionautoauto or forceJson.No
alwaysOpenInNewTabfalseNo
alwaysAskOnClosetrueNo
showIconsWithTabNamestrueNo
twoPaneLayoutfalseThe Toggle two-pane layout command keeps its own state and does not read this key.No
variableAutocompletetrueNo
autosavefalseNo
editorIndentJson2No
editorIndentOther4No
editorSpacestrueNo
editorAutoClosetrueNo
editorWordWrapfalseNo
historyCap5000History is trimmed to a fixed 5,000 entries. This key does not change that.No

proxy object

KeyDefaultValues
modesystemsystem (environment variables) or custom
protocolhttphttp, socks5, socks5h
host""An empty host with custom means no proxy
port80801 to 65,535 on the screen
username""Proxy Basic auth
password""Proxy Basic auth. Redacted in logs.
applyToHttptrue
applyToHttpstrue
bypass""Comma-separated hosts or patterns, for example localhost, *.internal.example

For how the proxy is used, see Cookies, proxy and certificates.

Per-request settings

Each HTTP request also has a Settings tab. It holds HTTP version, SSL verification, redirect options, Encode URL automatically, Disable cookie jar, timeout and max response size. When you send a request, the global and per-request values combine like this:

SettingRule
SSL verification, follow redirectsBoth must be on.
Disable cookiesEither one disables the jar.
TimeoutThe request's value if not 0, otherwise the global one.
Max response sizeThe request's value if it differs from 50, otherwise the global one.
HTTP versionThe request's choice, or the global one when the request says Auto.

See HTTP requests.

Headless

No automation tool edits settings. Tools that depend on them (for example request_send and collection_run) read them from the opened workspace's .postguy-config/settings.json.

Copyright © 2026