██╗ █████╗ ███████╗██╗ ██╗ ██████╗██╗ ██╗██████╗ ██╗
██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██╔════╝██║ ██║██╔══██╗██║
██║ ███████║ ███╔╝ ╚████╔╝ ██║ ██║ ██║██████╔╝██║
██║ ██╔══██║ ███╔╝ ╚██╔╝ ██║ ██║ ██║██╔══██╗██║
███████╗██║ ██║███████╗ ██║ ╚██████╗╚██████╔╝██║ ██║███████╗
╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝
HTTP TUI Client
A powerful Terminal User Interface (TUI) HTTP client
Combining Lazygit's elegant interface with Postman's API testing capabilities
Features
- Lazygit-Style Interface — Multi-panel layout with vim motions (
h/j/k/l)
- Collections & Environments — Organize requests, manage variables with
{{var}} syntax
- Import/Export — cURL, OpenAPI 3.x, Postman collections
- External Editor — Edit bodies in vim, VS Code, nano, etc.
- Session Persistence — Auto-save/restore your workspace state
- Jump Mode — vim-easymotion style quick navigation
LazyCurl main interface with request builder, response viewer, and collections panel
Installation
From Source
git clone https://github.com/kbrdn1/LazyCurl.git
cd LazyCurl
make build
./bin/lazycurl
Using Go Install
go install github.com/kbrdn1/LazyCurl/cmd/lazycurl@latest
Quick Start
# Navigate to your project
cd my-api-project
# Launch LazyCurl (creates .lazycurl/ workspace)
lazycurl
# Press 'n' to create a request, 'Ctrl+S' to send
# Press '?' for keybinding help
Import existing APIs:
# Import OpenAPI spec
lazycurl import openapi api.yaml
# Import Postman collection
lazycurl import postman collection.json
Key Shortcuts
| Action |
Key |
| Navigate panels |
h / l |
| Move in list |
j / k |
| New request |
n |
| Send request |
Ctrl+S |
| Import cURL |
Ctrl+I |
| Import OpenAPI |
Ctrl+O |
| Import Postman |
Ctrl+P |
| External editor |
Ctrl+E |
| Jump mode |
f |
| Help |
? |
Documentation
Full documentation available in docs/:
Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
# Development with live reload
make dev
# Run tests
make test
License
MIT License
Made with ❤️ by @kbrdn1