A keyboard-first interactive workspace for your .http files, right in the terminal.
hitspec studio opens an interactive, keyboard-first workspace for your .http
files without leaving the terminal. It is the fastest way to explore an API: edit
a request, run it, inspect the tabbed response, and copy it out as curl or code —
all from one screen.
hitspec studio # open the current directoryhitspec studio ./tests/ # open a directoryhitspec studio ./tests/users.http # open a single filehitspec studio --read-only # browse without allowing file changes
ui is an alias for studio, so hitspec ui does the same thing. The older
hitspec serve command still opens studio for backward compatibility, but
hitspec studio is the dedicated command. Use hitspec serve --api-only when
you want the REST/WebSocket API server instead of the UI.
The workspace screen is split into panes you cycle through with tab /
shift+tab:
Pane
What it shows
Files
The .http / .hitspec files in the workspace
Requests
The named requests inside the selected file
Source
The raw, syntax-highlighted request source (editable)
Response
The tabbed response viewer after a run
A top bar shows the active environment and version; a bottom navigation strip and
status line show the current screen, contextual key hints, and toasts.
Press ctrl+p to open the command palette — a searchable list of every action.
Type / then a short, unique query to filter, then enter to run the highlighted
command. The palette covers everything in the keymap plus actions that have no
dedicated key, including:
Run the active request or whole file, save, edit, refresh.
File operations — new, rename, duplicate, delete, and generate a sample project.
Copy/export the selected request as curl, HTTPie, Python, JS fetch, or Go, and copy the last response body.
Quick request (ad-hoc) — run a one-off request by URL without saving a file.
Stress / mock / record — start and stop the load test, mock server, and recording proxy; export or clear recordings.
History / cookies / settings — open those screens, or clear run history.
Go to<screen> — jump to any of the nine screens by name.
Select a request and use the palette (ctrl+p) to copy it in the format you need:
Command
Output
Copy request as curl
A complete curl command
Copy request as HTTPie
An http (HTTPie) command
Copy request as Python
Python requests code
Copy request as fetch
A JavaScript fetch() snippet
Copy request as Go
Go net/http code
Copy response body
The last response body
Each snippet includes the request’s method, URL, headers, and body, so it is a
runnable copy you can paste and tweak.
The curl export is the most complete — it also renders any configured
@auth (for example, a bearer token). The other languages include the request’s
explicit headers and body; add auth headers yourself if your request relies on
the @auth directive.
Use Quick request (ad-hoc) from the palette to fire a one-off request by URL
and view the response without creating a file — handy for a quick probe while you
work.
Press ctrl+e to open the environment switcher and pick the active environment.
The default environment is dev; override it at launch with --env:
hitspec studio ./tests/ --env staging
The top bar always shows which environment is active, and the Settings screen
(9) lets you view and edit environment variables. See
Environments for how environments are defined.
Studio watches the workspace by default (--watch, on by default) and refreshes
the file list and live execution progress as files change on disk. Disable it with
--watch=false if you prefer a static view.
Shell commands and database assertions are disabled by default. Pass
--allow-shell and/or --allow-db to enable them in studio, the same as with
hitspec run.
--read-only disables every file mutation (save, new, rename, duplicate, delete,
generate). Use it to browse or demo a workspace without risking changes: