Cana logocana.build

Cana Desktop, cana.build

Permissions and approvals

Decide how much an agent may do on its own, approve its commands and edits as they come, and rely on protected locations it can never touch, whatever the setting.

Asks before it actsAllow for goodSecrets off-limits

How it works

The idea in 5 steps

  1. 1

    Each chat has a permission mode

    The mode sets how much the agent may do without you. There are four: Ask checks with you before anything runs and is the default, Accept Edits lets file edits through, Research and Plan only reads and drafts a plan, and Bypass All runs everything with no prompts.

  2. 2

    Actions wait for your answer

    When the agent wants to run a command or change something, it stops and shows you exactly what it will do. Nothing happens until you allow it, and you can refuse.

  3. 3

    Your answers can stick

    A command you trust, such as your test runner, can be allowed for good, and one you never want can be blocked for good. Anything new still asks.

  4. 4

    Some places are always off-limits

    Credential folders, keychains, browser profiles, secret files and system folders are on a fixed deny list. No mode and no approval opens them, including Bypass All.

  5. 5

    Secrets can be used without being seen

    With the Vault mod (beta), API keys and passwords stay in your system keychain. The agent uses each one by name only, and any value that shows up in output is replaced with [vault:name].

Tutorial

Step by step

Before you start

  • Cana Desktop installed and signed in, with a project folder open
  • A safe task to try, such as running your project's tests
  1. 1

    Check the mode for this chat

    Look at the mode button under the chat box, next to the model, and click it.

    You'll see: A Permission mode menu with Ask, Accept Edits, Research and Plan and Bypass All, each with a one-line description.

  2. 2

    Start in Ask

    Pick Ask, then send a request such as "Run the tests and tell me what fails."

    You'll see: The agent stops at its first command and shows an approval card with the exact command.

  3. 3

    Approve once or refuse

    Read the command, then click Approve to run it this once, or Deny to stop it.

    You'll see: After Approve the command runs and its output appears in the chat. After Deny the agent is told no and looks for another way.

  4. 4

    Allow a trusted command for good

    Next time the same command comes up, open More approval options on the card and choose Allow followed by the command it shows, such as pnpm test.

    You'll see: That command no longer asks. Other commands still do.

    Tip: Choose Block from the same menu for a command you never want run, or Auto-approve this session for a long familiar task.

  5. 5

    Let edits through on a prototype

    Switch the mode to Accept Edits and ask for a change to a file.

    You'll see: The edit lands straight away, while commands and deletions still show an approval card.

  6. 6

    Plan before any change

    Switch to Research and Plan and describe a larger change you want.

    You'll see: The agent reads your project and drafts a plan for you to approve or revise. It changes no files on the way.

  7. 7

    Set the default for new chats

    Click Settings at the foot of the left rail and open Agents. Under Permission mode pick the mode new chats start in. Under Auto-approve Actions, leave Terminal commands off unless you want commands to run without asking.

    You'll see: New chats open in the mode you chose.

  8. 8

    See a protected location hold

    In any mode, ask the agent to read a file in your SSH folder.

    You'll see: The agent reports it is blocked because the path is a protected location, and no approval card appears.

Worked example

Let the agent fix failing tests without babysitting it

Your test suite has a handful of failures. You want the agent to run the tests, edit code and re-run them until they pass, without approving the same test command twenty times.

You type

Run pnpm test, fix the failing tests one by one, and re-run the suite after each fix. Don't touch the CI config.
  1. 1.Pick Accept Edits from the Permission mode menu
  2. 2.Send the request and click Approve on the first pnpm test
  3. 3.On the next pnpm test card, open More approval options and choose Allow for pnpm test
  4. 4.Deny any command you don't recognise

Result: The agent edits and re-runs the tests on its own until they pass. Only new or unusual commands come back to you for approval.

Troubleshooting

If something doesn't work

The agent keeps asking about the same command
Approve allows it once. Open More approval options and choose Allow for that command, or Auto-approve this session while you work.
A file is blocked even in Bypass All
The path is a protected location, such as a credential folder, keychain or .env file. These can't be opened in any mode. Give the agent the value another way, for example through the Vault mod.
I can't switch to Bypass All from the web
When you drive your desktop from Cana on the web, Bypass can only be turned on at the desktop. Pick it in the desktop app itself.
Research and Plan won't make the change I asked for
That mode only reads and plans. Approve the plan or switch the mode to Ask or Accept Edits, and the agent carries out the work.

For you

Human approval by default, and hard limits no setting can override

Agents start in a mode that asks before acting, and every escalation in autonomy is a deliberate choice by a user. Credential stores, keychains, browser profiles and secret files are on a deny list that cannot be approved, in any mode.

Reduced credential risk

SSH keys, cloud credentials, .env files and password-manager data are blocked from the agent outright.

Accountable autonomy

Each action is approved by a named user at the keyboard unless they choose otherwise for that chat.

Secrets without exposure

With Vault (beta), agents use credentials by name only, restricted to allowed sites, and values are masked in what they read.

What changes for leaders: Agent productivity with approval-first defaults and a fixed boundary around your most sensitive data.

Technical details

What it connects to, and the controls you have

Modes
Ask (default), Accept Edits, Research and Plan (read-only), Bypass All
Approval choices
Approve once, Deny, Allow or Block a command permanently, Auto-approve this session
Protected locations
SSH and cloud credentials (~/.ssh, ~/.aws, ~/.kube and others), keychains, browser profiles and cookies, password-manager data, system folders, other users' home folders
Protected files
.env files, private keys and certificates, credential and token files, shell history and infrastructure state files, wherever they are
Enforcement
Protected locations are a hard deny list that can't be approved in any mode, including Bypass All; links are followed to their real target
Cluster actions
Read-only Kubernetes checks run freely; apply, delete, exec, scale and rollout ask, and are refused in Research and Plan
Vault (beta)
Secrets kept in the system keychain, used by name only, limited to allowed sites, hidden from everything the agent reads

Why Cana

What you get here

  • Four clear permission modes, with Ask as the default
  • Allow, Block or auto-approve commands from the approval card itself
  • A hard deny list for credentials, keychains, browser data and secret files that holds in every mode
  • Vault (beta) lets the agent use secrets without ever seeing them

Cana is opening up in waves. Get your place.

Join the waitlist