SIGN IN SIGN UP

feat: Add Read+Write allowlists (#1274)

* feat: Add Read+Write allowlists. Fixes #1273

Enables giving Read or Write access to specific files, without giving
full access on the workspace.

This is the equivalent of the existing auto-approve-commands
allowlist, but for files (and much safer, and easier to implement).

Useful to restrict the agent e.g. to write notes that survive
task switches and context condensation.

Example use cases:

* You could use this to tell the agent to keep a coarse
  log of what's being done in `./notes.md`, and you won't have
  to manually approve updates to that even if otherwise you
  review-and-approve every diff.
  This is expecially useful because many LLMs' context condensation
  is not very good: They will "forget" key commands upon condensation,
  thus starting to make mistakes or ask the user to help.
  With a reliable notes document where they can look up commands,
  this problem diappears.

* Let Zoo sift through large amounts of data
  (larger than the context window) unattended in a mostly-read-only
  fashion but with the need to remember results reliably
  (unaffected by context compression).
  For example, if you have 1000 large text documents and want the LLM
  to record all occurrences of specific topics,
  without giving Write permissions to all files.

* In the Zoo repo to allow automatic Auto-Approve
  only for `./webview-ui/src/i18n/**` to update translations.

* Auto-approving writes to a specific file outside the workspace,
  such as `~/.gitconfig` when asking the agent to help you
  iterate on Git configuration.

LLM: Done with Claude Opus 5 in Zoo Code, human review.

* FIXUP: Claude review

* FIXUP: Address PR review comments

* FIXUP: Address latest review nits

* FIXUP: More review feedback, allow testing Windows behaviour on non-Windows

* FIXUP: Fix test
N
Niklas Hambüchen committed
c747c024b62eaf821a06098d2844885af3cfa88b
Parent: d28e4a1
Committed by GitHub <noreply@github.com> on 8/22/2026, 2:41:17 PM