Skip to content

Configuration

Three layers, in precedence order: environment variables beat settings, and settings beat defaults. Project trust gates everything project-local.

Local inference (the bundled fleet extension)

Variable Default Purpose
HUMMIN_COLIBRI_INSTANCES none Comma-separated server base URLs. Order is preference; first server serving a model wins, later duplicates become fallbacks
COLI_API_KEY none Bearer token sent to every local server. A placeholder is sent when unset, so keyless servers work
HUMMIN_COLIBRI_CTX 16384 Fallback context window, used only when a server does not report one via /props

Cloud (Z.ai)

Variable Purpose
ZAI_API_KEY Z.ai API key (or hummin auth login zai)

Memory

Setting / env Purpose
memoryEnabled / HUMMIN_MEMORY Master switch; HUMMIN_MEMORY=0 forces off (set automatically in spawned subagents)
memoryMode lessons or vault
memoryVaultDir Vault directory (git-backed, Obsidian-compatible)
memoryProvider, memoryModelId Model used for distillation

Fleet

Setting Purpose
fleet.servers[] Ordered server registry: enables /fleet Start/Stop/Restart, health probes, start-from-picker
fleet.autoStart Skip the confirm when starting a server from the model picker

Replay trimming

Completed turns are rewritten per request before the provider sees them, so GLM-family endpoints stop resending reasoning and stale tool output (z.ai recommends not resending reasoning). Session history is never modified; the active tool loop, redacted thinking, and thinking blocks with structured replay signatures always pass through.

Setting Default Purpose
replayTrim.thinking true Drop replayed reasoning from completed turns
replayTrim.toolResults true Prune old tool results to head + marker + tail (false = lossless replay)
replayTrim.toolResultCap / toolResultTail 2000 / 200 Head/tail characters kept when pruning

Applies to anthropic-messages and openai-completions models; other APIs are left untouched.

System-1 decision layer

One decision engine backs four automatic hooks (bash gate, destructive-intent steer, test-failure triage, memory intake). A single engine, no failover; every read fails open, so an unreachable engine never blocks a session.

Setting / env Purpose
decision.url Engine endpoint (default http://127.0.0.1:9987/v1/systemone)
decision.apiKey Engine auth (COLI_API_KEY works as fallback)
decision.gateThreshold / steerThreshold / triageThreshold / intakeThreshold Calibrate the four hooks
sys1Gate.extraSafe / extraDestructive Regex lists layered onto the bash gate
HUMMIN_SYS1_RIGHTSIZE / HUMMIN_SYS1_RIGHTSIZE_SWING Model right-sizing for child dispatches

Telegram bridge (cc-tg-hub)

Requires a running cc-tg-hub broker (one per machine; install with bunx cc-tg-hub setup). See docs/features/integrations.md.

Setting / env Purpose
tgHub.enabled / TG_HUB=1 Opt in. The env switch is per-session - prefer it (the setting is global and would register child/cron sessions too)
tgHub.socketPath / TG_HUB_SOCKET Broker socket (default ~/.claude/cc-tg-hub/broker.sock)
tgHub.askTools / TG_HUB_ASK_TOOLS Tools that raise Allow/Deny buttons in Telegram (Deny blocks; Allow never bypasses a terminal dialog)

Behavior

Setting Purpose
editorMode Vim editing mode
compactPrompt Condense tool descriptions and system-prompt guidance (useful for slow-prefill local models)
cacheWarming off / streaming / idle / always provider-side prompt-cache warming
statusline.left, statusline.right Statusline segment tokens (dir, repo, branch, model, ctx, tokens, cost, queue, background, sandbox, mcp, git, diff, ...)
providers.showAll Show the full upstream provider catalog in /model, not just GLM-first curation
httpIdleTimeoutMs Set to 0 for local models: slow prefills otherwise look like dead connections
defaultProjectTrust Trust fallback for un-trusted projects

Sandboxing, guardrails and other env switches

HUMMIN_* variables cover the fork surface: memory (8 variants), instances/ctx, fleet, sandbox, bashguard, guardrails and budgets, agents, cron (HUMMIN_CRON=0 disables), mcp, lsp, and offline mode. Run /doctor to see what hummin actually picked up - settings, fleet, credentials, extensions and vault are all checked there.

Files

Path Purpose
~/.hummin/agent/settings.json Main settings
~/.hummin/agent/extensions/ TypeScript extensions (autoloaded, hot reload)
project AGENTS.md / SYSTEM.md Context files fed to the model
project hooks.json Shell hooks on four lifecycle events