Dhara
Reference

Configuration Reference

Complete schema for .dhara/config.json and ~/.dhara/config.json.

Configuration Reference

Dhara reads configuration from two JSON files:

  • ~/.dhara/config.json — Global settings (all projects)
  • .dhara/config.json — Project-specific settings (overrides global)

Project settings override global settings. CLI flags override both.

Note: Legacy .dhara/settings.json files are still loaded for backward compatibility if config.json is not found. The recommended name is config.json for both global and project-level config.

Full Schema

interface DharaSettings {
  // Provider
  provider?: string;
  model?: string;
  baseUrl?: string;

  // Behavior
  maxIterations?: number;
  maxTokens?: number;
  temperature?: number;
  autoSave?: boolean;

  // Security
  security?: {
    level: "paranoid" | "standard" | "trusted" | "yolo";
    trustedAuthors?: string[];
    allowedPaths?: string[];
    deniedPaths?: string[];
    auditIgnorePatterns?: string[];
  };

  // UI
  theme?: string;
  printMode?: "default" | "json" | "quiet";

  // Extensions
  extensionDirs?: string[];
}

Provider Settings

FieldTypeDefaultDescription
providerstringLLM provider: openai, anthropic, google, mistral, etc.
modelstringModel ID: gpt-4o, claude-sonnet-4-20250514, etc.
baseUrlstringCustom API endpoint (for OpenAI-compatible providers)

Behavior Settings

FieldTypeDefaultDescription
maxIterationsnumber10Max tool-use loop iterations per prompt
maxTokensnumberProvider defaultMax tokens per response
temperaturenumber0.7Sampling temperature (0.0–2.0)
autoSavebooleantrueAuto-save session on exit

Security Settings

FieldTypeDefaultDescription
security.levelstring"standard"Security level
security.trustedAuthorsstring[][]Auto-approve packages from these authors
security.allowedPathsstring[][cwd]Paths extensions can access
security.deniedPathsstring[]["/etc/shadow", "~/.ssh/"]Paths always blocked
security.auditIgnorePatternsstring[][]Patterns to exclude from audit log

UI Settings

FieldTypeDefaultDescription
themestring"default"TUI color theme (catppuccin, dracula, etc.)
printModestring"default"Output mode: default, json, quiet

Extension Settings

FieldTypeDefaultDescription
extensionDirsstring[][~/.dhara/extensions]Directories to scan for extensions

Example Configurations

Minimal Global Config

{
  "provider": "openai",
  "model": "gpt-4o"
}

Project-Specific with Security

{
  "provider": "google",
  "model": "gemini-2.5-flash",
  "maxIterations": 15,
  "security": {
    "level": "standard",
    "allowedPaths": [
      "/home/user/projects/my-app",
      "/tmp"
    ]
  }
}

Trusted Author Setup

{
  "security": {
    "level": "trusted",
    "trustedAuthors": ["zosmaai", "trusted-org"]
  }
}