While we’re finishing teams and collaboration features behind the scenes, we are thrilled to bring you an intermediary release with a refreshed user interface, IDE-like features, and many improvements to the way you work with variables.
Check out what all is new in HTTPie for Web & Desktop 2025.1.0 👇
🔖 Summary
- 💇♀️ UI refresh — A cleaner and more focused UI.
- ⚡ Variable autocomplete — Searchable autocomplete for variables.
- 🎛️ Interactive references — Interact with variables as tokens.
- 🗃 Variables context menu — All the actions in one place.
- 🧩 Refactor variables — Rename variables across all usages.
- 🎯 Go to definition — Quickly navigate to variable definitions.
- 🏷️ Quick-define variables — Define variables on the fly during usage.
- ⛓️💥️ Inline values — Replace variable references with their values.
- 🎭 Peek at values — Securely reveal masked variable values.
- 📋 Copy references — Copy variable references easily.
- 💤 Case-sensitivity — Support any variable naming style.
- 🏃 Escape variables — Escape variables for use as strings.
- ✨ Other enhancements — Fixed Postman import, etc.
💇♀️ UI refresh
HTTPie’s UI has received much love and positive feedback. This release brings a refreshed version that is even cleaner, more focused, and more enjoyable to use.
We focused on improved contrast, reduced clutter, and smarter spacing, which makes the interface feel lighter and more intuitive.
These updates are all about helping you focus on what matters, making your workflow smoother.
As always, we’d love to hear your thoughts — please try the new UI for a few days to let your impressions marinate, and let us know what you think!
⚡️ Auto-complete when referencing variables
Variables received an overall boost in this release. One of the most visible features is the new searchable autocomplete menu. As soon as you start typing a new variable reference ({{
) or editing an existing one, HTTPie now offers suggestions where you can quickly select an existing variable:
🎛️ Interactive variable references
Variable references are no longer presented as text by default but as tokens that you can interact with:
These tokens are implemented keyboard-friendly: You can select one by moving the text cursor with the arrow keys. They can also be copied as text, etc. Under the hood, they use the existing {{variableName}}
syntax that you will still use to create variable references.
You can switch an existing variable reference token to text mode by double-clicking it or invoking “Edit reference” from the context menu:
🗃 Variable reference context menu
The new context menu exposes all your actions on variable references. Invoke it via a right-click (or pressing Enter when the token is selected):
The menu allows you to jump to the variable definition, copy the reference, switch the reference to a textual mode for editing, refactor the variable name, inline the variable value, escape the reference, and remove the reference with a click.
Most of these features are described in more detail in the following sections 👇
🧩 Refactoring variable names
You can now quickly rename a variable while updating all its usages across all requests and collections in your space. This action is accessible through the variable toolbar and the variable reference context menu:
As they say, one refactoring a day keeps technical debt away. Good habits should be easy, and keeping the naming of things in a growing codebase (or an HTTPie space) meaningful certainly counts as one.
🎯 Go to variable definitions
Quickly navigate to the variable definition from a reference using “Go to definition” from the context menu. It takes you directly to the value input for the selected environment.
🏷️ Define variables on the fly
You can quickly define new variables directly using the new autocomplete menu. Just type the new variable name, and choose ”Define…”. If you have an existing reference to an undefined variable, you can define it through its context menu.
When you invoke this action, HTTPie creates the variable and takes you directly to the value input. There, you can quickly provide the value for the currently selected environment.
⛓️💥 Inline variable values
You can now quickly replace a variable reference with its value from the currently selected environment:
🎭 Peek at masked variable values
Variable reference tooltips and the new context menus show the variable’s current value based on the selected environment. When the variable is marked as masked, however, the actual value is concealed. Now you take a quick peek at its value using the eye icon from the menu without turning off masking for the variable globally:
📋 Copy references straight from the variable list
To save you from repetitive manual work, you can now quickly copy variable references from the variable toolbar in the table.
The same action is also available via the “Copy reference” item in the variable reference context menu.
🏃 Escaping variables
You can now escape strings that look like a {{variable}}
, which you don’t want HTTPie to interpret. For example, when you want to pass a Nunjucks-style template as a string in the request body. To do that, prefix the variable token with a backslash \{{variable}}
or use the “Escape reference” item from the context menu:
If you need to use a literal backslash before a variable, you can escape it with another backslash: \\{{name}}
outputs \value
.
The special case of outputting \{{name}}
cannot be directly supported, but you can work around it by storing the backslash in a variable and using that instead of a raw backslash.
A summary of variable escaping scenarios:
Desired output | Input syntax | Description |
---|---|---|
val | {{key}} | Simple substitution without escaping. |
{{key}} | \{{key}} | Escape {{ with a backslash to disable variable substitution. |
\val | \\{{key}} | Escape \{{ with another backslash to disable variable escaping. |
\{{key}} | {{BKSL}}\{{key}} | Define and reference a custom variable BKSL holding the string \ to prevent the backslash from disabling escaping the variable. |
💤 Case-sensitive variable names
Previously, the app enforced uppercase variable names.
Now you can bring your own case, be it the O.G. UPPERCASE
, camelCase
, snake_case
, or aLtErNaTiNgCaSe
.
We won’t judge.
✨ Other enhancements
- Fixed importing of individual Postman collections. (#129)
- Fixed various false positives when detecting AI-prompt mode in the URL field.
- Many other smaller bug fixes and performance improvements.
🤩 Happy API testing, and see you again soon!
- ✉️ Thoughts? Questions? Shoot us an email at [email protected].
- 📋 You can also help us improve by completing a quick survey.
- 👉 Follow @httpie and join our Discord community to stay up to date.