# Folder access

Grant access to repositories, linked worktrees, submodules, and your home folder.

## Folders you choose

GitLode runs inside the App Sandbox, so it can open only the folders that you choose. You choose a folder when you do one of these actions:

- Choose Open Repository…, or drag a folder into the sidebar.
- Open a folder with GitLode from the Open With menu in Finder.
- Clone a repository or create a new repository.

GitLode remembers these folders. You do not have to choose them again after you quit GitLode.

If you choose a folder inside a repository, GitLode adds the repository that contains the folder. If GitLode cannot open that repository yet, it asks you to grant access to it.

## Grant access to a folder

Sometimes GitLode needs permission for a folder that you did not choose. For example:

- A repository that GitLode can no longer open.
- The main repository of a linked worktree.
- The superproject of a submodule, which is the repository that contains the submodule.
- A repository's Git folder, when it is outside the repository.

GitLode shows the name of the folder and a Grant Access… button. To grant access:

1. Click Grant Access….
2. In the panel, choose the folder with that name.
3. Click Grant Access.

A repository that GitLode cannot open has a badge in the sidebar. Right-click the repository, choose Grant Access…, then do steps 2 and 3.

If you moved a repository, choose Locate Repository… and select its new folder. See [Organize repositories](https://gitlode.com/docs/organize-repositories).

## Access to your home folder

Your Git configuration (`~/.gitconfig`) and your SSH settings and keys (`~/.ssh`) are in your home folder. In Basic mode, Git can use them only if GitLode can read your home folder. This access is optional.

If you choose Use Basic Mode when you first open GitLode, GitLode asks once for access to your home folder. To grant access later, open Settings > Tools and click Grant Access to Home Folder…. In the panel, choose your home folder and click Grant Access. To remove access, click Revoke Access.

Without access to your home folder, SSH uses the keys in the macOS ssh-agent, and GitLode keeps its own list of known hosts.

With Full Git Integration, Git runs outside the App Sandbox, so it can read your home folder without this access. See [Full Git Integration](https://gitlode.com/docs/full-git-integration).
