You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/configuration/env-vars.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -143,6 +143,7 @@ Switches that control the behavior of subsystems such as telemetry, background t
143
143
|`PYTHINKER_MCP_TOOL_TIMEOUT_MS`| Global default single tool-call timeout (ms) for all MCP servers; takes higher priority than `[mcp] tool_timeout_ms` in `config.toml`, but a per-server `toolTimeoutMs` in `mcp.json` still wins (default `60000`) | Integer from `1` to `2147483647`; invalid values are ignored |
144
144
|`PYTHINKER_LOOP_MAX_STEPS_PER_TURN`| Maximum Agent steps per turn; takes higher priority than `[loop_control] max_steps_per_turn` in `config.toml` (unset or `0` means unlimited) | Non-negative integer; invalid values are ignored |
145
145
|`PYTHINKER_LOOP_MAX_ATTEMPTS_PER_STEP`| Maximum total attempts for a failing step (including the initial attempt); takes higher priority than `[loop_control] max_attempts_per_step` in `config.toml` (default `10`). The deprecated `PYTHINKER_LOOP_MAX_RETRIES_PER_STEP` is still honored with a warning when this variable is unset | Non-negative integer; invalid values are ignored |
146
+
|`PYTHINKER_CODE_INFINITE_RETRY`| Retry every failed LLM request indefinitely — turn steps and background operations such as compaction alike — instead of failing the task; waits use exponential backoff (capped at 32 s) and honor the server's `Retry-After` header, and aborting still cancels immediately. Intended for long-running unattended evaluations against endpoints that may fail temporarily | Truthy: `1`/`true`/`yes`/`on`; falsy: `0`/`false`/`no`/`off`|
146
147
|`PYTHINKER_TOKEN_COUNTING_STRATEGY`| Which context token count is reported externally (the context-size display); takes higher priority than `[token_counting] strategy` in `config.toml` (default `measured+estimated`) |`measured+estimated`, `measured`, `estimated` (case-insensitive); invalid values are ignored |
147
148
|`PYTHINKER_WEB_SEARCH_BASE_URL`| API URL of the web search (`WebSearch`) service; takes higher priority than `[services.pymodel_search] base_url` in `config.toml`, and enables the service without that config section. Persisted credentials and custom headers are not forwarded to an env-selected endpoint | Non-blank string; blank values are ignored |
148
149
|`PYTHINKER_WEB_SEARCH_API_KEY`| API key of the web search (`WebSearch`) service; replaces both the configured API key and OAuth credential when set | Non-blank string; blank values are ignored |
@@ -159,7 +160,7 @@ Switches that control the behavior of subsystems such as telemetry, background t
159
160
|`PYTHINKER_CODE_NO_AUTO_UPDATE`| Fully disable the update preflight — no check, background install, or prompt. Legacy alias `PYTHINKER_CLI_NO_AUTO_UPDATE` is also honored | Truthy: `1`/`true`/`yes`/`on`|
160
161
|`PYTHINKER_DISABLE_CRON`| Disable the scheduled-task tool (`CronCreate` rejects new schedules; existing tasks do not fire) |`1` to disable |
161
162
162
-
The three`PYTHINKER_CODE_IDENTITY_*` /`PYTHINKER_CODE_BUILTIN_PRODUCT_SKILLS` variables are read by the default `agent-core-v2` engine. The legacy `pythinker` / `pythinker -p` path selected with `PYTHINKER_CODE_LEGACY_FLAG=1` ignores them.
163
+
The `PYTHINKER_CODE_INFINITE_RETRY`,`PYTHINKER_CODE_IDENTITY_*`, and`PYTHINKER_CODE_BUILTIN_PRODUCT_SKILLS` variables are read by the default `agent-core-v2` engine. The legacy `pythinker` / `pythinker -p` path selected with `PYTHINKER_CODE_LEGACY_FLAG=1` ignores them.
0 commit comments