Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getunbound.ai/llms.txt

Use this file to discover all available pages before exploring further.

unbound chat lets you ask questions about your AI usage data in natural language. It renders charts and tables directly in the terminal. Requires Admin or Manager role. Run unbound whoami to check.

Interactive session

Start a multi-turn REPL:
unbound chat
Session commands:
CommandAction
/helpShow available commands
/jsonPrint the last result as JSON
/export <path>Write the last result to a file
/clearReset conversation history in memory
/exitQuit (Ctrl+C also works)
Add --no-suggestions to skip the follow-up question picker after each turn.

One-shot mode

Ask a single question and exit:
unbound chat -m "show cost by provider for the last 30 days"
unbound chat -m "which users spent the most this month"
unbound chat -m "MCP tool calls by server last week"
Each -m call sends no history — keep prompts self-contained.

Output flags

FlagBehavior
--jsonWrite raw JSON response to stdout
-o <path>Write raw JSON to a file (refuses to overwrite existing files)
# Pipe to jq:
unbound chat -m "cost by provider last 30 days" --json | jq '.intent'
unbound chat -m "cost by provider last 30 days" --json | jq '.result.chart_option'

# Save to file:
unbound chat -m "cost by provider last 30 days" -o report.json

# Pipe and archive simultaneously:
unbound chat -m "cost by provider last 30 days" --json -o report.json | jq '.intent'

JSON response shape

{
  "message": "...",
  "intent": "sql_visualise | conversational | invalid",
  "result": { ... },
  "suggestions": [{ "label": "...", "query": "...", "description": "..." }],
  "turn": { "role": "assistant", "content": "...", "timestamp": "..." }
}
IntentMeaning
sql_visualiseA chart was generated; result is populated
conversationalThe model wants clarification; use a suggestions[i].query as your follow-up
invalidThe prompt could not be answered; exit code is 1

Exit codes

CodeMeaning
0Success
1intent == "invalid", auth failure, role error, or write error