Files
hermes-ice/homelab/raw/articles/forge/reference/docs-forgecode-config.md
Hermes Agent e4d91aadf9 Initial commit: homelab infrastructure wiki
- Full Obsidian vault content
- Host configs (ice, grizzley, ubuntu, proxmox, truenas, panda, hyte)
- Media stack documentation
- Traefik HA setup
- Automation scripts
- Bachelor party planning
2026-05-24 16:08:40 -07:00

4.9 KiB
Raw Permalink Blame History

type, agent, source, scraped, content_hash
type agent source scraped content_hash
agent-doc ForgeCode https://forgecode.dev/docs/forgecode-config/ 2026-04-28T21:02:45.026103+00:00 616289e9

.forge.toml

ForgeCode's global configuration lives at ~/.forge/.forge.toml. This file controls limits, model sampling parameters, retry behaviour, HTTP settings, context compaction, and automatic updates.

To open it in your default editor, run :config-edit from any ForgeCode session:

:config-edit

You can also edit the file directly with any text editor. Changes take effect the next time ForgeCode starts.

$schema https://forgecode.dev/schema.json# Whether to automatically open HTML dump files in the browserauto_open_dump = false# Maximum number of conversations to show in listmax_conversations = 100# Maximum number of file extensions to include in the system promptmax_extensions = 15# Maximum characters for fetch contentmax_fetch_chars = 50000# Maximum number of files that can be read in a single batch operationmax_file_read_batch_size = 50# Maximum file size in bytes for operationsmax_file_size_bytes = 104857600# Maximum image file size in bytes for binary read operationsmax_image_size_bytes = 262144# Maximum characters per line for file read operationsmax_line_chars = 2000# Maximum number of files read concurrently in parallel operationsmax_parallel_file_reads = 64# Maximum number of lines to read from a filemax_read_lines = 2000# Maximum number of requests that can be made in a single turnmax_requests_per_turn = 100# The maximum number of lines returned for FSSearchmax_search_lines = 1000# Maximum bytes allowed for search resultsmax_search_result_bytes = 10240# Maximum number of results to return from initial vector searchmax_sem_search_results = 100# Maximum characters per line for shell outputmax_stdout_line_chars = 500# Maximum lines for shell output prefixmax_stdout_prefix_lines = 100# Maximum lines for shell output suffixmax_stdout_suffix_lines = 100# Maximum tokens the model may generate per response for all agents (1100,000)max_tokens = 20480# Maximum tool failures per turn before the orchestrator forces completionmax_tool_failure_per_turn = 3# TTL in seconds for the model API list cachemodel_cache_ttl_secs = 604800# Whether the application is running in restricted mode; when true, tool execution requires explicit permission grantsrestricted = false# Top-k parameter for relevance filtering during semantic searchsem_search_top_k = 10# URL for the indexing serverservices_url = "https://api.forgecode.dev/"# Whether tool use is supported in the current environment; when false, tool calls are disabled regardless of agent configurationtool_supported = true# Maximum execution time in seconds for a single tool calltool_timeout_secs = 300# Top-k vocabulary cutoff for all agents; restricts sampling to the k highest-probability tokens (11000)top_k = 30# Nucleus sampling threshold for all agents; limits token selection to the top cumulative probability mass (0.01.0)top_p = 0.8[retry]# Backoff multiplication factor for each retry attemptbackoff_factor = 2# Initial backoff delay in milliseconds for retry operationsinitial_backoff_ms = 200# Maximum number of retry attemptsmax_attempts = 8# Minimum delay in milliseconds between retry attemptsmin_delay_ms = 1000# HTTP status codes that should trigger retriesstatus_codes = [429, 500, 502, 503, 504, 408, 522, 520, 529]# Whether to suppress retry error logging and eventssuppress_errors = false[http]# Accept invalid certificatesaccept_invalid_certs = false# Adaptive window sizing for improved flow controladaptive_window = true# Connection timeout in secondsconnect_timeout_secs = 30# Use Hickory DNS resolverhickory = false# Keep-alive interval in secondskeep_alive_interval_secs = 60# Keep-alive timeout in secondskeep_alive_timeout_secs = 10# Keep-alive while connection is idlekeep_alive_while_idle = true# Maximum number of HTTP redirects to followmax_redirects = 10# Connection pool idle timeout in secondspool_idle_timeout_secs = 90# Maximum idle connections per host in the connection poolpool_max_idle_per_host = 5# Read timeout in secondsread_timeout_secs = 900# TLS backend to use ("default" or "rustls")tls_backend = "default"[compact]# Maximum percentage of the context that can be summarized during compaction (0.01.0)eviction_window = 0.2# Maximum number of tokens to keep after compactionmax_tokens = 2000# Maximum number of messages before triggering compactionmessage_threshold = 200# Whether to trigger compaction when the last message is from a useron_turn_end = false# Number of most recent messages to preserve during compaction; these messages won't be considered for summarizationretention_window = 6# Maximum number of tokens before triggering compactiontoken_threshold = 100000[updates]# Whether to automatically install updates without promptingauto_update = true# How frequently ForgeCode checks for updates ("daily", "weekly", or "always")frequency = "daily"