Who approved it? What Claude Code, Codex, Cursor and Copilot team plans record
What the team plans of Claude Code, Codex, Cursor and GitHub Copilot let you approve, enforce and record, checked against each vendor's own docs.

Every one of these tools lets the person running the agent approve its next step, and three of them let that person do it from a phone. None of them, on any team plan, documents asking a second person first. And the record of who said yes lives somewhere different in each one, or nowhere.
Everything below comes from each vendor's own docs, checked on 6 November 2026, and covers the team plans only: Claude Team and Enterprise, ChatGPT Business and Enterprise, Cursor Teams and Enterprise, and Copilot Business and Enterprise. These docs change often. The sources are linked at the end, so check them before you decide.
Key takeaways
- Each approval goes to the person running the agent. No vendor documents sending it to a lead before the step runs.
- Org-wide rules exist everywhere: managed settings in Claude Code and Copilot, managed configuration in Codex, Run Mode policies on Cursor Enterprise.
- Audit logs mostly cover admin and settings changes, not an agent's approvals on a developer's machine.
- For agents running on a developer's machine, Claude Code's telemetry is the one built-in record that names who accepted or rejected each tool call, and you run the collector.
The four team plans side by side
| Claude Code | Codex | Cursor | GitHub Copilot | |
|---|---|---|---|---|
| Plans | Team, Enterprise | ChatGPT Business, Enterprise | Teams, Enterprise | Business, Enterprise |
| Approve your own agent from a phone | Yes, with Remote Control. An Owner turns it on first. | Yes, in the ChatGPT app, for sessions on a computer running the ChatGPT desktop app. An admin may need to allow it. | Not in the docs. The iOS app sends follow-ups and shows the work. | Yes, for Copilot CLI, from GitHub Mobile or GitHub.com, once an owner sets the cloud sessions policy to View and control. |
| Rules the whole org must follow | Managed settings, from the claude.ai console or a file on each machine | Managed configuration (requirements.toml), fetched for Business and Enterprise | Run Mode and auto-run policies, on Enterprise | Copilot policies and enterprise managed settings |
| Audit log | Enterprise only. Lists account, project, conversation, invite, SSO and export events, not Claude Code approvals | Compliance API on Enterprise. For local computer access, OpenAI says it is not a complete record of approvals | Enterprise only. Admin and settings events; agent activity is not logged | Business and Enterprise. Includes the agent's activity on GitHub.com, not local sessions |
| Each decision in telemetry, with a name | Yes: claude_code.tool_decision, with user.email when signed in with OAuth | codex.tool_decision says approved or denied; no user identity documented | No permission decision event for the editor or CLI | No permission decision event documented for Copilot CLI |
| Ask a different person before the step runs | Not in the docs | Not in the docs. The reviewer is you or a model | Not for tool calls | Not for tool calls. Remote control is owner-only |
Claude Code
Remote Control works on Team and Enterprise once an Owner switches it on, and it can push you when a permission prompt is waiting. Org-wide rules are managed settings: an Owner sets them in the claude.ai console, or IT ships managed-settings.json to each machine. The console version applies to everyone the same way; Anthropic's docs say per-group settings are not supported yet.
The audit log is Enterprise only, and the events it lists are about accounts, projects, conversations, invites, SSO and exports. Claude Code approvals are not among them. The Compliance API on Enterprise includes session transcripts with tool call content, and its activity feed records sign-ins and admin, file and project activity, but none of its Claude Code events is an approval.
The real record is telemetry. Turn on OpenTelemetry and Claude Code logs a claude_code.tool_decision event for every accept or reject, with the decision, where it came from, and the person's email when they signed in with OAuth. It goes to your collector, not to Anthropic. Claude Code managed settings for a team has a file that turns it on.
The nearest thing to asking someone else is Channels, a research preview that relays permission prompts to Telegram, Discord or iMessage. Anthropic's docs say anyone who can reply through the channel can approve, and the reply carries no approver identity.
Codex
You can approve Codex from the ChatGPT app on your phone, for a session running on a Mac or Windows computer with the ChatGPT desktop app. OpenAI's docs say mobile setup can't start from the Codex CLI or the IDE extension, and a workspace admin may need to allow it. Org-wide rules are managed configuration, a requirements.toml that Business and Enterprise workspaces can fetch from the cloud.
For records, Enterprise has the Compliance API. For local computer access through Work Cloud, OpenAI says Compliance API records and local OpenTelemetry events "do not establish a complete record of every local command, file operation, screenshot, approval, or external action." Telemetry has a codex.tool_decision event that records approved or denied and whether the decision came from configuration or the user. No user identity attribute is documented, and telemetry is off by default.
The approvals reviewer setting takes two values: user, which is you, or auto_review, which is a model.
Cursor
Cursor's iOS app and Remote Control let you send follow-ups, watch the work and review the result. The docs don't describe approving a pending command from the phone. Org-wide command policies (Run Mode and auto-run controls) and team-wide hooks are Enterprise features.
The Enterprise audit log records identifiers, names and changed settings. Cursor's docs say agent prompts, responses and generated code are not logged, and point you to hooks if you want that. Enterprise OpenTelemetry export has a tool call metric that can carry the user's email, but no event for a permission decision in the editor or CLI.
Cursor does route work to reviewers: PR Routing and Approval sends pull requests to the right people. That happens after the code exists, not before a command runs.
GitHub Copilot
Copilot CLI's remote control lets you approve or deny tool, file path and URL permission requests from GitHub Mobile or GitHub.com. With an organization seat, an owner first sets the Store local sessions in the Cloud policy to View and control. GitHub's docs say no one else can view or interact with your sessions remotely. Org-wide rules come from Copilot policies and enterprise managed settings, which take deny, ask and allow rules much like Claude Code's.
The audit log on Business and Enterprise includes the agent's activity on GitHub.com, with the person who started it, and keeps 180 days. GitHub says it does not include client session data such as the prompts a user sends locally. GitHub also stops the person who asked the cloud agent for a pull request from approving that pull request, which is a second-person check, but at the review stage.
What this means for a team
A team can lock down what an agent may run in all four tools. What none of them gives you is the step before: asking the right person, who may not be the person at the keyboard, and keeping that answer next to the action. If your team runs two of these tools, the records also live in two places with two formats, and some of it only exists if you run your own collector.
Where Pushary fits
Pushary for Teams covers that step across Claude Code, Codex and Cursor. Once a second person joins, each person's agent asks that person, on their phone and in the Pushary dashboard. An owner or admin can write a routing rule that sends a matching step, such as a push to the infrastructure repository, to a lead or a role instead. The team sees one record of whose agent asked and who tapped yes. How Pushary for Teams decides who an agent asks covers the rules.
Two limits, so nobody is surprised. A routing rule decides who Pushary asks, but it doesn't lock the terminal: the person whose agent asked can still say yes at their own agent's prompt, and that yes carries no name. An answer from a web link carries no name either. Answers in the Pushary phone app, Mac app and dashboard do.
Team is $59 a month for 5 people, plus $12 a month for each extra person, and new workspaces get 3 days free.
Sources
All checked on 6 November 2026.
- Claude Code: Remote Control, server-managed settings, monitoring, channels, audit logs, compliance activity feed
- Codex: remote connections, managed configuration, Compliance API, approvals and security
- Cursor: mobile, compliance and monitoring, OpenTelemetry export, PR Routing and Approval
- GitHub Copilot: remote control, enterprise managed settings, audit logs, OpenTelemetry
Frequently asked questions
Can Claude Code, Codex, Cursor or Copilot send an agent's approval to a different person?
Not as of 6 November 2026. None of the four vendors' docs describes sending a pending tool call to a lead or reviewer before it runs. Each approval goes to the person running the agent. Codex can hand approvals to a reviewer model. Cursor routes pull requests to reviewers, and GitHub requires someone other than the requester to approve a cloud agent's pull request, but both happen after the code exists.
Which team plans record who approved an AI agent's action?
Claude Code comes closest: with telemetry turned on, every accept or reject is logged as a claude_code.tool_decision event with the person's email, sent to a collector you run. Codex logs approved or denied with no user identity documented. Cursor's and Copilot's audit logs cover admin and settings changes, and Copilot's also covers the agent's activity on GitHub.com, not approvals in local sessions.
Can a teammate approve AI agent actions from their phone on a team plan?
For their own agent, often yes. Claude Code Remote Control and Copilot CLI remote control allow it, and the ChatGPT app can approve Codex sessions running on a computer with the ChatGPT desktop app, though an admin may need to allow it first. Cursor's docs describe following and steering agents from the iOS app, not approving a pending command.