Sync a folder from GitHub into a project

Use a synced folder when your team writes in GitHub and you want Sasha to know that material. Examples are product specs, policies, playbooks and runbooks. You do not export or copy anything. GitHub stays the one place where the material is written.

You need an admin account in Sasha. You also need permission to make a token for the repository on GitHub.

What you get

Sasha copies one folder of one repository into a project. The copy is a folder inside the project, named after the last part of the GitHub path. For the path docs-developer/prd, the folder is called prd.

  • The copy is read-only. You can open and read every file. You cannot edit, rename, move or delete anything in it.
  • Sasha refreshes the copy every day. It copies only what changed.
  • The rest of the project is normal. People chat in it, save files in it and share it as for any project. Sasha saves what it writes next to the synced folder, not inside it.
  • Sasha finds the files in search, in chat and from Claude, as it finds any other document in the project.
  • The project shows a small GitHub tag in the sidebar.

Sasha never changes anything on GitHub.

Make a token on GitHub

Sasha needs a token that can read the repository and nothing else. Make a fine-grained personal access token.

  1. On GitHub, open Settings, then Developer settings, then Personal access tokens, then Fine-grained tokens.
  2. Choose Generate new token.
  3. Give the token a name that tells you what it is for, for example Sasha playbooks.
  4. For Resource owner, choose the organisation that owns the repository. Do not choose your own account if the organisation owns the repository.
  5. For Expiration, choose a date. A token with an expiry date is safer than one that never expires. Put a reminder in your calendar for a week before that date.
  6. For Repository access, choose Only select repositories. Select the one repository you want to sync.
  7. Under Repository permissions, set Contents to Read-only. GitHub adds Metadata (read-only) by itself. Do not add any other permission.
  8. Check the summary. It must name one repository and read-only access. Then choose Generate token.
  9. Copy the token. GitHub shows it only once.

An organisation may need to approve the token before it works. If the token page says "pending approval", ask an owner of the organisation to approve it. Until then, Sasha cannot read the repository.

Do not send the token in chat or by email. Paste it only into the form in Sasha.

Add the synced folder

  1. In Sasha, open Settings, then Shared Drives.
  2. Find GitHub synced folders and choose Add synced folder.
  3. Paste the GitHub token.
  4. Enter the Repository as owner/name, for example northwind/playbooks-repo.
  5. Enter the Branch. Leave it blank to use the default branch of the repository.
  6. Enter the Path in the repository, for example playbooks.
  7. Check the Folder name in the project. Sasha fills it in from the path. You can change it.
  8. Choose the Project. Choose an existing project, or choose New project and type a name.
  9. Choose Test. Sasha checks the token and the path. It then tells you what it found, for example "43 files in playbooks on main".
  10. Choose Save.

A few seconds later, the first copy is in the project.

The folder name must be new in that project. If the project already has a folder or file with that name, Sasha refuses the card. Choose another folder name, or another project.

See the result

The card shows where the folder appears: the project and the folder name. It also shows when the last sync ran, the commit that Sasha copied, when the token expires, and any error in plain words.

In the sidebar, the project has a small GitHub tag.

In the project, the synced folder is grey. It has a GitHub mark and a line such as "Updated 21 Oct 2026 09:14". A note at the top says where the files come from. The folder has no edit, upload, rename or delete controls.

For a picture of each screen (the form, the card, the grey folder and the project tag), see the product guide page on GitHub synced folders.

Refresh the folder

Sasha refreshes every synced folder once a day. To refresh sooner, choose Check now on the card. You can also ask Sasha in chat, for example "Refresh the playbooks folder". Only an admin can do this.

If nothing changed on GitHub, Sasha records the check and copies nothing.

When a refresh fails

A failed refresh never removes the copy you have. The folder stays as it was at the last good refresh. The card shows the reason in plain words. The folder still shows "Updated" with the date and time of the last good refresh. That line is in a warning colour when the last good refresh is more than two days old.

What you see What it means What to do
The token was not accepted The token expired, was revoked, or was never approved by the organisation. Make a new token and choose Replace token.
The repository, branch or path was not found The name is wrong, or the token cannot see the repository. Check the names on GitHub. Check that the token lists this repository.
The folder is larger than Sasha allows The folder has more than 20,000 files or is larger than 200 MB. Choose a smaller path.

Replace a token

Seven days before the token expires, the card shows a warning.

  1. Make a new token on GitHub, with the same steps as above.
  2. On the card, choose Replace token, paste the new token and choose Save token.
  3. If other synced folders used the same old token, Sasha asks if it should use the new token for those other synced folders too. Choose OK only if the new token can read those repositories as well.

If the token expires before you replace it, the folder stays readable. Its "Updated" line turns to the warning colour after two days, so that readers know it is old.

Delete a synced folder

On the card, choose Delete. The synced folder leaves the project at once. The rest of the project stays, with its chats and files. Nothing changes on GitHub.

Deleting the project also deletes its synced folders.

Limits

  • A synced folder is read-only. To change a file, change it on GitHub.
  • A synced folder holds at most 20,000 files and 200 MB.
  • You cannot delete, move or rename a folder that contains a synced folder, such as the project root, from the file tree. Delete the project or the card instead.
  • Sasha does not refresh when GitHub changes. It refreshes once a day, or when you choose Check now.
  • Sasha cannot create a synced folder, or set a token, from chat. A token typed in chat stays in the chat record. Use the form in Settings.

Questions

Can Sasha change the files on GitHub?

No. Sasha only reads from GitHub. It never pushes. Edit the files on GitHub and Sasha picks up the change at the next refresh.

Can I edit the synced folder in Sasha?

No. The synced folder is read-only. Sasha replaces it at each refresh, so a change made there would be lost. The rest of the project is normal, and you can add files next to the synced folder.

My token expired. What happens to the folder?

The folder stays readable as it was at the last good refresh. It shows how old it is. Make a new token on GitHub, then choose Replace token on the card.

How do I refresh now, without waiting for the daily refresh?

Choose Check now on the card. An admin can also ask Sasha in chat to refresh the folder.

Who can see the synced folder?

The same people who can see the project. A member sees it only if an admin gives that member access to the project.

made with bernardCookie settings