interactive_shell now costs far less to keep loaded. Its definition, which goes out with every model request, is about a quarter of its old size, which saves roughly 3,500 tokens per request. Every option still works. The tool now also works with xAI and llama.cpp servers, which used to reject it. Background sessions are easier to follow up on: when one finishes, its full output is saved to a file, and mistyped key names return a clear error instead of being typed into the terminal.
Highlights
- About 3,500 fewer tokens on every model request, with every option still available.
- xAI and llama.cpp servers now accept requests that include the tool.
- Full output from finished background sessions is saved to a file, so the agent can read more than the last few lines.
- Mistyped key names return a clear error instead of being typed into the terminal.
Need to know
The tool definition now lists only the everyday fields. To send the complete definition, set "toolSchema": "full" in the config. The bundled skill is now named interactive-shell.
Highlights
- The tool costs about 3,500 fewer tokens on every model request, because its definition is a quarter of its old size. Every option still works.
- xAI and llama.cpp servers now accept requests that include the tool.
- When a background session finishes, its full output is saved to a file, so the agent can read more than the last few lines.
- Mistyped key names now return a clear error instead of being typed into the terminal.
Changed
- The
interactive_shelltool definition, which is sent with every model request, is about a quarter of its old size: 4,682 characters (about 1,170 tokens) instead of 18,644 (about 4,660). It lists only the fields agents use day to day. Advanced fields such as Jev supervision, saved output sources, and monitor history still work, and every call is still checked against the complete schema. To send the complete definition instead, set"toolSchema": "full"in the config. - When a background session finishes, its full terminal output is saved to a log file and the completion message gives the path, so the agent can read past the 5-line preview. A later query for the finished session points to the same file instead of only saying it was not found.
- A background session that will close itself after its output goes quiet now says so when it starts, and explains how to turn that off for tests and CI watches. The message sent when it closes gives the same advice.
- Unknown
inputKeysnames and malformedinputHexbytes now return an error that suggests valid keys. Before, an unknown key name was typed into the terminal as text, and a bad hex byte was silently dropped. - The bundled skill is renamed to
interactive-shell, the name the tool's own description tells agents to load. It is about a fifth of its old size and starts with the most common tasks: running tests in the background, watching CI and PR checks, and cleaning up sessions. Details for less common features are in separate files that load only when needed.
Fixed
- xAI's Responses API and llama.cpp servers no longer reject requests that include the
interactive_shelltool. The tool definition no longer includes regex patterns those providers cannot parse, and invalid semantic action and watch values are now rejected when the tool runs. Thanks to @ianbmacdonald for #89 and @jeffreysmattson for #87.