Catch HAProxy config errors before reload
HAProxy Config validates your haproxy.cfg against the HAProxy version you actually run — 2.4 through 3.4 — while you edit. Then haproxy -c confirms it.
- MIT licensed
- No telemetry, no network calls
- 248 installs on VS Code Marketplace (observed 2026-09-29)
- Latest release v0.6.0
Diagnostics while you edit


Mistakes that usually surface during a reload
A directive your HAProxy version does not have
global ssl-propquery xDeprecated directives
global master-workerReferences to backends that do not exist
frontend fe bind :80 default_backend missingTimeouts without a unit
defaults timeout connect 5000Ports out of range
frontend fe bind :99999
The editor is the fast loop; HAProxy is the final word
Editor diagnostics cannot see your environment variables, certificates, maps or build options. Before every reload, run the same HAProxy binary production uses:
haproxy -c -V -f /etc/haproxy/haproxy.cfgIn CI, check the file with the image that matches production:
docker run --rm -v "$PWD":/cfg:ro haproxy:3.2 haproxy -c -f /cfg/haproxy.cfgValidate against the version you deploy
Set haproxy.version in .vscode/settings.json, for example "haproxy.version": "2.8".
| Branch | Upstream status | Default package in |
|---|---|---|
| 3.4 | LTS, maintained until 2031-Q2 | — |
| 3.3 | Stable, maintained until 2027-Q1 | — |
| 3.2 | LTS, maintained until 2030-Q2 | Ubuntu 26.04 |
| 3.1 | Unmaintained since 2026-Q1 | — |
| 3.0 | LTS, maintained until 2029-Q2 | Debian 13 |
| 2.8 | Critical fixes only until 2028-Q2 | Ubuntu 24.04 |
| 2.6 | Critical fixes only until 2027-Q2 | Debian 12 |
| 2.4 | Unmaintained since 2026-Q2 | Ubuntu 22.04 |
Status from haproxy.org and distro packages from Repology, checked October 2026.
Still on the 2019 HAProxy extension?
| Feature | bmarkovic.haproxy | HAProxy Config |
|---|---|---|
| Latest release | 0.1.2 (March 2019) | 0.6.0 (October 2026) |
| Syntax highlighting and snippets | Yes | Yes |
| Validation for your HAProxy version | No | 2.4 through 3.4 |
| Context-aware completion and hover documentation | Snippets only | Yes |
| Go to definition, references and rename | No | Yes |
| Quick fixes and formatting | No | Yes |
| Available on Open VSX (Cursor, VSCodium) | No | Yes |
Based on both public Marketplace listings, October 2026. Switch in two commands:
code --uninstall-extension bmarkovic.haproxy
code --install-extension gmm.gmm-haproxy-vscodeRuns entirely in your editor
No telemetry, no account and no network calls. The only link it ever opens is the Marketplace review page, and only if you click it.
Questions
- Does it replace haproxy -c?
- No. The editor catches mistakes while you type; haproxy -c run with the same binary and files as production is still the final check before a reload.
- Which HAProxy versions are supported?
- 2.4, 2.6, 2.8, 3.0, 3.1, 3.2, 3.3 and 3.4. Set haproxy.version to the version that will load the file, so diagnostics match that release.
- Does it work in Cursor or VSCodium?
- Yes. Install it from Open VSX, where it is published as gmm/gmm-haproxy-vscode.
- Will it take over my nginx or other .conf files?
- No. Since 0.6.0 it recognizes haproxy.cfg, haproxy*.cfg and files under a haproxy/ directory by name, and other .cfg or .conf files only when they contain an HAProxy section header. Other formats keep their own language.
- Does it support Ansible or Jinja templates (.cfg.j2)?
- Not yet. Template syntax is not parsed, so validate the rendered configuration instead.
- Is it free?
- Yes. It is MIT licensed, makes no network calls and collects no telemetry. The source is on GitHub.