Repository navigation
ghfs: GitHub issues as read-only local files, readable from inside Codex's sandbox #47730
Replies: 1 comment 1 reply
|
One fallback-filename case worth testing is whether rule generation preserves the guidance that Codex was already selecting. In a disposable repository with an isolated test configuration, set If I haven't installed ghfs or reproduced its behavior when For the acceptance check, compare the loader-selected source in fresh Codex runs at the same working directory before and after generation, and verify preservation of the pre-existing guidance—not only the presence of ghfs markers. The fallback configuration reference describes the setup and restarting to load it. |
Uh oh!
There was an error while loading. Please reload this page.
I build ghfs. It keeps a repository's GitHub issues on disk as Markdown files, mounted read-only at
.ghfs/in the repo, so a coding agent reads an issue withcatinstead of calling GitHub in the middle of a task. Disclosure up front: it is a paid product and it is not open source. The free tier covers one repository; unlimited repositories are $5/month or $48/year.The Codex-specific part is the sandbox. Codex CLI's default
workspace-writesandbox runs with network access off, sogh issue view 42mid-task cannot reach GitHub: it fails, or the agent stops to ask you to let it out of the sandbox. I checked this on macOS with Codex CLI 0.155.1, running commands throughcodex sandbox --permission-profile :workspacein a repo registered with ghfs:The files are fetched before the task starts, so reading them needs neither the network nor an approval.
What goes into AGENTS.md
ghfs rules(or the prompt at the end ofghfs register) appends a section to your existingAGENTS.md, between<!-- ghfs:begin -->and<!-- ghfs:end -->. Running it again replaces only that section and leaves the rest of your file alone. The section describes the layout:and tells the agent to pick one way of reading:
{number}.mdfor one to three issues, or the hidden.index.jsononce for anything cross-cutting, never both in the same task.The section is about 4 KB, which counts against
project_doc_max_bytes(32 KiB by default). Codex also takes at most one instruction file per directory and prefersAGENTS.override.md, so if your repo root has an override, the ghfs section inAGENTS.mdis not loaded and belongs in the override instead.Limits
It does not sync in real time: what is on disk is as recent as the last fetch, by command or by the background sync. Read-only is enforced by ghfs, not by the token. The device flow asks for
reposcope, which GitHub treats as write-capable, and https://ghfs.dev/security#read-only covers what that does and does not mean. It is GitHub Issues only, today.Requirements:
On macOS, install macFUSE and enable its File System Extension in System Settings before installing ghfs. Then install with
curl -fsSL https://ghfs.dev/install.sh | sh. The site is https://ghfs.dev/If you point Codex at your own issues this way, I would like to hear where it gets in the way, especially with override or fallback-filename setups I have not tried.
All reactions