Full example
Fields
Model
Display
Intelligence
Compaction
See compaction for what these do.Retry
For 429s and transient errors. Delays double each attempt.Task router
Assign different models to different jobs. See the task router recipe for tuning tips.
Resolution:
taskRouter[slot] → taskRouter.default → active model.
Agent features
Toggle in the TUI with
/agent-features.
Providers
Pick keys and add custom providers on the dedicated pages:- All providers — env vars,
--set-keycommands, keyUrls. - Custom providers — any OpenAI-compatible API.
- Copilot — use your GitHub Copilot subscription.
Auth & key storage
Keys go to your OS keychain when available, with a file fallback otherwise.soulforge --set-key <provider> <key> writes to whichever backend is active. Inspect with soulforge --list-providers.
Lookup order
Use
"app" when shell-exported keys keep overriding stored ones.
Pass a key per-launch
Env vars work for the TUI too — useful for one-off sessions or CI:--key flag — the TUI only reads stored keys and env vars.
Remove a key
/keys inside the TUI lists every provider with delete shortcuts. Or delete from the keychain directly (security delete-generic-password -a soulforge -s anthropic-api-key on macOS).
Instruction files
Auto-load project rules from AI-tool markdown files:
Toggle in TUI with
/instructions.
Privacy
Block files from the agent:.env, .pem, credentials, id_rsa, .npmrc, .netrc, shadow, passwd.
Environment variables
Hooks
Covered on the hooks page. Short version: SoulForge readshooks.{Event} from all 5 config sources (Claude Code’s three + SoulForge’s two), fires all matches.
Storage
/storage shows per-component disk usage (repo map, sessions, plans, memory, input history, binaries, fonts) with one-click cleanup.
Scope priority
Session → Project → Global. Changes via commands land in whatever scope the command targets. Use/model-scope to move the active model between project and global.
