What you're seeing
It says connected
You added a GitHub repo or a local folder and the UI shows it linked.
But the tree is empty
No files appear, or only the name/URL shows with nothing underneath.
Prompts can't read it
Ask about a file and the model responds like it never got the contents.
What's actually happening
Access goes through a narrow connector, not the filesystem. The connector can register the source and sometimes list top-level items, but reading the actual file contents has to cross a sandbox bridge — and when that bridge can't fetch the contents, you get a source that's "connected" but functionally empty. Adding a repo often just drops its URL into the conversation as text; a prompt that references those files has nothing real to reach.
Things worth trying first
Quick checks
- Re-authorize the connectorRemove and re-add the source so the token/permissions refresh. Sometimes a stale grant is the whole issue.
- Check the scope you grantedIf it's a GitHub app, confirm you actually granted repo/contents access, not just metadata.
- Try a small public repoIf a tiny public repo loads but your private one doesn't, it's a permissions/scope problem, not a general break.
- Update the appConnector behavior changes between builds; make sure you're on a current one.
If none of that makes the files actually readable, you've hit the structural limit: the app reaches your code through a connector bridge instead of the filesystem, and there's only so far you can push that from the outside.
The approach that doesn't have this failure mode
A local agent doesn't need a connector to see your code. It runs as a normal process and reads the actual files and folders on your disk — the same ones you see in your editor or terminal. There's no bridge that can be "connected but empty," because there's no bridge at all: it opens the files directly.
Why local avoids it
Reads your real filesystem
It works with the files on your machine directly, so there's nothing to be 'connected but empty.'
No connector to break
No sandbox bridge means no 'the token/scope/bridge failed' class of problem.
Bring your own model
Not tied to one account or plan, so an auth issue on one provider doesn't lock you out of your own files.
FAQ
Why does Claude Desktop say a repo is connected but show no files?
The connector can register/list the source but can't read the file contents through the sandbox bridge, so the app knows the repo exists but can't open its files. Reconnecting resets state but doesn't remove the underlying limitation.
Does reconnecting the GitHub integration fix it?
Sometimes, if the issue was a stale token or missing scope. But if the files still won't load after re-authorizing with the right permissions, the problem is the connector bridge itself, not your setup.
How do I get an AI agent that can actually read my files?
Use a local agent that reads your real filesystem directly instead of through a connector. Wuwei is a free, open-source example — it runs as a normal process and opens the actual files and folders on your machine, so there's no 'connected but empty' state.