docs: added documentation for the new tool_timeout configuration field

Dark-Alex-17 committed 2026-09-08 17:23:41 -06:00
1 parent 1d120bc3fb
commit 8510337795
3 files changed
+7 -4

No files matched your search

+1
@@ -152,6 +152,7 @@ silently abandoned.
```yaml
# config.yaml (global)
max_concurrent_jobs: 5 # default: 5; 0 disables background jobs entirely
tool_timeout: 1800 # per-tool-call wall-clock cap in seconds, also applied to process jobs (default: 1800; 0 = unlimited)
```
```yaml
+4 -3
@@ -33,9 +33,10 @@ A few things to know about how Coyote runs your tool's subprocess:
* **`stdin` is `/dev/null`.** Tools must not read from standard input. Anything that blocks on stdin (interactive
editors, `read` without `</dev/tty`, watch-mode test runners) will see EOF immediately instead of hanging the
session. Interactive prompts that genuinely need the user should read from `/dev/tty` directly.
* **Every tool call has a wall-clock cap** controlled by the `COYOTE_TOOL_TIMEOUT` environment variable
(default: `1800` seconds; `0` = unlimited). If the tool exceeds it, the process is killed and a `tool_call_error`
is returned to the model, and the session keeps going. See [Environment Variables](Environment-Variables).
* **Every tool call has a wall-clock cap** controlled by the `tool_timeout` config key or the `COYOTE_TOOL_TIMEOUT`
environment variable (the environment variable takes precedence; default: `1800` seconds; `0` = unlimited). If the
tool exceeds it, the process is killed and a `tool_call_error` is returned to the model, and the session keeps
going. See [Environment Variables](Environment-Variables).
The following section explains how you can add parameters to your bash functions and how to test out your scripts.
+2 -1
@@ -31,6 +31,7 @@ Below are the most commonly used configuration settings and their corresponding
| `compression_threshold` | `COYOTE_COMPRESSION_THRESHOLD` |
| `function_calling_support` | `COYOTE_FUNCTION_CALLING_SUPPORT` |
| `enabled_tools` | `COYOTE_ENABLED_TOOLS` |
| `tool_timeout` | `COYOTE_TOOL_TIMEOUT` |
| `mcp_server_support` | `COYOTE_MCP_SERVER_SUPPORT` |
| `enabled_mcp_servers` | `COYOTE_ENABLED_MCP_SERVERS` |
| `rag_embedding_model` | `COYOTE_RAG_EMBEDDING_MODEL` |
@@ -59,7 +60,7 @@ The following environment variables are available for clients in Coyote:
| `COYOTE_PLATFORM` | Combine with `{client}_API_KEY` to run Coyote without a configuration file. <br>This variable is ignored if a configuration file exists. |
| `COYOTE_PATCH_{client}_CHAT_COMPLETIONS` | Patch chat completion requests to models on the corresponding client; Can modify the URL, body, <br>or headers. |
| `COYOTE_SHELL` | Specify the shell that Coyote should be using when executing commands |
| `COYOTE_TOOL_TIMEOUT` | Wall-clock cap in seconds for any single tool-call subprocess (built-in and custom tools alike). <br>When exceeded, the tool process is killed and a `tool_call_error` is returned to the model instead of hanging the session forever. <br>Set to `0` for unlimited. Default: `1800` (30 minutes). |
| `COYOTE_TOOL_TIMEOUT` | Wall-clock cap in seconds for any single tool-call subprocess (built-in and custom tools alike). <br>When exceeded, the tool process is killed and a `tool_call_error` is returned to the model instead of hanging the session forever. <br>Set to `0` for unlimited. Default: `1800` (30 minutes). <br>Counterpart of the `tool_timeout` config key; the environment variable takes precedence. |
# Files and Directory Related Variables
You can also customize the files and directories that Coyote loads its configuration files from: