id = "steampipe"
name = "Steampipe"
homepage = "https://steampipe.io/"
description = "Use SQL to instantly query your cloud services"
executables = ["steampipe"]
[dotfiles]
paths = ["~/.steampipe/config/"]
secret = ["~/.steampipe/config/*.spc"]
[commands]
format = 1
label = "Steampipe"
description = "Run SQL against cloud services with steampipe query: one query string or SQL files, with output format, timeout and search path. Snapshots, Turbot Pipes and the other subcommands are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["query"]
label = "Run a query"
description = "Leave the query empty to open the interactive shell."
[[commands.subcommand.source]]
id = "docs"
kind = "manual"
url = "https://steampipe.io/docs/reference/cli/query"
revision = "2026-10-27"
evidence = """
Execute SQL queries interactively, or by a query argument.
To open the interactive query shell, run steampipe query with no arguments.
`--header string` Specify whether to include column headers in csv and table output (default `true`).
`--output string` Select the console output format. Possible values are `line, csv, json, table, snapshot` (default `table) `.
`--query-timeout int` The query timeout, in seconds. The default is `0` (no timeout).
`--search-path strings` Set a comma-separated list of connections to use as a custom search path for the query session.
`--separator string` A single character to use as a separator string for csv output (defaults to ",")
`--timing=string ` Enable or disable query execution timing: `off` (default), `on`, or `verbose`
`--progress` Enable or disable progress information. By default, progress information is shown - set `--progress=false` to hide the progress bar.
"""
[[commands.subcommand.field]]
id = "query"
label = "SQL query or file"
description = "A SQL string, or one or more .sql files."
type = "string"
position = 0
multiple = true
sources = ["docs"]
[[commands.subcommand.field]]
id = "output"
label = "Output format"
type = "enum"
option = ["--output"]
choices = [
{ value = "table", label = "Table" },
{ value = "json", label = "JSON" },
{ value = "csv", label = "CSV" },
{ value = "line", label = "Line" },
{ value = "snapshot", label = "Snapshot" },
]
sources = ["docs"]
[[commands.subcommand.field]]
id = "timing"
label = "Query timing"
type = "enum"
option = ["--timing"]
choices = [
{ value = "off", label = "Off" },
{ value = "on", label = "On" },
{ value = "verbose", label = "Verbose" },
]
sources = ["docs"]
[[commands.subcommand.field]]
id = "query_timeout"
label = "Timeout (seconds)"
type = "integer"
option = ["--query-timeout"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "search_path"
label = "Search path"
description = "Comma-separated connection names."
type = "string"
option = ["--search-path"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "separator"
label = "CSV separator"
type = "string"
option = ["--separator"]
sources = ["docs"]
[[commands.subcommand.task]]
id = "shell"
label = "Interactive shell"
fields = []
[[commands.subcommand.task]]
id = "json"
label = "Query as JSON"
fields = ["query", "output"]
required = ["query", "output"]
set = { output = ["json"] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["query", "output", "timing"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["query_timeout", "search_path", "separator"]