Skip to content

Customize

Choose a permission mode

Control whether Bwat asks before editing files, running commands, or fetching web pages. Pick a mode from the selector beside the message box in the Bwat panel.

Available modes

Each mode makes a different tradeoff between convenience and oversight. The table below shows what Bwat can do without a permission prompt in each mode.

ModeWhat runs without askingBest for
ManualReads, searches, and read-only commandsGetting started, sensitive work
Edit automaticallyReads, plus file editsIterating on code you're reviewing as you go
Plan modeReads only: Bwat proposes a plan before touching anythingExploring a codebase before changing it
AutoEverythingLong tasks you trust Bwat to finish on its own

In every mode, plainly read-only commands (like git status or ls) run without asking. Commands you've told Bwat to remember run without asking too; see the command allowlist.

Switch modes

Click the mode selector beside the message box to open the mode picker, then choose a mode. While the picker is open, press Tab to cycle through the modes.

You can switch modes while Bwat is working. The new mode applies from its very next action, not just your next message. Flipping from Edit automatically back to Manual mid-task means the next edit prompts again.

One exception: while Bwat has presented (or is preparing) a plan that you haven't accepted or rejected yet, the conversation stays in Plan mode and the picker snaps back if you try to leave. Decide on the plan first, then switch freely.

Manual

The default. Bwat reads and searches freely, but every file edit, shell command, and web fetch pauses for your approval.

File edits open a real, editable diff in VS Code beside the chat: the original on the left, Bwat's proposed version on the right. You can hand-edit the proposal before accepting it; whatever is in the editor when you approve is exactly what lands on disk. Two ways to approve: press Ctrl+S in the diff editor, or click Allow on the approval card in chat. Closing the diff tab without saving rejects the edit and stops the task.

Each approval card also offers:

  • Allow all edits this session (file edits only): stops prompting for edits in this conversation and flips the mode to Edit automatically.
  • Don't ask again for pattern (shell commands only): remembers the command so future runs of it skip the prompt. See the command allowlist.
  • Tell Bwat what to do differently: type a note and deny: the action is rejected and Bwat redirects to follow your instruction instead.

Edit automatically

Bwat creates and edits files without prompting, so you can review changes in your editor or via git diff after the fact rather than approving each edit inline. Shell commands and web fetches still prompt; only file edits are auto-approved.

Plan mode

Plan mode tells Bwat to research and propose changes without making them. Bwat reads files, searches, and explores, then writes up a plan and presents it for your review. It cannot edit files or run commands that change anything while planning.

Bwat can also enter Plan mode on its own for a sweeping request, such as a many-file refactor, schema rewrite, or new subsystem. You can sign off on the approach before it spends time building the wrong thing. When that happens, the mode selector flips to Plan and a note appears in chat.

When the plan is ready, you choose how to proceed:

  • Yes, and auto-accept edits: approve the plan and continue in Edit automatically.
  • Yes, and manually approve edits: approve the plan and continue in Manual.
  • Send feedback: keep planning; Bwat revises the plan with your notes.

Until you decide, the conversation is locked to Plan mode. The picker snaps back if you try to switch away, so a pending plan is always either approved or rejected, never silently abandoned.

Auto mode

Auto mode is you telling Bwat: get this done, don't ask me anything. Bwat picks the approach on its own and nothing pauses for approval. File edits, shell commands, and web fetches all run immediately, including commands the other modes would flag for an extra look.

Bwat can still ask you questions in Auto mode because clarifying what you want is not a permission. What it won't do is stop and wait for sign-off on individual actions, and it won't take the formal Plan-mode detour (which exists to end in a review). It plans internally and keeps moving.

While Auto mode is on, a banner above the message box reminds you that it is active. Dismiss it for the session, or switch modes at any time to take back control. The change applies from Bwat's next action.

What auto mode means for safety

Auto mode removes the review step entirely. There is no background safety check screening individual actions, and content Bwat reads while working (a web page, file, or command output) could attempt to steer it. In the other modes, you would see any resulting action before it runs; in Auto mode you will not.

Use auto mode when:

  • You trust the general direction of the task.
  • Your work is protected by version control, so you can review everything after with git diff and revert what you don't want.
  • The task doesn't touch production systems, secrets, or anything expensive to undo.

For sensitive repositories, stick with Manual or Plan mode. The prompts are the protection.

Web fetch approvals

When Bwat wants to fetch a web page, such as documentation, an issue, or a package readme, it asks first and shows you the exact URL. Fetches send a request from your machine to that address, so you stay in control of where Bwat reaches. This prompt appears in every mode except Auto, including Plan mode.

If you're happy for Bwat to browse freely for a while, choose Allow & don't ask again this session. Web fetches stop prompting until you close the Bwat panel, then the protection resets.

Web search doesn't prompt: searches run through Bwat's own service rather than fetching arbitrary addresses from your machine.

The command allowlist

When a shell command prompts, the card offers Don't ask again for pattern. Accepting it saves the command prefix (for example npm run or git commit) to .bwat/permissions.json in your workspace, and future commands matching it run without asking across conversations and restarts in this workspace only.

  • The file is added to your .gitignore automatically, so your “yes, always” never silently authorizes a teammate's Bwat.
  • Compound commands are remembered piece by piece: approving cd app && npm test remembers npm test; the cd doesn't count.
  • Risky commands such as rm -rf, force-pushes, database migrations, and curl | sh are never remembered from the regular button and always prompt again, with a warning banner explaining why. If you genuinely run one routinely, the banner offers a separate, explicitly labeled option to always allow that one specific pattern.

What runs without asking

A compact reference of every action type across the four modes.

ActionManualEdit automaticallyPlan modeAuto
Read files, search, exploreRunsRunsRunsRuns
Read-only commands (git status, ls, …)RunsRunsNot availableRuns
Allowlisted commandsRunsRunsNot availableRuns
File editsPromptsRunsNot availableRuns
Other shell commandsPromptsPromptsNot availableRuns
Risky commands (rm -rf, force push, …)Prompts + warningPrompts + warningNot availableRuns
Web fetchesPromptsPromptsPromptsRuns
Web searchRunsRunsNot availableRuns