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:

  1. Press Ctrl+R to open the history popup. (Up also works when you’re not in the middle of typing.)
  2. Type any fragment — the list filters by fuzzy match.
  3. Use Up / Down to highlight an entry.
  4. 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