Skip to content
Docs

Settings and Permissions

The main runtime configuration file is .codeforge/config/settings.json.

Use it to control how Claude Code behaves inside CodeForge.

Common fields include:

{
"model": "opus[1m]",
"effortLevel": "high",
"cleanupPeriodDays": 60,
"autoCompact": true,
"alwaysThinkingEnabled": true,
"teammateMode": "auto",
"includeCoAuthoredBy": false
}

The permissions block controls what Claude can do without asking:

{
"permissions": {
"allow": ["Read(/workspaces/*)", "WebFetch(domain:*)"],
"deny": [],
"ask": [],
"defaultMode": "plan",
"additionalDirectories": []
}
}

Key fields:

  • allow for automatically allowed operations
  • deny for always-blocked operations
  • ask for confirmation-required operations
  • defaultMode for the session’s default approval mode

Enable or disable plugins in enabledPlugins:

{
"enabledPlugins": {
"agent-system@devs-marketplace": true,
"skill-engine@devs-marketplace": true,
"auto-code-quality@devs-marketplace": true
}
}

Set any entry to false to disable it without uninstalling it.

settings.json can also set environment variables that influence Claude Code internals:

{
"env": {
"ANTHROPIC_MODEL": "claude-opus-4-6[1m]",
"BASH_DEFAULT_TIMEOUT_MS": "120000",
"CLAUDE_CODE_ENABLE_TASKS": "true"
}
}

For the full list, use Environment Variables.

Status line behavior is also configured in settings.json:

{
"statusLine": {
"type": "command",
"command": "/usr/local/bin/ccstatusline-wrapper"
}
}

When the same setting exists in more than one place, precedence is:

  1. environment variables
  2. project config in .codeforge/config/
  3. shipped defaults