1---2name: config3description: Skill for the Config area of Wiki. 501 symbols across 143 files.4---56# Config78501 symbols | 143 files | Cohesion: 60%910## When to Use1112- Working with code in `AI/`13- Understanding how shouldEnableShellEnvFallback, shouldDeferShellEnvFallback, compareOpenClawVersions work14- Modifying config-related functionality1516## Key Files1718| File | Symbols |19|------|---------|20| `AI/3-Application/Openclaw-source/src/config/io.ts` | warnIfConfigFromFuture, maybeLoadDotEnvForConfig, resolveConfigIncludesForRead, loadConfig, readConfigFileSnapshotInternal (+31) |21| `AI/3-Application/Openclaw-source/src/config/redact-snapshot.ts` | isSensitivePath, isExplicitlyNonSensitivePath, restoreRedactedValues, RedactionError, restoreOriginalValueOrThrow (+20) |22| `AI/3-Application/Openclaw-source/src/config/plugin-auto-enable.ts` | resolvePluginIdForChannel, collectCandidateChannelIds, resolveConfiguredPlugins, isPluginExplicitlyDisabled, isPluginDenied (+18) |23| `AI/3-Application/Openclaw-source/src/config/schema.ts` | cloneSchema, asSchemaObject, isObjectSchema, mergeObjectSchema, applyPluginSchemas (+18) |24| `AI/3-Application/Openclaw-source/src/config/doc-baseline.ts` | logConfigDocBaselineDebug, loadBundledConfigSchemaResponse, loadChannelSurfaceMetadata, buildConfigDocBaseline, renderConfigDocBaselineStatefile (+17) |25| `AI/3-Application/Openclaw-source/src/config/group-policy.ts` | normalizeSenderKey, normalizeTypedSenderKey, normalizeLegacySenderKey, normalizeCandidate, normalizeSenderIdCandidates (+12) |26| `AI/3-Application/Openclaw-source/src/config/validation.ts` | validateConfigObject, validateConfigObjectWithPlugins, validateConfigObjectRawWithPlugins, validateConfigObjectWithPluginsBase, ensureCompatConfig (+11) |27| `AI/3-Application/Openclaw-source/src/config/includes.ts` | readConfigIncludeFileWithGuards, ConfigIncludeError, CircularIncludeError, loadFile, resolvePath (+11) |28| `AI/3-Application/Openclaw-source/src/config/talk.ts` | isPlainObject, normalizeString, normalizeVoiceAliases, normalizeTalkSecretInput, normalizeTalkProviderConfig (+9) |29| `AI/3-Application/Openclaw-source/src/config/paths.ts` | envHomedir, legacyStateDirs, resolveStateDir, resolveUserPath, resolveCanonicalConfigPath (+8) |3031## Entry Points3233Start here when exploring this area:3435- **`shouldEnableShellEnvFallback`** (Function) — `AI/3-Application/Openclaw-source/src/infra/shell-env.ts:190`36- **`shouldDeferShellEnvFallback`** (Function) — `AI/3-Application/Openclaw-source/src/infra/shell-env.ts:194`37- **`compareOpenClawVersions`** (Function) — `AI/3-Application/Openclaw-source/src/config/version.ts:26`38- **`validateConfigObject`** (Function) — `AI/3-Application/Openclaw-source/src/config/validation.ts:281`39- **`normalizeConfigPaths`** (Function) — `AI/3-Application/Openclaw-source/src/config/normalize-paths.ts:62`4041## Key Symbols4243| Symbol | Type | File | Line |44|--------|------|------|------|45| `ConfigIncludeError` | Class | `AI/3-Application/Openclaw-source/src/config/includes.ts` | 46 |46| `CircularIncludeError` | Class | `AI/3-Application/Openclaw-source/src/config/includes.ts` | 57 |47| `ConfigRuntimeRefreshError` | Class | `AI/3-Application/Openclaw-source/src/config/io.ts` | 152 |48| `MissingEnvVarError` | Class | `AI/3-Application/Openclaw-source/src/config/env-substitution.ts` | 28 |49| `shouldEnableShellEnvFallback` | Function | `AI/3-Application/Openclaw-source/src/infra/shell-env.ts` | 190 |50| `shouldDeferShellEnvFallback` | Function | `AI/3-Application/Openclaw-source/src/infra/shell-env.ts` | 194 |51| `compareOpenClawVersions` | Function | `AI/3-Application/Openclaw-source/src/config/version.ts` | 26 |52| `validateConfigObject` | Function | `AI/3-Application/Openclaw-source/src/config/validation.ts` | 281 |53| `normalizeConfigPaths` | Function | `AI/3-Application/Openclaw-source/src/config/normalize-paths.ts` | 62 |54| `normalizeExecSafeBinProfilesInConfig` | Function | `AI/3-Application/Openclaw-source/src/config/normalize-exec-safe-bin.ts` | 4 |55| `normalizeExec` | Function | `AI/3-Application/Openclaw-source/src/config/normalize-exec-safe-bin.ts` | 5 |56| `loadConfig` | Function | `AI/3-Application/Openclaw-source/src/config/io.ts` | 733 |57| `readConfigFileSnapshotInternal` | Function | `AI/3-Application/Openclaw-source/src/config/io.ts` | 884 |58| `readConfigIncludeFileWithGuards` | Function | `AI/3-Application/Openclaw-source/src/config/includes.ts` | 288 |59| `applyMessageDefaults` | Function | `AI/3-Application/Openclaw-source/src/config/defaults.ts` | 130 |60| `applyTalkConfigNormalization` | Function | `AI/3-Application/Openclaw-source/src/config/defaults.ts` | 208 |61| `applyModelDefaults` | Function | `AI/3-Application/Openclaw-source/src/config/defaults.ts` | 212 |62| `applyAgentDefaults` | Function | `AI/3-Application/Openclaw-source/src/config/defaults.ts` | 348 |63| `applyLoggingDefaults` | Function | `AI/3-Application/Openclaw-source/src/config/defaults.ts` | 389 |64| `applyCompactionDefaults` | Function | `AI/3-Application/Openclaw-source/src/config/defaults.ts` | 508 |6566## Execution Flows6768| Flow | Type | Steps |69|------|------|-------|70| `LoadConfig → Normalize` | cross_community | 10 |71| `LoadConfig → ResolveRawOsHomeDir` | cross_community | 10 |72| `LoadConfig → Cwd` | cross_community | 8 |73| `MonitorMattermostProvider → IsRecord` | cross_community | 8 |74| `MonitorMattermostProvider → Trim` | cross_community | 8 |75| `MonitorDiscordProvider → Trim` | cross_community | 7 |76| `MonitorDiscordProvider → FormatSecretRefLabel` | cross_community | 7 |77| `StartGatewayServer → ApplyAgentDefaults` | cross_community | 6 |78| `StartGatewayServer → IsRecord` | cross_community | 6 |79| `StartGatewayServer → NormalizeConfigIssuePath` | cross_community | 6 |8081## Connected Areas8283| Area | Connections |84|------|-------------|85| Scripts | 93 calls |86| Plugins | 32 calls |87| Commands | 18 calls |88| Auto-reply | 14 calls |89| Reply | 13 calls |90| Monitor | 13 calls |91| Infra | 12 calls |92| Agents | 12 calls |9394## How to Explore95961. `gitnexus_context({name: "shouldEnableShellEnvFallback"})` — see callers and callees972. `gitnexus_query({query: "config"})` — find related execution flows983. Read key files listed above for implementation details