Repository navigation
Configuration
jig merges TOML config files from two places, later files winning key by key:
-
Global:
$XDG_CONFIG_HOME/jig/config.toml(default~/.config/jig/config.toml). -
Project:
<dir>/.jig/config.toml, once per directory from the git root down to the current directory (--cwd, or the process's working directory). Outside a git repository, only the current directory's.jig/config.tomlis considered.
A project config is trust-gated: until you trust it, anything in it that would loosen your settings is ignored. See Permissions and Trust.
A missing file is skipped; a TOML syntax error is reported with the file path and line.
docs/config.example.toml
has every key, with comments.
- Scalars are replaced by the last file that sets them.
-
[providers.<id>]and[agents.<name>]merge field by field. -
[permissions](and[agents.<name>.permissions]) merge per tool, withDefaultreplaced and patterns merged. -
[skills] pathsandinstructionsare appended and de-duplicated.
[providers.<id>.options] is not supported yet: jig ignores it and prints
warning: providers.<id>.options is not supported yet and is ignored.
Every string value in a config file may contain substitution tokens, expanded before the TOML is parsed:
-
{env:VAR}— the environment variable's value, or""if unset. -
{file:path}— that file's contents (one trailing newline trimmed), resolved relative to the config file's own directory, with a leading~expanded to$HOME.
In a project config, tokens are only expanded once the project is trusted.
jig's built-in anthropic provider resolves its API key from
$ANTHROPIC_API_KEY and needs no config. Any provider in the catalog
(jig models) can be configured under [providers.<id>]:
[providers.anthropic]
type = "anthropic"
api_key = "{env:ANTHROPIC_API_KEY}"
base_url = "https://api.anthropic.com"A custom provider can declare the reasoning effort levels its models
accept with efforts = ["low", "medium", "high"]. See
Models and Effort.
instructions is a list of extra files (or globs) whose contents are
appended to the system prompt, in order.
jig also reads project context files into the system prompt:
$XDG_CONFIG_HOME/jig/AGENTS.md, then, for each directory from the git
root down to the working directory, that directory's AGENTS.md (or its
CLAUDE.md if it has no AGENTS.md).
instructions = ["~/.agents/skills/using-superpowers/SKILL.md"]A bare key = value line must come before any [table] header: TOML
assigns it to whichever table was most recently opened.
theme picks the TUI's color theme, and [keybinds] remaps its keys.
See Keybindings.
| What | Where |
|---|---|
| Global config | $XDG_CONFIG_HOME/jig/config.toml |
| Global context | $XDG_CONFIG_HOME/jig/AGENTS.md |
| Global agents | $XDG_CONFIG_HOME/jig/agents/*.md |
| Global skills | $XDG_CONFIG_HOME/jig/skills/*/SKILL.md |
| Custom themes | $XDG_CONFIG_HOME/jig/themes/*.toml |
| Sessions and messages |
$XDG_DATA_HOME/jig/jig.db (default ~/.local/share/jig/jig.db) |
| MCP OAuth tokens | $XDG_DATA_HOME/jig/mcp-auth/ |
| Model catalog cache | $XDG_CACHE_HOME/jig/catalog.json |
Getting started
Using jig
Reference