[Bug]: Could not read from remote repository

Open
#32 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
git, github
Domain
devtools

Research direction

Start by tracing the git subprocess used by worktree.create for git fetch origin "main", then compare its working directory and environment with the user's terminal. Reproduce with a GitHub multi-account setup using includeIf and core.sshCommand; done means the repository requiring the selected SSH key fetches successfully through Polyscope.

Written by the indexing model from the issue text.

Description

Platform

macOS

Operating system version

macOS Tahoe 26.3

System architecture

ARM64 (M1, M2, etc)

PolyScope Version

0.7.0

Bug description

Hello! First, the app looks amazing, the remote feature is exactly what I was looking for coming from Conductor which I use daily. I can't wait to be able to try it out.

When adding a repository from a local path, it fails to fetch the remote. The same git fetch origin "main" command works perfectly from my terminal.

I've since identified the root cause (thus the issue update). I use two GitHub accounts (personal and work) with includeIf directives in ~/.gitconfig to set core.sshCommand per directory, selecting the correct SSH key for each account. Here's the expected flow:

  1. Git reads ~/.gitconfig
  2. includeIf "gitdir/i:~/Code/" matches → includes ~/Code/.gitconfig
  3. core.sshCommand = "ssh -o IdentitiesOnly=yes -i ~/.ssh/github-perso" is set
  4. SSH authenticates as the correct account

What happens in Polyscope:

  1. Polyscope spawns git fetch origin "main"
  2. includeIf is not evaluated (likely because Polyscope runs git from a different working directory, or strips/overrides environment variables like HOME)
  3. No core.sshCommand is set
  4. SSH falls back to the agent, tries keys in order, and authenticates as my other account
  5. GitHub returns "Repository not found" (that account can't access this repo)

Supporting evidence:

  • Repos owned by my work account (whose SSH key happens to be tried first by the agent) work fine in Polyscope
  • Repos owned by my personal account consistently fail with ERROR: Repository not found
  • From terminal: ssh -T git@github.com → work account (default agent order), while ssh -o IdentitiesOnly=yes -i ~/.ssh/github-perso -T git@github.com → personal account
  • Other tools that shell out to git (Conductor, OpenCode) evaluate includeIf correctly

Likely fix: Ensure the git subprocess inherits the user's full environment (especially HOME) and that the working directory is set to the repo path before running git fetch, so that includeIf "gitdir:..." patterns can match correctly.

My issue is likely related to https://github.com/beyondcode/polyscope-community/issues/17 — both point to the subprocess environment not matching the user's shell environment.

I also have a custom gh wrapper script with similar per-account logic. I also use Conductor and the OpenCode GUI which work flawlessly with this setup.

Let me know if I can help debug further. Have a great day!

Steps to reproduce
  • Have a multi-account GitHub setup using includeIf + core.sshCommand in ~/.gitconfig
  • Open Polyscope
  • Click "Choose repository"
  • Choose a repository that requires the includeIf-resolved SSH key (not the default agent key)
  • Wait for it to load
  • The error notification appears in the bottom right corner (see screenshot)
Image
Relevant log output
[server:err] ERROR: Repository not found.
[server:err] fatal: Could not read from remote repository.
[server:err] [ws] worktree.create error: Command failed: git fetch origin "main"

(Full logs available on request — the error repeats on every worktree.create attempt. A secondary Command "sites" is not defined error also appears on every repo.add.)

Dominant language
No language data
Stars
20
Forks
0
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from beyondcode/polyscope-community

All issues in beyondcode/polyscope-community

Similar issues

More DevTools issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.