Settings Reference¶
Open the Settings dialog via Help → Settings (default shortcut F3). Settings are grouped into collapsible sections.
Settings persist to a TOML file:
| Platform | Path |
|---|---|
| Linux | $XDG_CONFIG_HOME/octa/settings.toml (defaults to ~/.config/octa/settings.toml) |
| macOS | ~/Library/Application Support/Octa/settings.toml |
| Windows | %APPDATA%\Octa\settings.toml |
The TOML file is created on first launch with defaults. You can edit it by hand if you prefer; Octa picks up changes on next launch. Unknown / removed fields are tolerated (new versions add defaults for missing keys; old versions ignore unknown keys).

The sections below are listed in the same order as the dialog.
Appearance¶
| Setting | Default | Notes |
|---|---|---|
| Language | English | UI language for menus and dialogs. 13 Latin-script languages; switches live, no restart. See Languages. TOML key: language. |
| Font size | 13 pt | Base font size. Applied to body / button / monospace text. |
| Default theme | Light | Light, Dark and more. Applied when you press Apply, and at startup. |
| Body font | Proportional | Proportional or Monospace. |
| Custom font path | (empty) | Optional path to a TTF/OTF font. Overrides Body font for proportional text. |
| Icon variant | Rose | Window icon colour. Several options. |
| Custom title bar | on | Replaces the OS window frame with Octa's own slim title bar (min/max/close in the toolbar), with drag-to-move and edge/corner resize. Frees the vertical space a system title bar takes. Turn off for native window decorations. Takes effect after restart. |
Files¶
| Setting | Default | Notes |
|---|---|---|
| Max recent files | 10 | How many entries to show in File → Recent Files. |
| Open as text | (empty) | Comma- or space-separated list of file extensions that should always open as plain text. Useful for unusual config or log extensions Octa doesn't ship a dedicated reader for. |
| Auto-save | off | Periodically save open tabs that have unsaved changes and already exist as a file on disk. Skips never-saved tabs, cloud tabs while cloud writing is off, and saves that would prompt (rounding / DB schema). See Auto-save. TOML key: auto_save_enabled. |
| Auto-save every (minutes) | 5 | Minutes between auto-saves (minimum 1). Only shown when Auto-save is on. TOML key: auto_save_interval_minutes. |
File-Specific¶
| Setting | Default | Notes |
|---|---|---|
| Colour aligned columns | on | In Raw view of CSV/TSV files, tint each column with a subtle background. |
| Warn on un-align reload | on | Confirmation dialog when toggling Align Columns off (the buffer is re-loaded). |
| Warn on date format change | on | One-shot banner when date inference promotes a non-ISO column. |
| Trim whitespace on load | off | Strip leading/trailing whitespace from string cells and column titles when a file is opened (interior spaces kept). Off by default, so loaded values match what is stored. TOML key: trim_whitespace_on_load. |
| Warn on whitespace trim | on | Banner listing which columns had whitespace trimmed on load. Independent of the trim setting. TOML key: warn_on_whitespace_trim. |
| Offer repair on malformed files | off | Prompt to repair a CSV/TSV that reads but looks malformed (bad encoding, BOM, control chars, delimiter mismatch, ragged rows). The file on disk is never changed. See Supported formats. TOML key: offer_repair_on_malformed. |
| Read-only mode notice | on | Show the read-only intro modal on F8 the first time per session. |
| Notebook output layout | Beneath | Where notebook output cells render: Below cell or Side-by-side. |
Table View¶
| Setting | Default | Notes |
|---|---|---|
| Show row numbers | on | Hide the grey row-number gutter on the left. |
| Show sequential numbers | on | While a filter is active, add a second gutter column numbering the visible rows from 1 (the first column keeps the original data row numbers). Only appears when filtered, off it would just duplicate the originals. TOML key: show_sequential_row_numbers. |
| Alternating row colours | on | Subtle zebra striping. |
| Clickable web links | on | Show cells that hold an http/https address as underlined links; Ctrl+click opens them in your browser. See Table Tools. TOML key: clickable_links. |
| Negative numbers in red | on | Colour negative numeric cells red. |
| Thousand separators | on | Render numeric cells with thousand separators (e.g. 1,234,567.89). Display only, saved data is unchanged. TOML key: thousands_separators_in_cells. |
| Number style | English | Grouping + decimal marks for numeric cells: English (1,234.56) or European (1.234,56). The decimal mark follows this even with separators off. TOML key: number_separator_style. |
| Highlight edited cells | off | Background colour for cells with unsaved edits. |
| Cell line breaks | off | Render \n inside cells as actual line breaks. Rows have variable height when on. |
| Binary display mode | Binary | How Binary columns render: Binary (010101…), Hex (0xab), or Text (UTF-8 if printable, fallback to hex). |
| Default mark colour | Green | Colour used by the Mark shortcut (Ctrl+M). |
Summary¶
The Analyse -> Summary tab shows one row of statistics per column.
Each statistic below has a checkbox; turn any off to drop that column.
Column and Type are always shown. TOML key: summary_stats.
| Statistic | Notes |
|---|---|
| Min / Max | Smallest and largest value. |
| Mean / Median | Average and middle value (numeric columns). |
| Std dev | Standard deviation (numeric columns). |
| Q25 / Q75 | Lower and upper quartiles (numeric columns). |
| Not null | Count of present (non-null) values. |
| Nulls / Null % | Count and share of missing values. |
| Unique | Exact count of distinct values (nulls excluded). |
| Distinct ratio | Unique values divided by total rows. |
| Total rows | Row count of the whole table. |
Search & Editor¶
| Setting | Default | Notes |
|---|---|---|
| Default search mode | Plain | Initial mode for the toolbar search: Plain / Wildcard / Regex. |
| Search result display | Filter | How search results show in the table: Filter hides non-matching rows; Highlight keeps every row and highlights matches in place (with a count and next/previous navigation). The search-bar toggle overrides this per session. Text and tree views always highlight. |
| Search history size | 5 | How many recent search queries to remember across sessions (the Recent dropdown beside the search box). 0 disables the history. Stored in search_history.json. TOML key: search_history_limit. |
| Tab size | 4 | Number of spaces inserted when pressing Tab inside text editors (the Raw text editor and the Markdown Edit/Split editor; Tab indents in place rather than moving focus). |
SQL¶
| Setting | Default | Notes |
|---|---|---|
| Open SQL panel by default | off | Auto-open the SQL panel when opening a tabular file. |
| Panel position | Bottom | Where the SQL panel docks: Bottom / Top / Left / Right. |
| Default row limit | 100 | Placeholder query is SELECT * FROM data LIMIT N. |
| Autocomplete | on | Show keyword + column-name suggestion chips under the editor. |
| Editor font | JetBrains Mono | JetBrainsMono (bundled), MatchUiFont, or SystemMonospace. |
| Highlight SQL changes | on | After an INSERT/UPDATE/DELETE, briefly mark the changed cells and new rows green. TOML key: sql_row_diff_highlight_enabled. |
| Highlight duration | 4 s | How long the mutation highlight stays before clearing. TOML key: sql_row_diff_highlight_secs. |
MCP¶
For the octa --mcp server. Both settings are read once at server
startup, so changes require restarting the MCP server (octa --mcp
process).
| Setting | Default | Notes |
|---|---|---|
| Default row limit | 1000 | Maximum rows returned by read_table / run_sql when the caller omits limit. |
| Unlimited | off | When checked, the server returns every row by default (greys out the row-limit input). |
| Cell byte cap | 65,536 (64 KiB) | Per-cell on-wire size cap. Cells larger than this are replaced with a [truncated: ...] marker. 0 disables the cap. |
See Limits & truncation for the full semantics.
Chat / Assistant¶
Settings for the in-GUI Assistant panel. All live in the main Settings dialog under the Chat / Assistant section.
| Setting | Default | Notes |
|---|---|---|
| Provider | Anthropic | LLM backend: Anthropic, OpenAI, OpenAI-compatible, Gemini, or Ollama (local). TOML key: chat_provider. |
| Model | per-provider default | Model id for the active provider. A dropdown of presets (from models.toml) plus a free-text field for any model. Stored per provider. TOML key: chat_models. |
| Base URL | (empty) | Endpoint override for the OpenAI-compatible provider. TOML key: chat_base_url. |
| Ollama URL | http://localhost:11434 |
Base URL of the local Ollama server. TOML key: chat_ollama_url. |
| Panel position | Right | Where the chat panel docks: Right / Left / Bottom. TOML key: chat_panel_position. |
| Temperature | 0.0 | Sampling temperature passed to the model. TOML key: chat_temperature. |
| Max tool iterations | 3 | How many tool-call rounds the agent runs per turn before stopping. TOML key: chat_max_tool_iterations. |
| Max tokens | 16,384 | Cap on the model's response length. Unlimited omits the field (Anthropic substitutes a high value). TOML keys: chat_max_tokens, chat_max_tokens_unlimited. |
| Result row limit | 200 | How many rows a tool result (e.g. a SQL query) puts into the assistant's context. The query still runs over every row; this only caps what the model sees so a big result can't flood the chat. When it bites, the assistant offers to write the full result to a file or a tab. Unlimited removes the cap. TOML keys: chat_result_row_limit, chat_result_row_limit_unlimited. |
| Export directory | ~/Downloads |
Where the assistant writes files (charts, exports, write_text). TOML key: chat_export_dir. |
| Write protection | On | When on (the default), the assistant cannot modify existing files, its live-edit tool (edit_open_tab) is disabled, and schema-changing DuckDB / SQLite / GeoPackage saves are refused. Turn off to let the assistant and database saves change your files. Manual GUI edits and saves are never blocked. The MCP server reads this once at startup. TOML key: write_protection. |
| Back up before modifying | On | When on (the default), Octa copies a file to a timestamped .bak-* sidecar before the assistant (or a schema-changing database save) overwrites it. Routine manual saves are not backed up. TOML key: backup_before_modify. |
| Tool-call audit log | off | Record every assistant tool call (name, arg/result byte counts, duration) to chat_audit/<session>.jsonl in the config dir. TOML key: chat_audit_log_enabled. See Assistant → audit log. |
| Warn when logs exceed | 10 MB (on) | Show a one-time startup warning when the audit logs grow past this size. TOML keys: chat_audit_log_warn_enabled, chat_audit_log_warn_bytes. |
| API key | (none) | Per-provider key. Resolved env → OS keyring → plaintext settings.toml. Clear API key needs a second click to confirm. TOML key: chat_api_keys (plaintext fallback only). |
See Assistant for the full workflow, tool list, and the filesystem sandbox.
Cloud storage¶
| Setting | Default | Description |
|---|---|---|
| Allow writing to cloud storage | Off | When on, a cloud-opened tab's Save uploads back to the object, and the assistant / MCP may write to cloud URLs. Off keeps cloud files read-only. TOML key: cloud_writes_enabled. |
| Connections | (none) | Saved S3 / Azure / GCS connections (name, provider, bucket, endpoint, credentials). TOML keys: cloud_connections, cloud_secrets (plaintext fallback; keyring preferred). |
See Cloud storage for adding connections, sign-in, public buckets, and saving back.
Map¶
| Setting | Default | Notes |
|---|---|---|
| Default mode | Tiles | Initial Map mode for new GeoJSON tabs: Tiles (slippy map) or Geometry only (no tile fetch). |
| Fallback to geometry | on | If tile fetch fails, switch to geometry-only rendering automatically. Currently advisory; see notes on the Map view. |
| Tile URL template | https://tile.openstreetmap.org/{z}/{x}/{y}.png |
XYZ-style template. {z}, {x}, {y} are substituted with zoom and tile coordinates. |
Directory Tree¶
| Setting | Default | Notes |
|---|---|---|
| Sidebar position | Left | Edge the sidebar (folder browser and cloud-connections browser) docks on (Left, Right, Top or Bottom). Left/right resize by width, top/bottom by height. |
| Show only openable files | On | List only sub-folders and files Octa can open (by extension). Files without an extension are hidden while on. Turn off to list every file. TOML key: directory_tree_filter_enabled. |
Shortcuts¶
Every action is rebindable. Click Record next to an action, press the new key combination (with Ctrl / Shift / Alt as needed), and Octa saves the binding. Escape cancels recording. Clear leaves an action unbound.
The dialog flags conflicting bindings (two actions on the same combo) so you can resolve them before saving.
The full list of actions lives on the Keyboard shortcuts page.
Performance¶
| Setting | Default | Notes |
|---|---|---|
| Initial-load row cap | 5,000,000 | Max rows loaded into memory on first open for streaming readers (Parquet, CSV, TSV). Additional rows stream in the background. Numeric input accepts comma separators (5,000,000). |
| Syntax-highlight size cap | 1 MB | Files larger than this fall back to plain monospace in the Raw view (syntect tokenisation gets laggy on huge files). Unit picker: Bytes / KB / MB. 0 disables highlighting entirely. |
| Raw view size cap (MB) | 500 | Largest file (in MB) whose full text is read into the Raw view editor. Also gates the parse-error raw fallback and the Compare view's raw side. Bigger files still open in the table view, just without raw text. Tick Unlimited to remove the ceiling (reads any file fully into memory). TOML keys: raw_view_max_bytes, raw_view_max_bytes_unlimited. |
| Multi-search file cap (MB) | 50 | Per-file size cap for the directory scope of the Multi-search panel. Files larger than this are skipped silently during the scan. 0 disables the cap. TOML key: grep_max_file_size_mb. |
| Chart max points | 100,000 | Maximum rows the Chart tab will plot before evenly-spaced downsampling kicks in (Histogram, Line, Scatter). Bar always aggregates the full input; Box computes the 5-number summary over the full input. 0 disables sampling. TOML key: chart_max_points. |
| Chart max categories | 250 | Maximum distinct X categories a Bar chart will accept before refusing to draw. Filter or aggregate the table before charting if you exceed this. TOML key: chart_max_categories. |
| Tables visible in picker | 10 | How many table rows the multi-table picker dialog (SQLite, DuckDB, …) fits vertically at its default size. The dialog stays user-resizable, so drag the corner to grow it when a database has more tables. Minimum 1. TOML key: table_picker_visible_rows. |
| Excel sheets to auto-open | 5 | How many sheets of a multi-sheet Excel workbook open automatically (each in its own tab). Workbooks with more sheets show a picker so you choose which to open. Minimum 1. TOML key: excel_max_auto_sheets. |
Window¶
| Setting | Default | Notes |
|---|---|---|
| Initial window size | (auto-detect) | Pixel size of the window when it is not maximised, also used as the restore-from-maximise size. |
| Start maximized | on | Launch with the window maximised. |
Why every window size can look the same
A maximised window always fills the whole screen, so the Initial window size has no visible effect while the window is maximised (on a 4K screen it stays 4K whichever size you pick). The setting only takes effect on the restored (non-maximised) window: turn Start maximized off, or click the un-maximise button, to see it applied.
Reset to defaults¶
The Settings dialog footer has a Reset to defaults button (red, in the right corner). It replaces every value with its default in the draft; nothing is written to disk until you click Apply, so Cancel still reverts.
A confirmation dialog protects against misfires.
See also¶
- Keyboard shortcuts is the full table of remappable actions.
- CSV Quote / Escape modes is the visual guide to the Raw CSV/TSV view's quote/escape combos.
- Date inference explains what the inference pass detects and when the ambiguity dialog appears.
- Assistant is the full guide to the in-GUI chat panel whose settings are listed above.