Fallow app for Codex
See code health inside the Codex desktop app: a dashboard in the sidebar, a Code Health tab beside each thread, findings you attach to the composer, a branch audit, a cleanup form, and a config editor with an impact preview.
The Fallow plugin for Codex includes an app. In the Codex desktop app, it shows code health next to your conversations and lets Codex act on the findings you pick. The app runs the fallow CLI on your machine. No code leaves the machine.
Install
codex plugin marketplace add fallow-rs/fallow-skills
codex plugin add fallow@fallow-skills
The app needs Node.js 20 or later on PATH, and fallow itself:
npm install --global fallow
After the install, choose Set up on the plugin page. Codex checks the installation, asks for your defaults, and runs the first analysis.
The OpenAI plugin directory lists the skills-only version of the plugin. The app comes with the marketplace install above.
What the app adds
| Surface | What it does |
|---|---|
| Fallow in the sidebar | A dashboard: health score and grade, findings per category, refactoring targets, hotspots and next steps |
| Code Health thread tab | The same dashboard beside a thread, for the project of that thread |
| Inline results | Ask "how healthy is this code?" and Codex shows a compact card that opens full screen |
| Branch audit | Pass, warn or fail for the changes of the branch. Findings that the branch introduced are separate from findings that existed before |
| Finding detail | The code around the finding, a read-only command that verifies it, the fix options, and the rule explanation |
| Composer attachments | Select findings to attach them to the composer. Fix with Codex sends them to the thread or to a new thread |
| @Fallow mentions | Search findings as you type, and attach one finding or all findings of a rule |
| Cleanup planner | A form: pick a category, then the findings, the approach and your constraints |
| Config editor | Open .fallowrc.json or .fallowrc.jsonc to set the severity of each rule, edit entry points and ignore lists, and preview the impact before you save. Comments in the file stay |
| SARIF viewer | Open a .sarif report from fallow or another analyzer |
Settings
The plugin page has these settings:
| Setting | Default | Description |
|---|---|---|
| Default scope | Whole project | Analyze the whole project, or only the files changed since the base branch |
| Base branch | Detected | The git ref for changed-file runs and audits |
| Production code only | Off | Leave out tests, stories and dev tooling, like --production |
| Findings sent to Codex | 25 | How many findings a result gives the model. The dashboard shows all of them |
| Fallow binary | auto | Which fallow runs. See Security |
| Use the Codex sandbox | On | Run fallow inside the sandbox of the thread when Codex provides one |
Known behavior in Codex
- Forms need Default permissions. When a thread runs in Full access mode, Codex declines forms without showing them. The app then shows a notice, and Codex asks you in chat instead.
- Choose the config editor once. Codex opens JSON files in its own viewer by default. To edit
.fallowrc.jsonand.fallowrc.jsoncin Fallow, choose Fallow Config under Settings, File type handlers. - Mentions in a new thread. Before the first message of a thread, @Fallow lists the findings of the last analyzed project and names it.
Security
You can open a repository that you do not trust, so the app limits what that repository can run and read:
- A fallow binary that the repository ships, and an
npxdownload, run only inside the Codex sandbox of the thread. Outside the sandbox, the app only runs a fallow that you installed onPATH. - Fallow gets a short list of environment variables. Tokens and credentials in the Codex environment do not reach it.
- The app reads source lines only from files that a report names.
- In a thread, a folder that the model names must be inside the working directory of that thread.
The app stores its settings, recent projects, and the project of each thread in your user state folder. To find the project of a thread tab, it reads the first line of that thread's Codex session log, which holds the working directory. The config impact preview writes a draft next to the config file for the length of two fallow runs, then deletes it.