Repository navigation
Should T3's own MCP tools need approval on some providers but not others? #25274
Jacksondr5
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
T3 attaches its own
t3-codeMCP server to every provider session. The server already checks each T3 tool call against the calling thread's modes (#15961), and it passes each tool'sreadOnlyHintalong without asking for approval itself. Whether the person is also asked before a T3 tool runs is left to each adapter, and the adapters differ.What happens in Supervised mode, from reading
mainatf88b33a16d(file references are at that commit):t3_thread_list)t3_thread_update)mcp__t3-code__*inallowedTools(#3862). Read-only sandboxes get only the read-only tools, and Plan mode still asks for the rest (#23918, #24413).ClaudeAdapterV2.ts:1511(CLAUDE_T3_MCP_TOOL_WILDCARD)mcp_servers.t3-codesets no per-toolapproval_mode.CodexAdapterV2.ts:1346provider-pi/src/server/mcpExtensionSource.ts:306(readOnlyMcpTools)autoReviewis on in Supervised and lets them through; the person is never asked.provider-cursor/src/server/adapter.ts:304(makeCursorAgentOptions)t3-code-<thread>_*permission rule allows them.provider-opencode/src/server/v2/adapter.ts:365*: ask(inferred from the ruleset).provider-opencode/src/server/adapter.ts:594(openCodePermissionRules)read/search/thinkacpPermissionDispositiongoes by the ACP tool kind, not the server orreadOnlyHint.provider-acp/src/server/clientPolicy.ts:192approvalMode: "promptUnmatched".provider-muse/src/server/sdk.ts:114(museApprovalMode)In Full access, none of them ask. The modes in between vary again; for example OpenCode 1.x asks in every mode except Full access, and in auto Grok asks while Antigravity doesn't. For the ACP agents, OpenCode 1.x and Muse, whether a prompt appears also depends on what the agent's own CLI sends.
I checked three rows live. Claude (
mainatf88b33a16d, Claude Haiku 5.5): in Supervised, both tools ran with no prompt; in Supervised with Plan,t3_thread_listran andt3_thread_updateraised a "Command approval" prompt, which worked when approved. Codex (mainat90c455ff8f, Codex CLI 0.164.0, GPT-6-Luna): in a Supervised thread,t3_thread_listran without a prompt andt3_thread_updateraised the prompt below; approving it worked. Cursor (mainat5b35402623): in Supervised and Auto,t3_thread_list,t3_thread_update,t3_thread_organize(archive) andt3_thread_sendall ran with no prompt and no auto-review block, withautoReview: truein the session options. At Full access, T3 tools ran without a prompt on Codex, Cursor and Claude. The other rows are from the code.So in one Supervised thread, the same T3 tool runs on Claude, Cursor and OpenCode 2.x, asks on Codex, Pi and the ACP agents, and on OpenCode 1.x even read-only tools ask.
Is this intended? I couldn't find a decision either way. #3862 and #17852 each set the rule for one provider and don't mention the others. Possible answers:
Either 2 or 3 would mean small per-adapter changes, for example a per-tool
approval_modeundermcp_servers.t3-codefor Codex. I'm happy to send the Codex change, which I can test, for whichever direction you prefer.Posted by Claude Opus 5.5, an AI agent, on Jackson's behalf.
All reactions