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].
Open Manage folder access → Environment settings… for the folder. Login shell is the default and imports eligible exported variables from your shell startup configuration. Minimal environment uses a reduced environment. Include patterns restrict which names are imported; an empty include list allows all eligible names. Exclude patterns take priority. Patterns are case-insensitive; * matches any number of characters and ? matches one. For example, include PATH, DATABASE_URL, MY_APP_* and exclude AWS_*, PRIVATE_TOKEN. Variables with names such as KEY, TOKEN, or SECRET are not automatically removed. Commands can print environment values into task output, so choose the variables your project needs. An app opened from the Dock cannot see exports made only in an unrelated Terminal session. Put required exports in your shell’s login/interactive startup configuration, or launch the app executable from the shell that has them. New command starts read that configuration. Changing the folder’s environment settings stops its running commands and servers; start them again afterward. Environment settings do not remove the project’s file and 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. Shell environment import fails: check that your shell startup completes promptly without waiting for input, or choose Minimal environment and try again. 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.