Settings
Open Settings from the gear icon in the workbench toolbar, or via Tools → Settings (Ctrl+,) in the menu bar. Settings are organized into tabs. Use the Search box at the top of the tab list to filter settings by keyword.
Appearance
Controls the visual style of the entire application.
Color Preset — A dropdown that switches the app’s colour scheme. Ten presets are available:
| Preset | Style |
|---|---|
| Light | Clean white (default) |
| GitHub Light | GitHub’s light palette |
| Ayu Light | Warm off-white |
| Solarized Light | Warm cream (Solarized) |
| Dark | VS Code dark |
| GitHub Dark | GitHub’s dark palette |
| Monokai | Classic Monokai dark |
| Dracula | Purple-tinted dark |
| Nord | Cool arctic dark |
| Solarized Dark | Solarized dark palette |
Switching a preset immediately reapplies the colour scheme, resets any per-variable overrides, and syncs the editor theme to a matching default.
Editor Theme — Independently controls the Monaco code editor’s syntax highlighting. Choosing a Color Preset sets this automatically, but you can override it separately. Available themes: Light (VS), GitHub Light, Ayu Light, Solarized Light, Dark (VS), GitHub Dark, Monokai, Dracula, Nord, Solarized Dark, High Contrast Dark, High Contrast Light.
UI Colors — Fine-grained colour overrides for nine interface variables (Background, Surface, Border, Text, Text Muted, Accent, Active Tab, Inactive Tab, Inactive Tab Text). Each row has a colour picker, a hex input, and a reset button. Changes take effect immediately. Overrides persist across restarts and survive theme switches until you click Reset all to preset.
Terminal Colors — Same pattern as UI Colors but for the terminal emulator’s background, foreground, cursor, and selection colours.
UI Font Size — Slider from 11 to 18 px. Controls the size of text throughout the application chrome (panels, toolbars, menus). The Monaco editor has its own separate font size in the Editor tab. Changes take effect immediately and persist across restarts.
Reduce motion — When enabled, suppresses all CSS transitions and animations in the application. Useful for accessibility or preference. Takes effect immediately.
Desktop notifications — When enabled, Open Choice requests permission to send a desktop notification each time a run completes. The notification shows the job title and final status. Requires browser notification permission; you will be prompted to grant it the first time you enable this option.
Editor
Controls the Monaco code editor used for .oce files.
Theme — Same as the Editor Theme in the Appearance tab. Changing it here updates the Appearance tab selector too.
Font Size — Slider from 10 to 24 px.
Line Numbers — On, Off, or Relative.
Minimap — Toggles the scrollbar overview map on the right side of the editor.
Render Whitespace — None, Boundary (tabs and trailing spaces only), Selection, or All.
Word Wrap — On, Off, Bounded (wraps at the viewport edge), or Word Wrap Column.
Tab Size — 2, 4, or 8 spaces.
Insert Spaces — When enabled, pressing Tab inserts spaces. When disabled, it inserts a literal tab character.
Auto-close Brackets — Controls whether the editor automatically inserts the matching closing bracket.
Auto-close Quotes — Same for quote characters.
Auto-surround — When text is selected and you type a bracket or quote, this controls whether the selection is wrapped.
Format on save — When enabled, the .oce formatter runs automatically before each save. The formatter normalises spacing around =, ensures a blank line between task blocks, and trims trailing whitespace. Only applies to .oce files; the plain-text fallback editor is not affected.
Terminal
Controls the embedded terminal emulator in the Console panel.
Font Size — Slider from 8 to 24 px.
Scrollback Buffer — Number of lines kept in memory after they scroll off screen. Range 100–50 000, default 1 000.
Intellisense
Controls autocompletion behaviour in the .oce editor.
Quick Suggestions — When enabled, a suggestion list appears as you type without pressing a key.
Snippet Suggestions — Controls how snippets appear in the suggestion list: Inline, Top, Bottom, or None.
Parameter Hints — When enabled, a signature tooltip appears after typing an opening bracket.
Help
Controls the Help Explorer and endpoint help pages.
Parameter description truncation (characters) — Long parameter descriptions in help pages collapse to this length with a “more” toggle. Range 20–1000, default 100.
Don’t restore help pages when the app reopens — When enabled, help pages are excluded from the session-restore layout on next launch. Off by default.
History
Controls how much run history the app retains.
Keep history for (days) — Runs older than this number of days are pruned automatically. Range 1–365, default 30.
Max output lines per run — The maximum number of output lines stored per run. Older lines are dropped once the limit is reached. Default 200.
Queue
Controls how queued task runs are scheduled. The Sequential lane runs one job at a time (FIFO). The Parallel lane runs jobs concurrently up to the thread limit below.
Max parallel threads — How many jobs the Parallel lane may run simultaneously. Range 1–32, default 4. Raising this mid-run immediately starts queued parallel jobs up to the new limit.
Auto-start the queue when jobs are added — When enabled, added jobs begin running immediately. When disabled, you must press Run in the Queue panel to start.
Pause queue on first failure — When enabled, the queue halts after any job fails. Remaining queued jobs are left in place until you resume.
Plugins
Check for updates on startup — When enabled, Open Choice queries the plugin registry a few seconds after launch and shows a notification if newer versions of installed plugins are available. Off by default.
Layout
Assigns each dockable panel to a screen region (Top Left, Top Right, Bottom Left, Bottom Right). Changes move any currently open instance of that panel immediately and are remembered across sessions.
Panels that can be assigned a default region: Recent Files, File Explorer, Console, Queue, Snippets, Templates, Notepad, Notepad Timeline, Run History, Scheduled Jobs, Search, Workspace Symbols, Help Explorer, App Help, Plugins, Browse Plugins, Aliases, Trust Center.
Transient and context-driven panels (Editor, Run Output, Endpoint Help Page, Editor Help, OCE Diff, Timeline, Endpoint Scratchpad, Protocol Log) open where they are invoked from and are not assignable here.
Advanced
Diagnostic Logging
Captures IPC calls, task runs, and errors to a log file for bug reports. Useful when you need to reproduce and share a failure.
- Enter or browse to a log file path (defaults to something like
oc-debug.log). - Click Start logging — the status badge turns green and shows the path.
- Reproduce the issue, then click Stop logging.
- Click Open folder to reveal the log file in the OS file explorer.
Logging writes to the chosen file until stopped or the app closes. The path cannot be changed while logging is active.
Developer Mode
Allows installing plugins that are unsigned or self-signed — useful when you are building or testing a plugin locally. Plugins installed in developer mode receive trust_status = warning and are displayed with a warning indicator.
Keep developer mode off when not actively building plugins. Enabling it reduces the protection the trust system provides. The Trust Center panel shows a warning banner whenever developer mode is active.
Factory Reset
Permanently deletes all application data:
- All installed plugins (binaries deleted from disk)
- All plugin database records, cache, and runtime events
- All aliases
- All timeline snapshots
- All run history
This action is irreversible. A confirmation dialog is shown before proceeding.
Use factory reset only when troubleshooting a seriously broken state that cannot be resolved through normal uninstall/reinstall. After a factory reset, reinstall your plugins from the registry.