Config Files
Creor uses creor.json or creor.jsonc (JSON with comments) for configuration. You can place these files at the project level, inside a .creor/ directory, or in your home directory for global defaults.
A minimal config file only needs the $schema field for editor autocompletion:
Tip
creor.jsonc if you want to add inline comments. Both formats are supported everywhere Creor looks for config.Config Hierarchy
Creor merges configuration from multiple sources. Each level overrides the one below it. From lowest to highest priority:
| Priority | Source | Description |
|---|---|---|
| 1 (lowest) | Remote .well-known/creor | Organization defaults fetched from a well-known URL during auth |
| 2 | Managed config | /etc/creor (Linux), /Library/Application Support/creor (macOS), or %ProgramData%\creor (Windows) — admin-controlled, enterprise deployments |
| 3 | Global user config | ~/.creor/creor.json — your personal defaults across all projects |
| 4 | CREOR_CONFIG file | A custom path set via the CREOR_CONFIG environment variable |
| 5 | Project creor.json | creor.json or creor.jsonc in the project root (checked into the repo) |
| 6 | .creor/ directory | .creor/creor.json inside the project — also loads agents, skills, and plugins from subdirectories |
| 7 | CREOR_CONFIG_CONTENT | Inline JSON passed as an environment variable |
| 8 | Runtime config | Changes applied via the PATCH /config API at runtime |
| 9 (highest) | Managed directory | Enterprise managed directory always wins — it overrides everything above |
Array fields like plugin and instructions are concatenated across levels rather than replaced, so global plugins are always included alongside project-specific ones.
Note
.creor/agents/*.md, skills from .creor/skills/*/SKILL.md, and plugins from .creor/plugins/*.ts in every config directory it scans.Key Sections
model
Set the default model in provider/model format. You can also set a smaller model for background tasks like title generation.
provider
Override provider settings — custom base URLs, API keys, or model routing.
agent
Customize built-in agents or define new subagents. See the Subagents page for full details.
permission
Control which tools require confirmation, are auto-allowed, or are denied entirely. Each tool can be set to ask, allow, or deny. You can also use glob patterns for file-specific rules.
skills
Point Creor at additional skill directories or remote skill URLs.
hooks
Run shell commands at specific lifecycle events. See the Hooks page for details.
mcp
Configure Model Context Protocol servers — local stdio-based or remote URL-based. See the MCP page.
sandbox
OS-level sandboxing for bash commands. Enabled by default on macOS and Linux with kernel-level enforcement.
Other Settings
| Field | Type | Description |
|---|---|---|
| share | "manual" | "auto" | "disabled" | Control session sharing behavior |
| autoupdate | boolean | "notify" | Auto-update behavior |
| snapshot | boolean | Enable file snapshots for undo |
| repo_map_enabled | boolean | Inject workspace file tree into system prompt (default: true) |
| project_context_enabled | boolean | Inject framework/dependency context (default: true) |
| git_context_enabled | boolean | Inject git branch/commit context at session start |
| format_enabled | boolean | Auto-format files after AI edits (default: true) |
| default_agent | string | Default agent name (falls back to "build") |
| auto_route | boolean | Auto-route messages to the best agent via LLM classification |
| disabled_providers | string[] | Providers to exclude |
| enabled_providers | string[] | When set, ONLY these providers are loaded |
| username | string | Custom display name in conversations |
Full Example
A typical project-level .creor/creor.json covering the most common settings:
Environment Variables
Many settings can be controlled via environment variables. These are evaluated at startup and can override file-based config.
| Variable | Description |
|---|---|
| CREOR_CONFIG | Path to a custom config file |
| CREOR_CONFIG_CONTENT | Inline JSON config (overrides file-based config) |
| CREOR_CONFIG_DIR | Additional config directory to scan |
| CREOR_CLIENT | Client identifier: "cli", "desktop", etc. (default: "cli") |
| CREOR_PERMISSION | JSON permission overrides |
| CREOR_DISABLE_PROJECT_CONFIG | Set to "true" to ignore project-level config |
| CREOR_DISABLE_DEFAULT_PLUGINS | Set to "true" to skip built-in plugins |
| CREOR_DISABLE_AUTOCOMPACT | Set to "true" to disable automatic context compaction |
| CREOR_DISABLE_PRUNE | Set to "true" to disable output pruning |
| CREOR_DISABLE_LSP_DOWNLOAD | Set to "true" to skip auto-downloading LSP servers |
| CREOR_DISABLE_EXTERNAL_SKILLS | Set to "true" to skip remote skill loading |
| CREOR_SANDBOX | Set to "true" to force sandbox mode |
| CREOR_SANDBOX_NETWORK | "allow" or "deny" for sandbox network policy |
| CREOR_ENABLE_EXA | Set to "true" to enable Exa web search |
| CREOR_MODELS_URL | Custom URL for the models registry |
| CREOR_MODELS_PATH | Local path to a models registry file |
| CREOR_SERVER_USERNAME | HTTP basic auth username for the engine server |
| CREOR_SERVER_PASSWORD | HTTP basic auth password for the engine server |
| CREOR_EXPERIMENTAL | Set to "true" to enable all experimental features |
| CREOR_EXPERIMENTAL_PLAN_MODE | Set to "true" to enable plan mode agent |
| CREOR_TELEMETRY | Set to "true" to enable anonymous telemetry |
Warning
CREOR_PERMISSION and CREOR_CONFIG_CONTENT expect valid JSON strings. Malformed JSON will be silently ignored.Runtime Config
You can change configuration at runtime using the PATCH /config API endpoint. These changes are persisted to a config.json file in the engine's instance directory and take the second-highest priority in the merge order, just below managed config.
Creor also watches .creor/creor.json for external edits. When the file changes on disk, the engine automatically reloads all configuration, agent definitions, and permissions without requiring a restart.