Docs/Configuration/Configuration

Configuration

Everything works out of the box with defaults. If you want to customize, create a dynamo.yaml in your project root.

dynamo.yaml

yaml
project:
  name: "MyGame"
  github_repo: "myorg/mygame"
  base_ref: "main"

ai:
  provider: "anthropic"
  personality: "full"        # full | light | minimal
  sandbox: "full"            # project | full | unrestricted
  memory: true               # false to disable memory
  auto_checkpoint: true      # false to disable auto-checkpoints
  auto_consolidate: false    # true to auto-consolidate memory on session start

  shell:
    defaultTimeout: 120000   # 2 min (ms)
    maxTimeout: 600000       # 10 min max
    maxOutput: 50000         # 50K chars before truncation

  providers:
    deepseek:
      type: "openai-compatible"
      base_url: "https://api.deepseek.com/v1"
      api_key_env: "DEEPSEEK_API_KEY"

engines:
  unity:
    project_path: "./MyUnityProject"

Only project.name is required. Everything else has sensible defaults.

Run dynamo config to see your full resolved configuration.

Personality Levels

LevelDescription
fullWarm game-dev teammate — conversational, shares thinking (default for interactive)
lightHelpful and clear, less personality
minimalTerse and direct (default for workflows)

Override with DYNAMO_PERSONALITY env var.

Environment Variables

API Keys

VariableProvider
ANTHROPIC_API_KEYAnthropic (Claude)
OPENAI_API_KEYOpenAI (GPT)
OPENROUTER_API_KEYOpenRouter (200+ models)
GOOGLE_API_KEYGoogle (Gemini)

For Ollama, no API key is needed — Dynamo auto-detects a running Ollama instance.

For custom providers (DeepSeek, Groq, etc.), set the key name in api_key_env in your provider config.

Overrides

VariablePurpose
DYNAMO_AI_PROVIDEROverride default provider
DYNAMO_PERSONALITYOverride personality level
DYNAMO_CONFIG_DIROverride config directory location (default ~/.config/dynamo/)
DYNAMO_SHELL_TIMEOUTOverride default shell timeout (ms)
DYNAMO_NERD_FONTSForce Nerd Fonts on (1) or off (0)
NO_COLORDisable all terminal colors
FORCE_COLORForce color level (3 for truecolor)

Auth Priority

Dynamo resolves credentials in this order:

  1. 1.Saved preferences (~/.config/dynamo/preferences.json)
  2. 2.dynamo.yaml config
  3. 3.OpenClaw credentials (if connected)
  4. 4.Environment variables
  5. 5.CLI fallback (prompts you)

OpenClaw Integration

If you use OpenClaw, Dynamo detects it automatically:

  • API key import — your OpenClaw API keys are imported automatically (explicit environment variables always take priority)
  • Model aliases — aliases like /model opus work if OpenClaw knows about the model
  • Context window sizes — imported so Dynamo knows each model's limits
  • Config watching — Dynamo watches for changes to your OpenClaw config and picks them up live
  • Manual sync — run /sync to re-sync OpenClaw settings on demand

No OpenClaw? No problem. Dynamo works fine standalone.

File Locations

FileLocation
Sessions~/.config/dynamo/sessions/
Preferences~/.config/dynamo/preferences.json
Credentials~/.config/dynamo/credentials.json
Checkpoints~/.config/dynamo/checkpoints/
Global memory~/.config/dynamo/memory/
Project memory.dynamo/memory/
Project config./dynamo.yaml
Project skills.dynamo/skills/
Personal skills~/.config/dynamo/skills/
Input history~/.config/dynamo/input-history.jsonl