Approvals and permissions
An approval policy sets how much an agent may do before asking, while a permission request is a single in-the-moment prompt you answer.
LinkCode has two related but distinct mechanisms for keeping an agent from doing things you didn't ask for: an approval policy, which you set once per thread ahead of time, and a permission request, which the agent raises in the moment for a specific action.
Approval policy
An approval policy is the standing rule for how much an agent may do before it has to stop and ask you. You set it from the shield icon menu in the composer, at the bottom of a thread. Its title names the agent — for example, "How should Claude Code actions be approved?" — and it lists the policies that agent supports, each with a short description.
This is a per-thread setting — it applies to the thread you're currently in, not globally to every thread with that agent.
Not every agent has this menu
Today, only Claude Code exposes a switchable approval policy. Other agents don't show this menu at all — some run every action autonomously with no policy to switch. See the agents overview for how each agent actually behaves before you rely on this.
Permission request
A permission request is a one-off prompt: the agent wants to do something specific — run a command, write a file, fetch a URL — and is asking whether it can. It appears pinned directly above the composer, phrased as "Do you want to allow" followed by the action, with the relevant detail (a file path, a command, a URL) shown underneath.
A permission request pinned above the composer, asking to run a shell command, with numbered Allow / Always allow / Reject choices
Screenshot coming soon
/images/docs/concepts-approvals-permission.pngThe exact choices vary by agent and by request. Claude Code, for example, offers exactly three: Allow, Always allow, and Reject.
If more than one permission request is pending at once, a pager lets you step through them one at a time — answering one doesn't require you to answer the rest immediately.
Keyboard operation
You can answer a permission request entirely from the keyboard — the exact bindings are in the keyboard shortcuts reference. One behavior worth knowing: Skip cancels the request outright, which is a distinct outcome from picking a "reject" choice, not a synonym for it.