# Approve AI actions in Clikso

How Needs approval works: a Clikso card in the chat, or a Clikso link, shows exactly what will change, and the action runs the moment you press Approve.

> **In short:**
>
> When a tool is set to Needs approval, the AI app cannot run it alone. In Claude, ChatGPT and VS Code, Clikso shows a card in the chat. Other apps give you a link to a Clikso page. Either way you check what will change and press Approve, and Clikso makes the change right then.

## Which apps show the card

* **A card in the chat:** Claude on the web and desktop, ChatGPT and VS Code, when Clikso could verify the app at sign-in. A verified app shows its own name and icon on the Clikso sign-in page.
* **A link to a Clikso page:** every other app, such as Claude Code, Cursor and Gemini, and any app the sign-in page marked "Unverified app".

Both work the same way and follow the same rules. The card also has an **Or approve in Clikso** link, if you would rather use the page.

## Approve in the chat

1. **The AI app asks, and Clikso shows a card in the chat.** The card is titled "Clikso needs your approval" and says "Claude wants to update link". It shows the change (for example Destination: https\://example.com/summer → https\://example.com/autumn), the workspace and a countdown. It has an "Always allow" checkbox, Deny and Approve buttons, and an "Or approve in Clikso" link.
2. **You press Approve, and the change happens at once.** The card says "Approved" and "Done. Updated https\://clik.is/summer." It also lets Claude know. The action runs only once.
3. **Other ways it can end.** "Denied" (nothing was changed), "This request expired" (after 10 minutes, nothing was changed), or "Approved, but it didn't work" with the reason.

The first time, Claude may ask whether it can show the Clikso app in the chat. Choose **Allow** or **Always allow**. If you say no, ask Claude for the approval link instead.

## Approve on the Clikso page

Apps without the card show you a link. It opens a Clikso page with the same details and the same buttons.

1. **The AI app asks, and Clikso sends a link.** Claude Code says the change needs your approval and shows a link like app.clik.so/ai/approve/… that works for 10 minutes.
2. **You check exactly what will change, then approve.** The page says "Claude Code wants to update link", shows the change (for example Destination: https\://example.com/summer → https\://example.com/autumn), the workspace and the time left. Press Approve, or Deny.
3. **Clikso makes the change at once.** The page says "Done. Updated https\://clik.is/summer. You can go back to Claude Code." The action runs only once.
4. **The AI app picks up the result.** Say "done" in Claude Code. It calls run_approved_action and reads what happened.

## The rules

* **Only you can approve.** The card shows only in your own chat. A Clikso link opens only for the account that connected the app, signed in. Anyone else sees "Request not found".
* **The AI cannot press Approve for you.** The card's buttons use tools that apps hide from the AI model and refuse if it calls them. Each card also carries a one-time key that only the card gets.
* **It runs once, at approval.** Pressing **Approve** makes the change straight away. The AI app can then call `run_approved_action` to read the result. It cannot run the action a second time.
* **It runs as the app, not as you.** The action keeps the app's limits: its access, its workspaces and your plan. Approving never gives the app your full rights.
* **It expires.** After 10 minutes the card and the link stop working. Ask the app to try again for a new one.
* **What you see is what runs.** You see the values Clikso saved when the app asked. Web addresses show as plain text, never as links you could click by mistake.

## Approve, deny or always allow

* **Approve** runs the action and shows "Done" with what changed. If the action fails, you see "Approved, but it didn't work" and why.
* **Deny** stops it. Nothing changes, and the AI app is told not to try again.
* **Always allow** is a checkbox above the buttons. Tick it before you approve, and that tool switches to Always allow for this app. Next time it runs without asking.

## When Clikso refuses to run it

Things can change between the request and your click. If they do, Clikso stops and says "Clikso can't run this now", with the reason. Nothing runs, and the request stays open.

This happens when:

* you blocked the tool after the app asked,
* you made the connection View only,
* you took the workspace out of the connection, or
* the saved details are no longer valid.

## Find waiting requests

Open Settings → AI connections. Requests that still need you appear under **Waiting for your approval**, with the number waiting. Each app's page also shows them in its **Activity** list.

### Good to know

* On the Clikso page you need to be signed in. If you are not, Clikso asks you to sign in first, then brings you back.
* If a card shows only **Approve in Clikso**, the app did not pass the card what it needs. Use that button to approve on the Clikso page.
* Any tool can be set to Needs approval, even a read tool. Then even a search waits for you.
* If you approve but the app never collects the result, the change still happened. Check the link in your dashboard.

---

Source: https://clik.so/docs/ai/approvals
