Permission modes
Each application's mode decides when Hallvi waits for your approval. It does not change what Hallvi may do.
In short
- In Always ask, every command on your server waits for you. Hallvi decides asks when it chooses, and Bypass runs without asking.
- Reading, generating secrets and Hallvi's built-in read-only checks never ask, in any mode.
- No mode is a security boundary, so read what you approve.
| What Hallvi does | Always ask | Hallvi decides | Bypass |
|---|---|---|---|
| Commands on your server | Asks | Asks when it chooses | Runs |
| Commands and file changes in its copy of your repository | Asks | Asks when it chooses | Runs |
| Requests to Hetzner and your DNS provider | Asks | Asks when it chooses | Runs |
| Connecting a server, copying code to it, private links, public checks, pull requests | Asks | Asks when it chooses | Runs |
| Reading its repository copy, generating secrets, deployment settings, DNS lookups, backup copies, its own records | Never asks | ||
| Hallvi's built-in read-only checks, such as whether the server and the address still answer | Never asks | ||
| Cards that ask where to run, for DNS access, how to deploy, or for a secret | Wait for your answer | ||
Hallvi decides is the default
In that mode your request usually counts as permission, and that can include renting a server that Hetzner bills to you. Bypass has no exception for spending, deleting or DNS.
Change the mode
In the main conversation, press the mode button at the bottom left of the message box. The change applies from Hallvi's next action. A command already waiting still needs Approve or Decline.
Good to know
- No mode is a security boundary. Repository files and server output can mislead the agent, so read what you approve. See the beta precautions.
- With automatic deployment in Always ask, each command of every deployment waits for you.
- Your own actions, such as connecting an account or typing in the terminal, are not governed by the mode.
- Side conversations cannot change anything, so they never ask.