beyondcode / beyondcode/polyscope-community
[Bug]: Could not read from remote repository
- Dominant language
- No language data
- Stars
- 20
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
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)
### Relevant log output
```shell
[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`.)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.