Configuration
config.toml reference covering clipboard, autocomplete, and AI.
Location
Path: ~/.config/jiq/config.toml (all platforms). Optional — defaults are reasonable; only AI requires config.
Clipboard
[clipboard]
backend = "auto"
| Value | Use when |
|---|---|
auto (default) |
OS clipboard first, OSC 52 fallback. |
system |
Local desktop only. |
osc52 |
SSH / tmux / mosh on a terminal that forwards OSC 52 (Ghostty, kitty, WezTerm, foot). |
Theme
[theme]
mode = "auto"
| Value | Effect |
|---|---|
auto (default) |
Detect the terminal background at startup and pick the light or dark palette. Falls back to dark if detection is unavailable (e.g. inside tmux/screen without passthrough, or a non-responding terminal). |
light |
Force the light palette. |
dark |
Force the dark palette (the classic Galaxy theme). |
Autocomplete
[autocomplete]
array_sample_size = 10
For heterogeneous arrays, increase to union more keys (range: 1–1000).
Tooltip
[tooltip]
auto_show = true
When true (default), the function tooltip appears automatically as the cursor lands on a known jq function. Set to false to require Ctrl+I to open it.
AI
[ai]
enabled = true
provider = "anthropic" # "openai" | "gemini" | "bedrock"
max_context_length = 100000 # characters of schema/sample context
extra_instructions = "" # optional guidance appended to every AI prompt
request_timeout_secs = 120 # whole-request timeout; 0 disables it
| Provider | Recommended model |
|---|---|
| Anthropic | claude-haiku-4-5-20251001 |
| OpenAI | gpt-4o-mini |
| Gemini | gemini-3-flash |
| Bedrock | global.anthropic.claude-haiku-4-5-20251001-v1:0 |
Every provider takes an optional effort level for reasoning-capable models; Anthropic and Bedrock Claude also take a context_1m toggle:
[ai.anthropic]
api_key = "sk-ant-..."
model = "claude-sonnet-4-6"
effort = "high" # low | medium | high | xhigh | max (Claude 4.6+)
context_1m = false # 1M-token context window beta (Claude Sonnet 4/4.5)
[ai.bedrock]
region = "us-east-1"
model = "global.anthropic.claude-sonnet-4-6-v1:0" # or "us.openai.gpt-5.6-sol"
effort = "high" # shaped per model family (Claude vs OpenAI)
context_1m = false # Claude Sonnet 4/4.5 only
[ai.openai]
api_key = "sk-proj-..."
model = "gpt-5.1-mini"
effort = "medium" # minimal | low | medium | high | xhigh | max
[ai.gemini]
api_key = "AIza..."
model = "gemini-3-flash"
effort = "medium" # minimal | low | medium | high (Gemini 3+)
OpenAI models on Bedrock work through provider = "bedrock" (Converse + AWS profile) or the OpenAI-compatible endpoint with a Bedrock API key. See AI assistant for details per provider.
See AI assistant for per-provider config.
Full example
[clipboard]
backend = "auto"
[theme]
mode = "auto"
[autocomplete]
array_sample_size = 25
[ai]
enabled = true
provider = "anthropic"
max_context_length = 80000
[ai.anthropic]
api_key = "sk-ant-..."
model = "claude-haiku-4-5-20251001"
Query
[query]
debounce_ms = 150 # delay between the last keystroke and the jq re-run
Lower values feel snappier on small files; raise it if large inputs make retyping laggy.
History
[history]
max_entries = 1000 # cap on persisted query-history entries
Save
[save]
default_pattern = "jiq-{timestamp}.json" # initial filename in the save dialog
Supports {timestamp}, {cwd}, and ~ expansion, e.g. ~/exports/jiq-{timestamp}.json.
Environment overrides
| Variable | Effect |
|---|---|
JIQ_DEBUG=1 |
Same as --debug: write debug logs to /tmp/jiq-debug.log. |
See Troubleshooting.