# Settings > Every setting in the app, in the order the Settings tab shows them, with its default and where to read more. Settings are saved when you click Save, not as you change them. Source: https://docs.querylab.io/settings/
Theme
- System preference (selected) - Light - Dark - Language: Auto-detect from browser (English). Choose your preferred interface language
Tab Behavior
- Prompt for tab name: Show a dialog to name new tabs when created
Sidebar
- Show data browser tree (selected): Display the hierarchical tree of projects, datasets, and tables in the left sidebar. When disabled, use Cmd+K to search for tables. The Settings tab: search across every setting, categories on the left, Close and Save at the top right. Open Settings from the gear icon in the header (also in the account menu), or `⌘ K` → **Open settings**. Some feature pages deep-link to their section. The search box at the top filters every category at once. After General, Workspace, Notifications and Privacy, the categories sit under three headings: **Queries** (BigQuery, Limits & Costs, Data & Results), **SQL** (Editor, SQL Frameworks, Code Quality) and **AI** (Prism AI). The desktop app adds **Local BigQuery API** under Queries and **MCP** under AI. ## General **Language** offers English, Japanese, German, Korean, French, Spanish and Brazilian Portuguese. **Prompt for tab name** is covered in [Tabs](https://docs.querylab.io/tabs-organization/tabs/); **Show data browser tree** and **Tabs and project tree** in [Navigating resources](https://docs.querylab.io/schema-browser/navigating-resources/). ## Notifications **Long queries** (off, 10 seconds), **Prism AI answers** (on) and, on desktop, **MCP approvals** (on) show a system notification while Querylab.io is in the background. See [Notifications](https://docs.querylab.io/settings/notifications/). ## Privacy - Store tabs on backend (encrypted) (selected): When enabled, your SQL queries and tab names are encrypted and stored on our backend. Your tabs will be preserved across sessions and devices. Your query results remain in your browser only. - Help improve Querylab.io (selected): Send usage data to help us improve the app. We never collect your SQL queries, query results, or BigQuery data. **Store tabs on backend** is off by default, so tabs live in this browser only. **Help improve Querylab.io** is on by default and always on in the playground; on the desktop app with local credentials it is a local opt-in, default off. Three more sections appear when signed in on the web: **Active Sessions** (every device, with **Sign out** per session and **Sign out of all other sessions**), **Google Credentials** (**Revoke server credentials**, and on desktop **Clear local credentials**; see [Local credentials](https://docs.querylab.io/desktop-app/local-credentials/)), and **Delete Account**. ## BigQuery
Projects
- ace-analytics (selected): Schema Tree · Billing - bigquery-public-data (selected): Schema Tree - Missing a project?: Project ID. Add Project - Default Billing Project: ace-analytics. Can be overridden per query in the editor settings. | Setting | Default | What it does | | ------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Projects | All discovered | Per project: show in the schema tree, allow as billing project. **Grant Access to Projects List** appears if the app lacks the projects-list scope; see [Connecting to BigQuery](https://docs.querylab.io/getting-started/connecting-to-bigquery/) | | Missing a project? | | **Project ID** field and **Add Project** button, for projects the listing doesn't return | | Default routing | Use from project | **Reservations** section: **Use from project**, **Auto**, **On-demand** or **Default reservation** for new tabs; see [Auto routing](https://docs.querylab.io/writing-sql/query-routing/) | | Default Reservation | Use from project | The reservation new tabs and Auto routing use; see [Pricing comparison](https://docs.querylab.io/writing-sql/pricing-comparison/) | ## Limits & Costs
Single Query Limit
- Max GB billed: 100 GB. Default for new tabs (does not affect existing tabs) - Slot limit per query: slot-hours. Querylab.io cancels a query that passes this limit. BigQuery has no slot limit of its own, so this one is approximate. New tabs start with this limit; notebooks and AI tools follow it unless they set their own. - Time limit per query: sec. BigQuery stops the query itself a little after this time, usually 10 to 20 seconds later. It applies to query tabs, notebook cells and AI tools.
Budget Limits
- Daily budget: GB. Leave empty for no daily limit. Cannot exceed organization limit if set. - Currency for displaying query costs and estimations: $ USD (US Dollar) - BigQuery edition for On-Demand vs Reservation price comparisons: Enterprise | Setting | Default | What it does | | ------------------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Max GB billed | 100 | Per-query limit for new tabs; see [Cost limits](https://docs.querylab.io/writing-sql/cost-limits/) | | Slot limit per query | Empty (no limit) | Default for new tabs on a reservation; notebooks and AI tools follow it unless they set their own; the app cancels a query that passes it; see [Slot limit per query](https://docs.querylab.io/writing-sql/cost-limits/#slot-limit-per-query) | | Time limit per query | Empty (no limit) | 10 seconds to 6 hours, enforced by BigQuery on query tabs, notebook cells and AI tools; see [Time limit per query](https://docs.querylab.io/writing-sql/cost-limits/#time-limit-per-query) | | Daily / Weekly / Monthly budget | Empty (no limit) | GB caps per period; usage bars underneath; org limits shown as a tag. In the desktop app signed in with gcloud they are counted on that computer only | | Currency | USD | USD, EUR or JPY in every cost display | | Comparison edition | Enterprise | Disabled, Standard, Enterprise, Enterprise Plus; see [Pricing comparison](https://docs.querylab.io/writing-sql/pricing-comparison/) | | Default LIMIT | Suggest it, 1000 rows | When a `LIMIT` would reduce the scan; see [LIMIT hints](https://docs.querylab.io/writing-sql/limit-hints/) | ## Data & Results One control. **Group nested columns** (default Off) shows STRUCT columns as a tree in the grid. See [Results grid](https://docs.querylab.io/results/results-grid/). ## Local BigQuery API Desktop only. **Serve the Local BigQuery API** (default Off) lets `bq`, the Python client and other BigQuery tools on this computer run SQL on the Querylab.io Local engine. **Port** is 9060 unless you change it, and **Connect a client** has a `bq` command and a Python example for your port. See [Local BigQuery API](https://docs.querylab.io/desktop-app/local-bigquery-api/). ## Editor
Completions
- Automatic (show as you type) (selected) - Manual (Ctrl+Space only) - Chain completions: Automatically show next completions after accepting keywords or tables (e.g., FROM → show tables, users → show columns) - Enable ghost completions (selected): Show inline suggestions that you can accept with Tab - Learn from my queries (selected): Suggests WHERE conditions, JOIN conditions and aliases you wrote before, learned from your history on this device only - Show suggestions after a space: Only matters when a model writes ghost text (Settings, AI). Off: after a space you see the model's gray text first, and Tab accepts it. Type a letter or press Ctrl+Space to see the list. - Enable INFORMATION_SCHEMA completions (selected): Show INFORMATION_SCHEMA prefix and tables in completions (e.g., dataset.INFORMATION_SCHEMA.TABLES) - Enable Graph Schema Completions: Experimental · Fetch property graph metadata from INFORMATION_SCHEMA for schema-aware GQL completions. Completions work without a reservation. Running a graph query needs an Enterprise or Enterprise Plus reservation. - Enable BigFunctions: Show community BigQuery UDFs (150+ functions) in completions - Completion style: Smart (context-aware). How keywords and functions are filtered in autocomplete suggestions
Smart Typing
- Auto-close brackets (), [], {}: Language defined (default) - Auto-close quotes '', "", ``: Language defined (default) - Auto-surround selection: Language defined (default)
Appearance
- Font size: 14px (default) - Tab size: 2 spaces - Use spaces (selected) - Word wrap: Off. Off: horizontal scrolling. On: wraps at window width. Bounded: wraps at 120 columns regardless of window size - Show minimap (selected): Display code overview on the right side of the editor
Inlay Hints
- Show parameter names (selected): Display parameter names inline for function calls (e.g., x: value, y: value) - Show return types (selected): Display return types inline for expressions (e.g., : STRING) - Show variable types: Display inferred types for columns and variables (e.g., : INT64) ### SQL Editor Completions are explained in [Auto completions](https://docs.querylab.io/writing-sql/auto-completions/), [Ghost completions](https://docs.querylab.io/writing-sql/ghost-completions/) and [Graph queries](https://docs.querylab.io/writing-sql/graph-queries/); inlay hints in [Code navigation](https://docs.querylab.io/writing-sql/code-navigation/). | Setting | Default | Options | | ------------------------------ | --------------------- | --------------------------------------------------------------------------------------------------------------------- | | Auto-completion | Automatic | Manual = `Ctrl Space` only; a dot always triggers | | Completion style | Smart (context-aware) | Permissive shows every keyword and function and lets you filter | | Auto-close brackets / quotes | Language defined | Always, Language defined, Before whitespace only, Never | | Auto-surround selection | Language defined | Language defined, Quotes only, Brackets only, Never | | Enable ghost completions | On | See [Ghost completions](https://docs.querylab.io/writing-sql/ghost-completions/) | | Learn from my queries | On | Needs ghost completions; see [Learning from your queries](https://docs.querylab.io/writing-sql/ghost-completions/#learning-from-your-queries) | | Show suggestions after a space | Off | Only with a ghost model on; see [Ghost completions](https://docs.querylab.io/writing-sql/ghost-completions/) | | Font size | 14px | 12–18px | | Word wrap | Off | On, or Bounded at 120 columns | ### SQL Formatting Applied by `⇧ ⌘ F`. Each option is explained with examples in [SQL formatting](https://docs.querylab.io/writing-sql/sql-formatting/). | Setting | Default | Options | | -------------------- | ---------- | -------------------------------------------------------------------- | | Formatting Mode | Pretty | Preserve, Pretty, Compact | | Keyword Case | UPPER | UPPER, lower, preserve | | Indent Size · style | 2 · Spaces | 2, 4, 8; Spaces or Tabs toggle | | Newline After Clause | On | Each major clause (SELECT, FROM, WHERE) starts on its own line | | Max Line Length | 80 | 80, 100, 120 | | Trailing Comma | Off | Comma after the last item in lists | | Quote Identifiers | Preserve | Preserve, Always, Never | | AS Keyword | Preserve | Preserve, Always, Never | | Pipe Operator Style | Standard | Standard, Left-Aligned; see [Pipe syntax](https://docs.querylab.io/writing-sql/pipe-syntax/) | | Format on Type | Off | Format as you type, e.g. after `Enter` | ## SQL Frameworks
dbt
- Enable dbt Mode (selected): Auto-detect Jinja patterns and enable dbt completions, diagnostics, and compiled view - Inlay Hints (selected): Show resolved values inline after Jinja expressions (e.g., ref, source, var)
Dataform
- Enable Dataform Mode (selected): Auto-detect SQLX patterns and enable Dataform completions, diagnostics, and compiled view - Inlay Hints (selected): Show resolved values inline after SQLX expressions (e.g., ref, resolve, self)
ggsql visualization (experimental)
- Enable VISUALIZE / DRAW clauses: Render inline charts from ggsql syntax. Strips the clauses before sending SQL to BigQuery. - Match chart theme to app theme (selected) | Setting | Default | Read more | | ---------------------------------- | -------------------------- | -------------------------------------------------- | | Enable dbt Mode · Inlay Hints | On · On | [dbt support](https://docs.querylab.io/writing-sql/dbt-support/) | | Enable Dataform Mode · Inlay Hints | On · On | [Dataform support](https://docs.querylab.io/writing-sql/dataform-support/) | | Enable VISUALIZE / DRAW clauses | Off (on in the playground) | [Charts](https://docs.querylab.io/writing-sql/charts/) | | Match chart theme to app theme | On | Turn off for light charts in exports | ## Code Quality Two sections. **Cost Optimization** holds the thresholds. **Diagnostic Rules** lists every rule by category (Performance, Code Quality, Correctness, Semantic, Parser) with **Enable All** / **Disable All** per category and a badge counting disabled rules. Rules your organization pins show an **Org policy** lock. Rule descriptions are in [Code quality](https://docs.querylab.io/writing-sql/code-quality/).
Query Pattern Warnings
- Warn about SELECT * on tables larger than: 1 GB - Warn about missing LIMIT on tables larger than: 1 GB - Warn about scanning tables larger than: 100 GB
Partition & Clustering
- Warn about missing partition filters (selected): Alert when querying partitioned tables without filtering the partition column (critical for BigQuery cost optimization). - Warn about missing cluster filters (selected): Alert when querying clustered tables without filtering cluster columns (improves query performance). | Setting | Default | Options | | ----------------------------------- | ------- | ------------------------------- | | SELECT \* on tables larger than | 1 GB | 100 MB, 1 GB, 10 GB, Never warn | | Missing LIMIT on tables larger than | 1 GB | 100 MB, 1 GB, 10 GB, Never warn | | Scanning tables larger than | 100 GB | 10 GB, 100 GB, 1 TB, Never warn | ## Prism AI - Enable Prism AI Features (selected): Master switch for all AI-powered features including AI tab renaming, AI chat, and context menu actions - Model: Off. AI ghost completions: when the rules and your own query history have no suggestion, a model can write one. Needs Ghost Completions in Editor Behavior. - Auto-rename tabs after execution: Use AI to generate descriptive tab names after the first successful query execution - Share Query Results Preview: Ask each time. Controls whether sample data from query results can be shared with AI for analysis
AI Providers
- Querylab.io Cloud (selected): Included in your Querylab.io plan - Claude Code: Not authenticated · Install - Gemini CLI: Not authenticated · Install The features behind the master switch are described in [Prism AI](https://docs.querylab.io/prism-ai/introduction/). | Setting | Default | Options | | --------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Model (AI ghost completions) | Off | Off, Querylab.io cloud model, Chrome's on-device model, Model on this computer (Ollama or LM Studio), Apple Intelligence model (Mac, desktop only); see [Choosing a model](https://docs.querylab.io/writing-sql/ghost-completions/#choosing-a-model) | | Share Query Results Preview | Ask each time | Disabled (never share), Ask each time, Always allow | | Claude Code, OpenAI Codex, Gemini CLI, GitHub Copilot CLI, Cursor CLI | Off | Desktop only: run through a CLI you already pay for, with a **Workspace Folder** each; see [CLI integration](https://docs.querylab.io/prism-ai/cli-integration/) | | Use my own API key for Prism AI | Off | Desktop only: Anthropic, OpenAI or Google key kept in the macOS Keychain | ## MCP Desktop only. Three sections control what connected AI tools can do through the [Local MCP server](https://docs.querylab.io/desktop-app/local-mcp-server/): | Section | What it holds | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Connection | **AI tools can connect** (default On), whether the server is running, and **Start Querylab.io when an AI tool uses it** | | Connected tools | Adds Querylab.io to Claude Code, Codex, Cursor and the other AI tools on this computer | | Access limits | **Billing project**, **Maximum GB per query**, **Routing**, **Daily limit for AI tools**, row limits, **Write access**, **Write approval** and **Dataset rules**; see [Limits and access](https://docs.querylab.io/desktop-app/local-mcp-server/#limits-and-access) |