Daily Workflow
Settings View
The Settings view provides centralized configuration for all aspects of Crab Desktop — appearance, editor behavior, git preferences, integrations, and system diagnostics.
Accessing Settings
- Click the Settings (gear) icon in the activity bar
- Keyboard shortcut:
Cmd+,
Layout
The Settings view uses a two-panel layout:
- Left panel — section navigation list (Appearance, Editor, Previews, Workspace, Diff, Commit, Notifications, Prefetch, Experiments, Integrations, Storage, Cache, Memory, Diagnostics, Shortcuts, Reset, About)
- Right panel — section content with form controls for the selected category
Sections
Appearance
- Theme — Dark, Light, High Contrast Dark, High Contrast Light, System (follows OS preference)
- Editor theme — syntax highlighting theme (One Dark Pro, Solarized, Monokai, Nord, etc.)
- Font size — global UI font size
- Workspace theme — per-repo theme override (useful for distinguishing multiple open repos)
Editor
- Font family — editor and diff font
- Font size — editor-specific font size
- Tab size — spaces per tab
- Word wrap — on/off/bounded
- Minimap — show/hide code minimap
- Line numbers — on/off/relative
- Bracket matching — highlight matching brackets
Previews
- Max preview size — skip previews for files above this size
- Parquet row limit — max rows to show in Parquet preview
- Image preview — enable/disable inline image rendering
- Notebook rendering — how to display Jupyter notebooks
Workspace
- Reopen repos on startup — restore previously open repos
- Default clone directory — where
git cloneputs repos - File watcher — enable/disable live filesystem monitoring
- Ignored patterns — glob patterns to exclude from the tree
Diff
- Diff style — Unified or Split (side-by-side)
- Context lines — lines of context around changes (default 3)
- Whitespace — show/ignore whitespace changes
- Word diff — highlight word-level changes within lines
- Inline blame — show git blame annotations in diffs
Commit
- Commit template — default commit message template
- Conventional commits — enable type/scope prefix UI
- Sign commits — GPG/SSH signing (auto-detect key)
- Auto-stage on commit — stage all modified files before commit
- Spell check — check commit messages for typos
Notifications
- Desktop notifications — enable/disable OS notifications
- Terminal completion — notify when long commands finish
- Push/pull completion — notify on sync operations
- Quiet hours — suppress notifications during specified times
Prefetch Profiles
Configure which files to pre-download on clone/pull:
- Define glob patterns for auto-hydration
- Multiple profiles for different workflows
- Per-branch profile overrides
Experiment Tracking
- Provider — MLflow, Weights & Biases, or custom
- Endpoint URL — tracking server address
- API key — authentication (stored in keychain)
- Auto-log — automatically log metrics from workflow runs
Integrations (Forge)
- GitHub — OAuth token, default organization
- GitLab — access token, instance URL
- Bitbucket — app password, workspace
- Gitea — token, instance URL
- Status shows connection health and token expiry
Remote Storage
- Default remote — S3/GCS/Azure endpoint
- Region — cloud region
- Bucket — storage bucket name
- Credentials — AWS profile or explicit keys
- Encryption — client-side encryption settings
Cache
- Cache directory — where chunk cache lives
- Max cache size — eviction threshold
- Cache stats — current usage, hit rate
- Clear cache — button to purge all cached data
Memory
- Max log lines — ring buffer size for progress logs
- Terminal scrollback — lines per terminal session
- Heap limit — when to start evicting cached data
- Memory usage — current heap size display
Diagnostics
- Agent log level — verbosity of sidecar output
- Health refresh interval — how often diagnostics refresh
- Diagnostic bundle — copy logs and environment details for support
Shortcuts
- Keybinding editor — view and customize all keyboard shortcuts
- Conflict detection — highlights conflicting bindings
- Reset to defaults — restore original shortcuts
- Import/Export — share keybinding configurations
Reset
- Reset settings — restore all settings to defaults
- Clear state — purge localStorage and cached data
- Reset layout — restore default panel sizes and positions
About
- Version — app version, Electron version, Node version
- Agent version — Rust sidecar version
- Crab CLI version — installed CLI version
- System info — OS, architecture, memory
- Telemetry — opt-in/out of anonymous usage data
- Licenses — open-source license information
Scope System
Settings can be scoped:
- User (global) — applies to all repositories
- Workspace — applies only to the current repository
A scope chip next to each setting shows its current scope. Workspace settings override user settings.
Persistence
- User settings →
localStorage(renderer) +main-settings.json(main process subset) - Workspace settings →
.crab/desktop/settings.jsonin the repo - Secrets (tokens, keys) → OS keychain via
safeStorage
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Cmd+, | Open Settings |
Cmd+K Cmd+S | Open Keyboard Shortcuts |
/ | Focus search within settings |
Escape | Close settings |