Repository navigation
feat: agents can run one program that makes many tool calls - #26
Merged
Merged
Conversation
Codex gets a per-account Code mode switch for its native code_mode. Every provider gets an opt-in script MCP tool, switched in Settings > Labs and limited to full-access threads. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Factory's Droid 1.0 makes programmatic tool calling its default: the model writes one program that makes many tool calls, and only what the program prints reaches its context. T3 Code does not own the model loop, so it has to add this at the provider boundary.
What changed
codex app-server --enable code_mode, Codex's native version. Nested calls arrive as ordinarycommandExecutionitems, so the timeline already shows them.scriptMCP tool, switched in Settings → Labs and on mobile, off by default. It runs JavaScript in a child process withtools.read,write,exec,grep, and every T3 tool, at most 16 calls at once, 1,000 per script, 5 minutes per run, and 30,000 printed characters.Limits
node:vmis not a security boundary; the gate is that a full-access agent already has a shell.delegate_task.code_modeas under development.Measured
Real turns on the dev server, one sample each:
scriptby itself to read every thread in a project. It kept native tools for a 40-file edit, and Haiku kept them for a file search.code_mode: 55k against 35k input tokens on a 6-file task, and 30.8k against 30.9k on a 40-file task.Verification
vp run check:changed origin/collin/main: all pass except 13ClaudeAdapterV2.test.tsWindows failures. The same 13 fail oncollin/mainwithout this change.scripttool.custom_tool_callrequests.dist/script-sandbox-worker.mjsran.Not checked: evals (no API key on this machine, and the new text only appears with the switch on), single-executable builds, the desktop app, and the mobile switch on a device beyond typecheck. The new settings rows were checked in the web client; screenshots are not attached.
Model and harness: Claude Opus 5.5 in Claude Code, inside T3 Code.
🤖 Generated with Claude Code