Skip to main content

Projects — File Browser

The Projects view is a local file browser built into Pawz. It lets you browse project folders, inspect Git status, and preview text files — all within the app using Tauri’s filesystem APIs.

Adding projects

  1. Open the Projects view
  2. Click Add Folder
  3. Select a local directory
  4. The folder appears in your project list with its directory tree

Operations

ActionDescription
Add folderBrowse and add a local directory to your project list
Remove folderRemove a project from the list (does not delete files on disk)
RefreshRe-read the directory tree and update Git status
Projects are persisted in localStorage, so your project list survives app restarts.

File tree

Each project displays an expandable directory tree:
  • Lazy loading: Subdirectories are only read when you expand them, keeping the UI responsive for large projects
  • File icons: Files and folders are visually distinguished
  • Click to preview: Clicking a text file opens a read-only preview

File preview

The file viewer provides a read-only text preview of file contents. This is useful for quick inspection without leaving Pawz. :::info File preview is read-only by design. To edit files, use the agent’s write_file or edit_file tools, or open the file in your preferred editor. :::

Git integration

For projects that are Git repositories, Pawz displays rich status information:
FieldDescription
BranchCurrent checked-out branch
RemoteConfigured remote URL
Dirty filesNumber of uncommitted changes
Ahead/BehindCommits ahead of or behind the remote
Last commitMost recent commit message and hash
Git information is fetched via @tauri-apps/plugin-shell and can be refreshed manually with the Refresh button. :::tip Use the refresh button after committing or pulling to see updated Git status without restarting the app. :::

Security

The Projects view enforces strict security boundaries to prevent browsing sensitive system paths.

Blocked paths

The following 18 sensitive path patterns are blocked from browsing:
PatternReason
.sshSSH keys and configuration
.gnupgGPG keys and keyrings
.awsAWS credentials and config
.kubeKubernetes configuration
.dockerDocker credentials
.gnome-keyringGNOME keyring directory
.password-storePassword store directory
.netrcNetwork authentication credentials
/etcSystem configuration
/rootRoot user home
/var/logSystem logs
/procProcess information pseudo-filesystem
/sysKernel/device pseudo-filesystem
/devDevice filesystem
C:\WindowsWindows system directory
C:\Users\*\AppDataAppData directory
.openclawOpenClaw config (contains tokens)
.config/himalayaHimalaya email config

Security event logging

Any attempt to access a blocked path is logged via logSecurityEvent() with the following details:
  • Tool name: The operation attempted
  • Command: The path that was blocked
  • Risk level: Security classification
  • Detail: Human-readable explanation
  • Was allowed: Always false for blocked paths
:::warning These security restrictions cannot be bypassed from the UI. They are enforced at the application level to protect sensitive system data from accidental exposure to AI agents. :::