Skip to content

Add Claude Code tool permissions and feedback loop instructions#25237

Closed
mokagio wants to merge 3 commits intotrunkfrom
claude-permissions
Closed

Add Claude Code tool permissions and feedback loop instructions#25237
mokagio wants to merge 3 commits intotrunkfrom
claude-permissions

Conversation

@mokagio
Copy link
Contributor

@mokagio mokagio commented Feb 11, 2026

Summary

Adds rake, xcodebuild, xcrun simctl, bundle exec, and swift package to the Claude Code team-level allow list so agents can lint, build, test, and resolve packages without manual approval.

Context: https://linear.app/a8c/issue/AINFRA-1965/add-first-round-of-permissions-allow-lists-to-apple-projects

Test Plan

  • CI passes

---

Generated with the help of Claude Code, https://code.claude.com

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mokagio mokagio added this to the Someday milestone Feb 11, 2026
@mokagio mokagio added [Type] Task Tooling Build, Release, and Validation Tools labels Feb 11, 2026
@wpmobilebot
Copy link
Contributor

wpmobilebot commented Feb 11, 2026

App Icon📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
App NameJetpack
ConfigurationRelease-Alpha
Build Number30872
VersionPR #25237
Bundle IDcom.jetpack.alpha
Commit69cefa8
Installation URL4jh2ra0mg42fg
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Feb 11, 2026

App Icon📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
App NameWordPress
ConfigurationRelease-Alpha
Build Number30872
VersionPR #25237
Bundle IDorg.wordpress.alpha
Commit69cefa8
Installation URL5gvapgh1fm8b8
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Feb 11, 2026

🤖 Build Failure Analysis

This build has failures. Claude has analyzed them - check the build annotations for details.

mokagio and others added 2 commits February 11, 2026 15:06
---

Generated with the help of Claude Code, https://code.claude.com

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---

Generated with the help of Claude Code, https://code.claude.com

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sonarqubecloud
Copy link

"Bash(rake *)",
"Bash(xcodebuild *)",
"Bash(xcrun simctl *)",
"Bash(bundle exec *)",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This essentially grants permission to run any Ruby script, which we probably don't want.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See my thoughts in https://github.com/Automattic/pocket-casts-ios/pull/3934/changes#r2791005452.

I see your point though, maybe there's a middle ground between this and being prompted constantly?

What about bundle exec fastlane *?

Copy link
Contributor

@AliSoftware AliSoftware Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about bundle exec fastlane *?

Note that even bundle exec fastlane allows to run arbitrary fastlane action—including the ones not exposed as a lane in our Fastfile—via bundle exec fastlane run …

(For example there may even be a way for the agent to run bundle exec fastlane run sh … to run arbitrary shell commands)

So even that might be too permissive?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe there's a middle ground between this and being prompted constantly?

I don't see any issue in being prompted constantly, actually. You get many choices locally: allow it once, allow it within the session, allow it on your computer (if you want to live dangerously 😄).

Copy link
Contributor

@kean kean Feb 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is fastlane needed for the feedback loop?
If it's for background agents, can they have a separate set of permissions appropriate for the machine they are running on? For my personal machine, I'd like it to err on the safer side.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a followup to thank you all for the input.

It's clear to me that I went too wide with the permissions...

In thinking about it, I begun considering adding a fine grained list of permissions (bundle exec fastlane test, bundle exec rake lint, etc.) however, maintaining such a list could quickly become tedious.

You might have noticed I closed the PR already. My current thinking (for what is worth, given I'm just learning as I go) is along the lines of @kean: it might be simpler to manage permissions on the background agent end.

@mokagio mokagio changed the title Add Claude Code tool permissions Add Claude Code tool permissions and feedback loop instructions Feb 11, 2026
@mokagio
Copy link
Contributor Author

mokagio commented Feb 12, 2026

Closing in favor of a smaller PR that only adds CLAUDE.md instructions, decoupled from the .claude/settings.json permission changes.

@mokagio mokagio closed this Feb 12, 2026
@mokagio mokagio deleted the claude-permissions branch February 13, 2026 01:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Tooling Build, Release, and Validation Tools [Type] Task

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants