reegnz
jq-zsh-plugin
Shell

jq zsh plugin

Last updated Jun 19, 2026
362
Stars
21
Forks
2
Issues
0
Stars/day
Attention Score
38
Language breakdown
Shell 100.0%
โ–ธ Files click to expand
README

jq zsh plugin

Interactively build jq expressions (gojq is also supported).

This zsh plugin gives you jq superpowers!

Fish users: you can use this friendly fork: rmartine-ias/jq-fish-plugin

Table of contents

Demos

Interactive jq query construction

asciicast

Insert jq query in the middle of a pipeline

asciicast

Installation

Besides jq, this plugin also requires fzf (a recent version) to be installed and available on your PATH.

The following installation methods are proven to work:

Oh My Zsh

  • Clone the repository:
git clone https://github.com/reegnz/jq-zsh-plugin.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/jq
  • Add the plugin to the list of plugins for Oh My Zsh to load (inside ~/.zshrc):
plugins=(
	# other plugins...
	jq
)
  • Start a new terminal session.

zplug

zplug reegnz/jq-zsh-plugin

Antigen

antigen bundle reegnz/jq-zsh-plugin

Zgen

zgen load reegnz/jq-zsh-plugin

Usage

  • type out a command that you expect to produce json on its standard output
  • press alt + j
  • start typing jq expression and watch it being evaluated in real time (like a true
REPL!)
  • use up/down and hit tab to select one of the suggestions
  • or type out a jq query on your own
  • press enter, and the jq expression is appended to your initial command!

Key bindings

Bringing up the jq query builder for a shell command: alt + j

During interactive querying, the following shortcuts can be used:

| Shortcut | Effect | | ------------------------ | ------------------------------------------------ | | ctrl-k or up | Navigate path queries | | ctrl-j or down | Navigate path queries | | tab | Select path query | | ctrl-p or shift-up | Scroll up | | ctrl-n or shift-down | Scroll down | | ctrl-alt-p | Scroll up half page | | ctrl-alt-n | Scroll down half page | | alt-up | Scroll up full page | | alt-down | Scroll down full page | | ctrl-r | Reload input | | ctrl-y | Yank selected path to clipboard (GNU/Linux only) |

gojq support

If you want to use an alternative jq implementation, like gojq then you can override the default jq command used by the plugin. Set the following environment variable:

JQREPLJQ=gojq

Internals

The project consists of the following components:

  • a jq.plugin.zsh providing a
user-defined zsh line-editor widget, utilizing the jq-repl command
  • a jq-repl command to interactively build jq expressions, utilizing fzf for its UI
  • a jq-paths command to get all valid jq paths in the provided JSON document, used for suggesting paths.

Troubleshooting

MacOS: Pressing alt-j creates a โˆ† symbol in iTerm2

You need to remap your alt-key to Esc+ in iTerm2:

  • Cmd + , to enter preferences
  • Go to Profiles
  • select your profile from the pane on the left hand side
  • go to the keys tab
  • Set Left Option (โŒฅ ) Key to Esc+
See other suggestions on stackoverflow if the above one doesn't help you: https://stackoverflow.com/q/196357/205318

Another option is to map to ctrl+j instead by putting this in your .zshrc:

bindkey ^j jq-complete

Disable expanding shell aliases

The plugin automatically expands shell aliases in a command before passing it to jq-repl. To disable, put the following line into your .zshrc:

JQZSHPLUGINEXPANDALIASES=0
๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท reegnz/jq-zsh-plugin ยท Updated daily from GitHub