Obsidian GitHub Integration Setup Guide
The Obsidian GitHub integration enables Benny Chat to access and search your Obsidian vault hosted on GitHub. This allows the assistant to reference your personal notes, documentation, and knowledge base during conversations.
Prerequisites
Before you begin, make sure you have:
- An Obsidian vault with your notes
- A GitHub account
- GitHub Desktop (recommended) or Git installed
Step 1: Create a GitHub Repository for Your Obsidian Vault
- Go to GitHub and sign in
- Click the "+" icon in the top right and select "New repository"
- Name your repository (e.g., "my-obsidian-vault")
- Choose Private if you want to keep your notes private
- Don't initialize with README, .gitignore, or license
- Click "Create repository"
Step 2: Upload Your Obsidian Vault to GitHub
Option A: Using GitHub Desktop (Recommended)
- Download and install GitHub Desktop
- Sign in with your GitHub account
- Click "Add" → "Add Existing Repository"
- Navigate to your Obsidian vault folder (even if it's in iCloud)
- If prompted to create a repository, click "Create Repository"
- In GitHub Desktop, click "Publish repository"
- Ensure the repository name matches what you created on GitHub
- Keep "Keep this code private" checked if desired
- Click "Publish repository"
Option B: Using Command Line
- Open Terminal in your Obsidian vault directory
- Run these commands:
git init git add . git commit -m "Initial commit" git remote add origin https://github.com/YOUR_USERNAME/YOUR_REPO_NAME.git git push -u origin main
Step 3: Extract Repository Information
From your GitHub repository URL (e.g., https://github.com/johndoe/my-obsidian-vault), identify:
- Repository Owner:
johndoe(your GitHub username or organization) - Repository Name:
my-obsidian-vault
Step 4: Generate a GitHub Fine-Grained Personal Access Token
- Go to GitHub Settings → Developer settings → Personal access tokens → Fine-grained tokens
- Click "Generate new token"
- Configure basic settings:
- Token name: "Benny Chat Obsidian Access"
- Expiration: 90 days (recommended) or custom date
- Description (optional): "Read-only access for Obsidian vault"
- Configure Repository access:
- Select "Only select repositories"
- Click "Select repositories" dropdown
- Choose your Obsidian vault repository
- Click "Generate token" (no need to modify permissions - default read access is sufficient)
- Important: Copy the token immediately - you won't see it again!
Note: Fine-grained tokens provide better security. The default permissions give read-only access to your selected repository, which is all that's needed.
Step 5: Configure in Benny Chat
- Open Benny Chat and go to Settings
- Scroll to "MCP Tool Settings"
- Find "Obsidian GitHub" in the list
- Click "Configure" or the settings icon
- Enter your configuration:
- GitHub Token: Paste your personal access token from Step 4
- Owner: Your GitHub username (e.g.,
johndoe) - Repository: Your repository name (e.g.,
my-obsidian-vault)
- Toggle the switch to enable the integration
- Click "Test Connection"
- You should see a success message with available tools
Keeping Your Notes Synchronized
Automatic Sync with GitHub Desktop
- GitHub Desktop will detect changes in your Obsidian vault
- When you see changes, add a commit message (e.g., "Daily notes update")
- Click "Commit to main"
- Click "Push origin" to upload changes to GitHub
Manual Sync
After making changes in Obsidian:
git add .
git commit -m "Update notes"
git push
Pulling Latest Changes in Benny Chat
Your notes are fetched in real-time from GitHub, so once you push changes, they're immediately available in Benny Chat conversations.
Available Features
Once configured, you can:
- Search notes by filename: "Find my note about project planning"
- Search note contents: "Search for notes mentioning 'machine learning'"
- Read specific notes: "Show me my daily note from yesterday"
- Reference multiple notes: "What do my meeting notes say about the Q4 roadmap?"
- Track changes: "What notes have I updated recently?"
Usage Examples
- "Check my Obsidian notes about the Python project"
- "Find all notes tagged with #ideas"
- "What's in my 'Projects/WebDev' folder?"
- "Search for notes containing 'API design'"
- "Show me my most recent daily notes"
Best Practices
- Organize your vault: Use folders and consistent naming
- Use frontmatter: Add tags and metadata to notes for better search
- Regular commits: Push changes daily or after important updates
- Meaningful commit messages: Helps track when specific notes were updated
.gitignorefile: Exclude.obsidian/workspaceand other local settings
Recommended .gitignore for Obsidian
Create a .gitignore file in your vault root:
.obsidian/workspace*
.obsidian/workspaces.json
.trash/
.DS_Store
Troubleshooting
Connection Test Failed
- Verify all three parameters are correct:
- GitHub Token: No extra spaces or quotes
- Owner: Your GitHub username (not email, not organization name unless it's an org repo)
- Repository: Repository name exactly as shown in GitHub (case-sensitive, no
.gitextension)
- Check token configuration:
- Token hasn't expired (check GitHub Settings → Developer settings → Personal access tokens)
- Repository is selected in your fine-grained token's configuration
- Token was generated after selecting the repository
- Ensure repository exists and you have access:
- Visit
https://github.com/[owner]/[repo]to confirm - For private repos, ensure you're logged into the correct GitHub account
- Visit
Notes Not Found
- Confirm notes are pushed to GitHub
- Check GitHub directly to see if files are there
- Try searching with different terms
- Ensure you're not in a branch other than
main
Permission Denied
- Token issues:
- Token might have expired - check GitHub Settings → Personal access tokens
- Generate a new token if expired
- Repository changes:
- Repository visibility might have changed (public → private)
- Repository might have been deleted or renamed
- Token configuration:
- For fine-grained tokens: Ensure the repository is still selected in token settings
- You may need to edit the token to re-add repository access
Privacy Considerations
- Only repositories you explicitly configure are accessible
- Private repositories remain private with proper token scopes
- Benny Chat accesses notes only when you request them
- No caching of note contents beyond conversation context
Need Help?
- Review GitHub's token documentation
- Ask Benny Chat for help with specific error messages