I don’t want a coding agent inheriting my access to every repository, cloud account, CI system, and production dataset just because it runs inside my terminal. A prompt mistake, malicious repository instruction, or compromised agent should not automatically become an organization-wide incident. I’d rather issue short-lived, task-scoped capabilities: read this repo, write this branch, run these tests, and nothing more unless explicitly elevated.
The cost is real. Narrow permissions can block private dependencies, hide the data needed to reproduce a failure, or turn a multi-system fix into an approval maze. GitHub’s cloud agent is a useful direction: it works in an ephemeral environment, pushes only to constrained branches, and cannot approve or merge its own pull request. Those limits add friction, but preserve a review boundary.
Capability-based permissions should be the default for coding agents, with deliberate elevation for secrets, external network access, production, and merging. What counterexamples or better designs am I missing?