# description
A .harlequin.toml or harlequin.toml file, or the [tool.harlequin] table of a pyproject.toml. Read by both the harlequin IDE and the hsql command.

# properties.default_profile.description
The profile both commands load when -P/--profile does not name one.

# properties.profiles.description
Named sets of options, one table each. -P NAME loads one; the profile named None is Harlequin's own defaults.

# properties.keymaps.description
Named key bindings for the harlequin IDE, one array of bindings each.

# $defs.profile.description
A profile's options: the ones each command reads for itself, plus the connection options declared by the adapter it names.

# $defs.profile.properties.conn_str.description
What to connect to, which both commands take positionally. One string, or an array of them for an adapter that takes several.

# $defs.profile.properties.file.description
Execute SQL from a file, or from stdin for `-`. Repeatable.

# $defs.profile.properties.output.description
Write results to PATH instead of stdout. Accepts a file or directory.

# $defs.profile.properties.vertical.description
Shorthand for --format vertical. As in psql.

# $defs.profile.properties.tuples_only.description
Rows only: no header, no footer. As in psql.

# $defs.profile.properties.no_header.description
Omit the header row, keeping other chrome.

# $defs.profile.properties.no_footer.description
Omit the row-count footer, keeping other chrome.

# $defs.profile.properties.null_string.description
Render NULL as TEXT. Defaults to NULL for text formats, empty for csv.

# $defs.profile.properties.profile.description
Load a profile from an available config file. Options passed here take precedence over the profile's. Use the profile named None for Harlequin's defaults instead of the config file's default profile.

# $defs.profile.properties.adapter.description
The installed adapter plug-in to connect with.

# $defs.profile.properties.read_only.description
Connect read-only, and refuse to run at all if the adapter cannot. To check an adapter's capabilities, use --info.

# $defs.profile.properties.timeout.description
Cancel the run after SECONDS and exit 4. Refused if the adapter cannot cancel a query; to check, use --info.

# $defs.profile.properties.ssh_host.description
Open an SSH tunnel to this destination first, and connect through it. A Host alias, host, user@host or ssh://user@host:port, passed to ssh verbatim.

# $defs.profile.properties.ssh_forward.description
A local forward, spelled as ssh -L takes one: LOCAL:HOST:REMOTE. Repeatable. Omit it when your ssh config has the LocalForward.

# $defs.profile.properties.ssh_batch_mode.description
Fail rather than prompt for a passphrase, a password or a host key. ssh's own BatchMode; set it in scripts, CI and cron.

# $defs.profile.properties.ssh_timeout.description
Seconds to wait for the tunnel's forwards. [default: 60]

# $defs.profile.properties.config_path.description
Use this config file instead of the ones hsql discovers.

# $defs.profile.properties.config_mode.description
Report on the config files hsql found, or write a profile into one, and exit without running SQL. One of: show, list-profiles, validate, schema, init.

# $defs.profile.properties.catalog.description
List the catalog objects one level below --path, and exit without running SQL.

# $defs.profile.properties.catalog_search.description
Search the whole catalog, at every level, for objects whose name contains TERM, and exit without running SQL. Not every adapter can; see --info.

# $defs.profile.properties.path.description
Where in the catalog --catalog looks, and what --catalog-search searches under. Dotted segments, named by the adapter; the top of the catalog by default. A trailing * filters a --catalog listing.

# $defs.profile.properties.spec.description
Every option here, plus every installed adapter's, as JSON. -a narrows it to one adapter.

# $defs.profile.properties.info.description
Versions, config files, the active profile, and what each installed adapter declares it supports, as JSON. Connects to nothing. -a narrows it to one adapter.

# $defs.profile.properties.skill.description
Write the Agent Skill for driving hsql, as markdown. -o installs it: 'hsql --skill -o ~/.claude/skills/hsql/'.

# $defs.profile.properties.limit.description
Maximum rows fetched per result set. -1 for no limit.

# $defs.profile.properties.display_rows.description
Rows printed per result set by the text layouts. -1 for all rows. [default: 40 for table, markdown, md; 10 for vertical]

# $defs.profile.properties.stats.description
Write a one-line JSON summary to stderr.

# $defs.profile.properties.color.description
Color text output. `auto` follows the terminal and NO_COLOR.

# $defs.profile.properties.theme.description
Read by the harlequin IDE; hsql ignores it. See `harlequin --help`.

# $defs.profile.properties.keymap_name.description
Read by the harlequin IDE; hsql ignores it. See `harlequin --help`.

# $defs.profile.properties.show_files.description
Read by the harlequin IDE; hsql ignores it. See `harlequin --help`.

# $defs.profile.properties.show_s3.description
Read by the harlequin IDE; hsql ignores it. See `harlequin --help`.

# $defs.profile.properties.locale.description
Read by the harlequin IDE; hsql ignores it. See `harlequin --help`.

# $defs.profile.properties.no_download_tzdata.description
Read by the harlequin IDE; hsql ignores it. See `harlequin --help`.

# $defs.profile.properties.viewer_max_rows.description
Read by the harlequin IDE; hsql ignores it. See `harlequin --help`.

# $defs.keybinding.description
One key binding: the keys, the action they run, and how to show them.