Configuration

Claude Code is configured through CLI flags (Commander.js), environment variables, a JSON settings file (~/.clawdbot/moltbot.json validated with TypeBox), and in-session slash commands.

CLI Flags

Defined in src/main.tsx with Commander.js .option() and .addOption():

FlagDescription
-p, --printPrint response and exit (useful for pipes). Skips workspace trust dialog.
--bareMinimal mode: skip hooks, LSP, plugins, attribution, auto-memory, keychain reads, CLAUDE.md discovery. Sets CLAUDE_CODE_SIMPLE=1.
-d, --debug [filter]Enable debug mode with optional category filtering (e.g., "api,hooks" or "!1p,!file")
--debug-file <path>Write debug logs to a file
--verboseOverride verbose mode setting from config
--model <model>Model for the current session (alias or full ID)
--effort <level>Effort level: low, medium, high, max
--agent <agent>Agent for the current session
--permission-mode <mode>Permission mode (default, ask, plan, auto, acceptEdits, bypassPermissions, dontAsk)
--dangerously-skip-permissionsBypass all permission checks (sandbox only)
--allow-dangerously-skip-permissionsEnable bypass as an option without enabling by default
--allowedTools, --allowed-toolsComma/space-separated tool names to allow (e.g., "Bash(git:*) Edit")
--disallowedTools, --disallowed-toolsComma/space-separated tool names to deny
--tools <tools...>Specify available tools from built-in set
--mcp-config <configs...>Load MCP servers from JSON files or strings
--strict-mcp-configOnly use MCP servers from --mcp-config
--plugin-dir <path>Load plugins from a directory (repeatable)
--settings <file-or-json>Path to a settings JSON file or JSON string
--add-dir <directories...>Additional directories to allow tool access
--system-prompt <prompt>Custom system prompt
--system-prompt-file <file>Read system prompt from a file
--append-system-prompt <prompt>Append to default system prompt
--continue, -cContinue the most recent conversation
--resume, -r [value]Resume a conversation by session ID or picker
--fork-sessionWhen resuming, create a new session ID
--session-id <uuid>Use a specific session ID
--name, -n <name>Display name for this session
--agents <json>JSON defining custom agents
--output-format <format>text, json, or stream-json (with --print)
--input-format <format>text or stream-json (with --print)
--json-schema <schema>JSON Schema for structured output validation
--thinking <mode>Thinking mode: enabled, adaptive, disabled
--max-turns <turns>Max agentic turns in non-interactive mode
--max-budget-usd <amount>Max API spend (print mode only)
--fallback-model <model>Fallback when primary model is overloaded
--betas <betas...>Beta headers for API requests
--ideAuto-connect to IDE on startup
--chrome / --no-chromeEnable/disable Claude in Chrome integration
--computerEnable Computer Use tool (Windows only)
--no-session-persistenceDisable session save to disk (print mode only)
--disable-slash-commandsDisable all skills
--prefill <text>Pre-fill prompt input without submitting
--file <specs...>Download file resources at startup

Environment Variables

Provider API Keys

27 providers — set one or more. See Providers page for the full list.

Runtime & Feature Flags

VariablePurpose
DEBUGDebug logging with optional category filter
NO_COLOR / FORCE_COLORTerminal color control
BRIDGE_MODE=1Enable WebSocket bridge for remote control
VOICE_MODE=1Enable voice mode
KAIROS=1Enable proactive/brief/assistant features
ENABLE_LSP_TOOL=1Enable LSP tool integration
ENABLE_COMPUTER_USE=1Enable Computer Use tool (Windows)
CLAUDECODE_NO_RESPAWNDisable process respawn
VOICE_MODE=1Enable voice input support
CODE_INDEX=1Enable fuzzy code search tool
AGENT_TRIGGERS=1Enable autonomous scheduled task triggers
SENTRY_DSNEnable Sentry error reporting (opt-in)
TAVILY_API_KEYTavily web search (highest priority)
BRAVE_API_KEYBrave web search
SERPER_API_KEYSerper web search
SEARXNG_INSTANCE_URLSelf-hosted SearXNG URL

Settings File

Config file at ~/.clawdbot/moltbot.json (TypeBox-validated). Stores:

Config Paths

PathContent
~/.clawdbot/moltbot.jsonMain configuration (TypeBox schema)
~/.clawdbot/credentials/Stored credentials
~/.clawdbot/sessions/Session persistence
~/.clawdbot/logs/Debug and error logs
~/.claude/skills/User-installed skills
.claude/skills/Project-level skills

In-Session Configuration

/config      # Open config panel (aliases: settings)
/theme       # Change the theme
/color       # Set prompt bar color
/keybindings # Edit keybindings
/permissions # Manage permission rules

Build Configuration

Build via bun run build with compile-time feature defines:

# In src/main.tsx:
--define.TRANSCRIPT_CLASSIFIER=true  # Enables auto permission mode
--define.CHICAGO_MCP=true            # Enables Chicago MCP features
--define.VOICE_MODE=true             # Enables voice input support