KNOWN_BINS only listed Unix/macOS paths, and whichDevin() always shelled out to /usr/bin/which. On Windows neither resolves, so the provider could not find `devin.exe` even when it was installed and on PATH. The model catalog therefore never loaded and the provider silently fell back to the four hard-coded FALLBACK_MODELS entries. - Probe the documented Windows install locations (%LOCALAPPDATA%\devin\ cli\bin\devin.exe, the Devin Desktop bundled CLI for both per-user and machine-wide installs, plus two fallbacks). - Build the candidate list lazily so a DEVIN_CLI value set after module load is still honoured. - Use `where` instead of /usr/bin/which on Windows, and accept multiple result lines, since `where` prints one path per line. All existing Unix/macOS paths are preserved. Tested on Windows 11, Node 24.5.0, pi 0.87.1, Devin CLI 3000.11.3: `pi --list-models devin` goes from 4 models to 52 with DEVIN_CLI unset. `tsc --noEmit` and the existing test suite both pass.
pi-devin
A Pi package that uses Devin Local models inside Pi.
Pi stays the harness. The Devin CLI owns login and the live model catalog (devin auth, devin models list). This is not an ACP integration and does not use Zed.
Why this exists
pi-devin-auth treated Devin as Cascade cloud chat. Models like Sol High, Opus 5, and Fable 5 then failed with:
This model is only in Devin Local.
Those models are available through the local Devin CLI. This package uses that CLI for auth + catalog, then streams completions into Pi so Pi's tools, sessions, and UI stay in charge.
Requirements
- Pi Coding Agent 0.86+
- A signed-in Devin CLI (
devin auth status) - Node 22.19+ (required by Pi 0.86)
The CLI binary is resolved in this order:
$DEVIN_CLI~/.local/bin/devin, Homebrew,/usr/local/bin/devin- Devin.app's bundled
devinbinary which devin
Install
From git:
pi install git:github.com/kashyab12/pi-devin
From npm:
pi install npm:pi-devin
Version 0.2.0 requires Pi 0.86+ and Node 22.19+. It restores system instructions and tools on the current Pi transcript format and sends system instructions through Devin's dedicated prompt field. Version 0.1.2 predates Pi 0.86 support.
pi-devin-local is a separate npm package maintained in the mizorewww/pi-devin fork. Changes merged here do not update that package. Install only one: both packages register the devin provider, so their registrations can overwrite each other.
Local checkout:
pi install /Users/kashyab/pi-devin
Restart Pi or run /reload.
Usage
/login devin
/model devin/claude-opus-5-high
/model devin/claude-5-fable-high
/model devin/gpt-5-6-sol-high
/login devin runs devin auth login if ~/.local/share/devin/credentials.toml is missing. If you already signed in through the Devin CLI or Devin Desktop, that file is reused.
Commands:
/devin-status— CLI path, version, auth/devin-refresh— reloaddevin models list --format json
What this is / is not
| This package | Not this package |
|---|---|
| Pi is the agent | Devin taking over the session |
| Devin CLI for auth + catalog | Fake Windsurf OAuth paste flow |
| Live CLI families (Opus 5, Fable 5, Sol, …) | Hardcoded 11-model cloud allowlist |
| Completions streamed into Pi tools | An editor host for Devin |
Publish
This is a standard Pi package (keywords: ["pi-package"] + pi.extensions). After you push to npm with that keyword, it can show up on pi.dev/packages.
License
MIT. Unofficial. Not affiliated with Cognition.