Query history
Every query that produces output is saved automatically — recall any previous query without retyping it.
You ran a useful query ten queries ago. Now you need it again but can't remember the exact syntax.
$ # Was it .users[] | select(.age > 30) | .name ?
$ # Or .users[] | select(.age >= 30) | {name, email} ?
$ # Try again from scratch...
Press Ctrl+R, type a fragment, select the one you want.
Query: .users[] | select(.age >= 30) | {name, email}
recalled from history in 2 seconds
Cycle through recent queries
Without opening any popup, step through your history one query at a time:
- Press Ctrl+P to go back (older)
- Press Ctrl+N to go forward (newer)
The query replaces your current input. Results update immediately.
Search your full history
For deeper recall:
- Press Ctrl+R to open the history popup. (Up also works when you’re not in the middle of typing.)
- Type any fragment — the list filters by fuzzy match.
- Use Up / Down to highlight an entry.
- Press Enter or Tab to apply it.
History popup
Filter: select
.users[] | select(.active) | .email
▸ .users[] | select(.age >= 30) | {name, email}
.items[] | select(.price > 100)
Enter Apply Ctrl+D Delete Esc Close
Delete a history entry
In the history popup, highlight an entry and press Ctrl+D to remove it. You can also hover a row to reveal the delete button and click it.
Where history is stored
Up to 1,000 queries are saved (duplicates deduplicated). The file location depends on your OS:
| OS | Path |
|---|---|
| Linux | ~/.local/share/jiq/history |
| macOS | ~/Library/Application Support/jiq/history |
| Windows | %APPDATA%\jiq\history |
All keys
Quick cycling (no popup)
| Key | Action |
|---|---|
Ctrl+P |
Previous (older) query |
Ctrl+N |
Next (newer) query |
History popup
| Key | Action |
|---|---|
Ctrl+R / Up |
Open popup |
Up / Down |
Navigate entries |
| Type | Fuzzy filter |
Enter / Tab |
Apply selected |
Ctrl+D |
Delete selected entry |
| Click delete button | Delete entry under mouse |
Esc |
Close without selecting |