This page is a reference for simse's tool system: tool sources, tool categories, output limits, and how to configure tool behavior.
simse loads tools from three sources at startup:
| Setting | Default | Description |
|---|---|---|
| Output truncation limit | 50,000 characters | Maximum characters in tool output before truncation |
Built-in tools provide core simse capabilities:
Built-in tools are always available and do not require any additional configuration.
MCP tools are provided by external tool servers you connect to simse. They extend simse with custom capabilities -- file operations, database queries, API calls, or anything else you build. See MCP overview for details.
Subagent tools allow the main agent to spawn and coordinate subordinate agents. A subagent runs a complete agentic loop -- its own session, tool access, and response -- and returns a result to the parent agent.
Subagent tools are used for tasks that benefit from parallel execution or specialized context isolation.
Delegation tools route tool calls to external agents or systems rather than executing locally. They enable multi-agent architectures where different agents handle different domains.
Tools from different sources are namespaced to avoid conflicts. MCP tools are prefixed with the server name you assign when connecting. For example, a tool named read_file from a server you named filesystem becomes filesystem/read_file.
Tool output is truncated to prevent context overflow. The default limit is 50,000 characters.
The default limit is 50,000 characters. Individual tools can define their own output limit, overriding the global default. Truncated output includes a notice with the number of omitted characters.
When output is truncated, simse appends a truncation notice so the model knows the output was cut short.
simse tracks consecutive identical tool calls. If the same tool is called with the same arguments more than 3 times in a row, simse injects a warning to break the repetitive pattern.
All tool invocations go through permission checking before execution. The permission check:
"default", "acceptEdits", "plan", "dontAsk")allow always or reject always grantsThe result of each permission check is remembered for the session so repeated calls to the same tool do not re-prompt unnecessarily.