Skip to main content

Configuration

Gump configuration follows a cascade: environment variables override user config, which overrides project config, which overrides defaults.

Configuration cascade

PrioritySourceLocation
1 (highest)Environment variablesGUMP_* prefix
2User config~/.gump/config.toml
3Project configgump.toml at repo root
4 (lowest)DefaultsBuilt into Gump

Project config (gump.toml)

Place this file at the root of your repository:
default_agent = "claude-sonnet"
log_level = "info"

[display]
verbose = false

[validation]
compile_cmd = "make build-affected"
test_cmd = "make test-unit"
lint_cmd = "golangci-lint run --timeout 5m"
coverage_cmd = "make coverage"

[budget]
max_budget = 10.00

[error_context]
max_error_chars = 2000
max_diff_chars = 3000

[analytics]
enabled = true

User config (~/.gump/config.toml)

Global settings that apply to all projects:
default_agent = "claude-haiku"
log_level = "info"

[analytics]
enabled = true
User config is appropriate for personal preferences (default agent, log level, telemetry). Project-specific settings (validation commands, budget) belong in the project config.

Environment variables

VariableOverridesExample
GUMP_DEFAULT_AGENTdefault_agentGUMP_DEFAULT_AGENT=claude-opus
GUMP_LOG_LEVELlog_levelGUMP_LOG_LEVEL=debug
Validation commands (compile_cmd, test_cmd, etc.) are intentionally not overridable via environment variables — they are project-specific and should live in gump.toml.

All settings

default_agent

The agent used when a step doesn’t specify one explicitly. Default: "claude-sonnet"

log_level

Log verbosity for Gump’s own output (not the agent’s output). Values: debug, info, warn, error. Default: "info"

display.verbose

Show detailed per-turn events during runs (same as --verbose flag). Default: false

validation.compile_cmd

Shell command for the compile gate. Overrides heuristic detection. Default: auto-detected from project markers (go.modgo build ./..., etc.)

validation.test_cmd

Shell command for the test gate. Default: auto-detected

validation.lint_cmd

Shell command for the lint gate. Default: auto-detected (skipped if not found)

validation.coverage_cmd

Shell command for the coverage gate. Default: auto-detected with coverage flag

budget.max_budget

Default maximum cost per run in USD. Can be overridden per workflow with the max_budget YAML field. Default: none (no budget limit)

error_context.max_error_chars

Maximum characters of gate stderr injected into {error} on retry. Default: 2000

error_context.max_diff_chars

Maximum characters of the failed diff injected into {diff} on retry. Default: 3000

analytics.enabled

Whether to send anonymous telemetry. See Privacy & Telemetry for details. Default: true (opt-in displayed on first run, first run doesn’t send)

Viewing active configuration

gump config
Gump Configuration

  default_agent   claude-sonnet   (gump.toml)
  log_level       info            (default)
  compile_cmd     make build      (gump.toml)
  test_cmd        make test-unit  (gump.toml)
  lint_cmd        —               (not set)
  coverage_cmd    —               (not set)
  max_budget      10.00           (gump.toml)
  analytics       true            (default)
Each value shows its source so you know where it came from and where to change it.