Use Git branches, run local tests and builds, manage development servers, and configure command environments in Mac project folders.
Connect a local repository through Project folder before starting a Work chat. Work can read and search the code, edit files with your permission, and show repository changes. Install the project’s required tools and dependencies on your Mac before asking Work to run checks. Read and write folder access does not automatically enable commands. Local tests & builds and Development servers are separate settings for each saved folder. These commands run on the Mac and require a compatible build; Remote folder access does not grant command execution from your phone.
The picker lists local branches and does not fetch remote-only branches. Linked worktrees, repositories with an external .git directory, bare repositories, and detached HEAD do not expose this picker. Use your normal Git workflow to prepare a supported checkout when needed. Switching a branch does not commit or push your work.
Read this repository’s instructions and test scripts. Fix the problem described below, run the relevant installed tests once without watch mode, and summarize the changed files and test result. Ask for Local tests & builds access if needed. Problem: [describe the behavior, expected result, and steps to reproduce it].
Manage folder access → Environment settings… chooses Inherited environment (default) or Minimal environment. Inherited uses the environment Gab AI received when it launched, not an interactive/login shell; tests, builds and servers do not run shell startup files. Trusted terminal environment behavior depends on the installed build; follow its Environment settings description. Include/exclude variable-name patterns control imports; exclusions win, * and ? are wildcards. Sensitive names such as KEY, TOKEN or SECRET are not automatically stripped. A Dock-launched app cannot see exports from an unrelated Terminal session. Check installed tools and PATH; do not ask users to paste secrets into chat. Changing these settings stops the folder’s commands/servers. Environment choices do not remove file/network restrictions.
Open the folder menu → Review changes to compare staged and unstaged Git changes. Task history records supported edits performed through Work’s file tools. Tests, builds, and servers may also change files; command side effects are not all covered by saved-edit Undo, so inspect the repository diff. If Work uses parallel coding workspaces, open Parallel work in change review. Each worker edits a separate saved copy. Review its files, then ask the task to integrate completed workers and run the combined checks. Conflicting edits remain in those copies until resolved. The app’s branch picker changes the shared checkout; it does not create an isolated copy for each chat.
Commands or servers are unavailable: confirm that the folder has edit access and the relevant permission, and check for an app update. Remote pairing alone does not enable commands. Command not found or a missing dependency: install the project’s supported tools/dependencies yourself, check PATH and Environment settings…, then retry. Importing PATH does not grant access to every tool or credential file in your home folder. A network-dependent build fails: ordinary tests/build commands have no network access. Prepare dependencies outside that restricted check. Development-server permission is intended for servers and has a separate network scope. Unexpected environment: check how Gab AI was launched and review the variable-name filters in Environment settings. Tests, builds and servers do not run your shell startup files. Try Minimal environment to isolate inherited variables. Port already in use: ask Work to inspect the listener and reuse the correct service. Request a restart only when intended; do not start duplicate copies. A process manager may require its own shutdown procedure. Switching branches is blocked: stop the active tasks, commands, and servers using the folder, then reopen the branch picker. Preserve and resolve conflicting uncommitted changes before retrying. Older logs are unavailable: finite command logs keep the latest 32 commands for up to 24 hours. Server output is a rolling window of up to 16 MiB, so older output can roll off.
Trusted terminal is a separate, explicit grant for a trusted read/write Mac project: Manage folder access → Trusted terminal → Allow trusted terminal… (or Settings → Mac app → Folder access). A chat request still needs the native confirmation. It can run authorized commands with the user’s normal home, saved credentials, network and account-accessible files outside the project, subject to macOS permissions. Tests/builds or server permission alone does not enable it. It is noninteractive, has no password/TTY entry and grants no new administrator privilege; some commands are unsupported. Commands/output go to the cloud agent. Use only for trusted tasks, and revoke in Folder access when no longer needed.
Work can inspect Git status/diffs, stage/unstage selected files and make local commits in supported repositories with read/write folder access and action approval. Structured local commits do not require command permission. Requested push/fetch/pull/merge and agent-driven branch switching use separately approved Trusted terminal and the Mac’s existing Git authentication. The manual branch picker remains local and has its own busy-folder checks. Preserve unrelated edits; do not promise automatic stash, force push, merge-conflict resolution or remote publication. Stopping SSH cannot guarantee that remote jobs stop or roll back.
Compatible coding builds can plan changes, search a codebase, apply focused edits and run configured repository checks before reporting success. Completion checks require command access and installed dependencies; a failed or unavailable check must be reported. Supported parallel coding uses separate worker copies and reviewed integration rather than changing the user’s branch/index automatically. Review changes → This task/Task history and a reply’s changes card show recorded edits; Undo request restores supported saved edits only when current files still match, and does not undo terminal/network side effects.